UPS API will not rate, ship or validate addresses in SendSuite Live

Learn how to resolve an issue where the UPS API fails to rate, ship or validate addresses in SendSuite Live.
Products affected: SendSuite® Live

Issue

UPS has communicated that they are in the process of moving security changes from their test environment into their production systems. The changes are scheduled to take effect on July 31, 2016. The steps detailed below here necessary to stay compliant with UPS API.

These changes include the following:
  • Updated URI endpoints, which will now use UPS onlinetools servers, i.e. onlinetools.ups.com
  • Updated security protocol to use TLS 1.2 for all requests

Cause

This is caused by a UPS security update.

Resolution

To upgrade your product, download and install the 7.13.00 patch.

If you do not want to upgrade to patch 7.13.00, then you can upgrade the required URIs and prepare your workstation/server to work with TLS 1.2. The exact steps required to stay compliant with the UPS API depend on the product version you are currently on:

Patch 7.13.00 or later

No action is needed. All upgrades are included.

Patch 7.9.00 – 7.12.00
  1. URI endpoints need to be updated either manually (see Manually Updating UPS API Endpoints below), or using the customized utility.
Patch 7.8.0 or below

There is no workaround for patch version 7.8.0 or below. The software will need to be upgraded to at least patch 7.9.0, and follow the required patch steps.
 

Using the customized utility

You can use a customized utility that will detect the product version and update the URIs accordingly. Prior to running the utility, we recommend familiarizing yourself with the manual process that the utility replicates.
To run the utility:
  1. Download the utility.
  2. Run the utility as an administrator, and ensure that it completes without any errors.
If the utility fails, follow the manual steps detailed below under Manually Updating UPS API Endpoints. Make sure you follow the steps required for the patch you have currently installed on your workstation/server.
 

Manually updating UPS API Endpoints

Make sure you follow the steps required for the patch you have currently installed on your workstation/server.

The URI endpoints will be defined in a number of places depending on your product version. Make sure you have successfully identified all places that require appending, or use our customized utility that will detect the product version, pinpoint all the places, and update the URIs accordingly.

Version 6.7 or later

Product versions greater than 6.7 have these values stored within the database only.
  1. Use the following SQL to update the database:
 UPDATE [Settings] SET [Value]=N'https://onlinetools.ups.com/ups.app/xml' WHERE [ID]=82 UPDATE [Settings] SET [Value]=N'https://onlinetools.ups.com/webservices/LandedCost' WHERE [ID]=84 UPDATE [Carrier Functions] SET Uri = Replace(Uri, 'www.ups.com', 'onlinetools.ups.com') where CarrierID = 3
 

Using UPS API without these upgrades

If you make a request that is not compliant with the latest TLS 1.2 security protocol, the request will fail with the following permanent error:
 
Exception:
System.Net.WebException: The request was aborted: Could not create SSL/TLS secure channel.
   at System.Net.HttpWebRequest.GetResponse()
   at Shipments_Server.XmlPoster.Post(String requestXml, Uri uri, String postType, Boolean useCredentials, Boolean useProxyIfConfigured, Int32 timeOutInSeconds)

TLS 1.2 Server/Workstation prerequisites

TLS 1.2 is only supported on the operating systems 2008 R2 SP1 and Windows 7 SP1 or greater.

UPDATED: August 14, 2021