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:
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
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:
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.
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:
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.
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
- URI endpoints need to be updated either manually (see Manually Updating UPS API Endpoints below), or using the customized utility.
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:
- Download the utility.
- Run the utility as an administrator, and ensure that it completes without any errors.
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.
- 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)
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