AbleCommerce Forums
»
AbleCommerce
»
AbleCommerce Gold and older versions only
»
Question Regarding Site Migration + Encryption Key + UPS Shipping Information
Rank: Member
Groups: Authorized User, Developers, Registered Joined: 11/2/2021(UTC) Posts: 13
|
Hello - About a month ago, I migrated an AC Gold R10 site to a new web server, but the database server remained the same. I somehow forgot to restore the encryption key, so I ended up manually re-adding the Payment settings for PayPal and everything seems to be working great since then. Today, the client requested we re-enable UPS 3-day shipping (it was set to Admins only) however it seems as though the UPS User/Key information gets stored in the encryption key and so I'm unable to use that service. 1) Tried deleting UPS as a carrier and re-adding, however, the page errors out when trying to open the License page at https://www.site.com/adm...viders/UPS/License.aspx. The error is: An error has occured at https://www.site.com/Adm...oviders/UPS/License.aspxException: Exception of type 'System.Web.HttpUnhandledException' was thrown.Stack Trace: at System.Web.UI.Page.HandleError(Exception e) at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) at System.Web.UI.Page.ProcessRequest() at System.Web.UI.Page.ProcessRequest(HttpContext context) at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step) at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) Inner Exception: The 'br' start tag on line 9 position 31 does not match the end tag of 'H2'. Line 10, position 3.Inner Exception Stack Trace: at System.Xml.XmlTextReaderImpl.Throw(Exception e) at System.Xml.XmlTextReaderImpl.ThrowTagMismatch(NodeData startTag) at System.Xml.XmlTextReaderImpl.ParseEndElement() at System.Xml.XmlTextReaderImpl.ParseElementContent() at System.Xml.XmlLoader.LoadNode(Boolean skipOverWhitespace) at System.Xml.XmlLoader.LoadDocSequence(XmlDocument parentDoc) at System.Xml.XmlDocument.Load(XmlReader reader) at System.Xml.XmlDocument.LoadXml(String xml) at CommerceBuilder.Shipping.Providers.UPS.UPS.SendRequestToProviderWithoutCredentials(XmlDocument request, String url) at CommerceBuilder.Shipping.Providers.UPS.UPS.GetAgreement(String countryCode, String languageCode) at CommerceBuilder.Shipping.Providers.UPS.UPS.GetAgreement() at AbleCommerce.Admin.Shipping.Providers._UPS.License.Page_Load(Object sender, EventArgs e) at System.EventHandler.Invoke(Object sender, EventArgs e) at System.Web.UI.Control.OnLoad(EventArgs e) at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) 2) When searching for this error, I see two forum posts relating to a hot patch for R9/R10 to fix a similar issue (http://forums.ablecommerce.com/viewtopic.php?t=19365), as well as an updated URL for UPS rates (http://forums.ablecommerce.com/viewtopic.php?t=19373). Both changes have been implemented and the error persists. I would figure, at the least, I could remove UPS and start from scratch, but this error is preventing that. 3) The old web server is online, so I used my hosts file to point back to it. I can see the UPS account information when I view the Carrier setup page, so that is good. I also have a backup (or can create a new one) of the encryption key on that server. Is it safe to then restore that encryption key to the new server? I haven't made any other payment/shipping related changes on the new box - simply restored what was already setup on the former server. We do capture payments immeidately from PayPal, but not sure if this restore would affect our ability to refund/adjust payments since the move. The only reason I'm considering a restore of the key is that the UPS setup page is erroring out and I need to get some new shipping services implemented. Thank you for any assistance you can provide. Greg
|
|
|
|
Rank: Advanced Member
Groups: Admin, Developers, Registered, HelpDesk, Authorized User Joined: 10/5/2018(UTC) Posts: 704
Thanks: 5 times Was thanked: 113 time(s) in 112 post(s)
|
Hi Greg, Quote:Is it safe to then restore that encryption key to the new server? Yes, you should be able to use the restored encryption key on a new web server.
|
|
|
|
Rank: Advanced Member
Groups: Admin, Developers, Registered, HelpDesk, Authorized User Joined: 10/5/2018(UTC) Posts: 704
Thanks: 5 times Was thanked: 113 time(s) in 112 post(s)
|
Hi Greg, On further inspection, we have found that the error you are getting is because of the outdated URL being used in the License Agreement page that appears on a new setup of UPS provider. In this case, an appropriate solution would be to use the encryption key backup to restore the config data for the UPS provider. It will skip the license agreement page and you would be able to visit the config page. Otherwise, you would have to update the URL in your GOLD R10 sourcecode. To fix this, please follow the steps: 1- Open file \IntegratedProviders\UPS\UPS.cs 2-Search for line # 265 Code:XmlDocument providerResponse = UPS.SendRequestToProviderWithoutCredentials(providerRequest, "https://www.ups.com/ups.app/xml/License");
3- Replace with Code:XmlDocument providerResponse = UPS.SendRequestToProviderWithoutCredentials(providerRequest, "https://onlinetools.ups.com/ups.app/xml/License");
|
|
|
|
Rank: Member
Groups: Authorized User, Developers, Registered Joined: 11/2/2021(UTC) Posts: 13
|
Thank you! We use the WSP and I don’t believe we have the full source code for this project. Is the file you referenced in the core source code?
|
|
|
|
Rank: Member
Groups: Authorized User, Developers, Registered Joined: 11/2/2021(UTC) Posts: 13
|
Also, if the core source code is required and I need to go the restore encryption key route, should I back up the current working version so I can restore if needed? The site is busy this time of year and I’m a bit worried about changing encryption having not done it.
|
|
|
|
Rank: Advanced Member
Groups: Admin, Developers, Registered, HelpDesk, Authorized User Joined: 10/5/2018(UTC) Posts: 704
Thanks: 5 times Was thanked: 113 time(s) in 112 post(s)
|
Quote: Is the file you referenced in the core source code? Yes, the file is referenced in the core source code. You will need to use the compiled DLL after the code change. Quote:should I back up the current working version so I can restore it if needed? Yes, it is good to take a backup of the working version. Hope it all goes well! Please let us know if there are any further issues!
|
|
|
|
Rank: Member
Groups: Authorized User, Developers Joined: 11/12/2018(UTC) Posts: 25
Thanks: 1 times Was thanked: 4 time(s) in 3 post(s)
|
If you've deleted UPS on the new server, there won't be any setup information to decrypt there now, even with the old key, correct? And if you restore the old key on the new system which has already been using a different key, won't that mess up the info encrypted with the new key? The text in the Restore Encryption Key section says "When moving an installation to a different server, you will need to restore your encryption key by providing the backup file below. If you have a newer encryption key already set, then the key currently being used will be replaced with the backup resulting in loss of data. Always use the latest key backup when performing a restore." EDIT: I'm a bit confused, because you said the database server stayed the same and you deleted UPS, but you also say when you go to the old web server you can still see the UPS info. Those two things seem to contradict each other. Edited by user Thursday, December 16, 2021 11:04:09 AM(UTC)
| Reason: Not specified
|
|
|
|
Rank: Advanced Member
Groups: System, Administrators, Developers, Registered, HelpDesk Joined: 10/29/2018(UTC) Posts: 472
Thanks: 4 times Was thanked: 34 time(s) in 33 post(s)
|
You can try to update the database directly with your UPS configuration by creating a new entry in the ac_ShipGateways table.
ShipGatewayId should be replaced with the actual Id, the config data is in the format below:
UPDATE ac_ShipGateways SETConfigData = 'UseDebugMode=False& UserId={VALUE}& Password={VALUE}& AccessKey={VALUE}& ShipperNumber={VALUE}& CustomerType=2& UseInsurance=False& UseTestMode=True& AccountActive=False& EnablePackageBreakup=True& MinPackageWeight=0.10& MaxPackageWeight=150.00& TestModeUrl=https%3a%2f%2fwwwcie.ups.com%2fups.app%2fxml%2f&LiveModeUrl=https%3a%2f%2fonlinetools.ups.com%2fups.app%2fxml%2f& TrackingUrl=http%3a%2f%2fwwwapps.ups.com%2fWebTracking%2fprocessInputRequest%3ftracknum%3d%7b0%7d%26AgreeToTermsAndConditions%3dyes& EnableAddressValidation=False& AddressServiceTestUrl=https%3a%2f%2fwwwcie.ups.com%2fups.app%2fxml%2fXAV&AddressServiceLiveUrl=https%3a%2f%2fonlinetools.ups.com%2fups.app%2fxml%2fXAV& EnableLabels=True' WHERE ShipGatewayId = 3
If you are not planning to upgrade, then purchasing the source code for Gold might be a good idea. That version is nearly 7 years old and has reached its end of life.
|
Thanks for your support!
Katie Secure eCommerce Software and Hosting |
|
|
|
Rank: Member
Groups: Authorized User, Developers Joined: 11/12/2018(UTC) Posts: 25
Thanks: 1 times Was thanked: 4 time(s) in 3 post(s)
|
Katie, that would only work if the OP is not using an encryption key on the new server, or removed encryption before updating, correct? EDIT: changed "inserting" to "updating". Edited by user Thursday, December 16, 2021 11:40:56 AM(UTC)
| Reason: Not specified
|
|
|
|
Rank: Advanced Member
Groups: Administrators, Developers, Registered, HelpDesk, Authorized User, Admin, System Joined: 10/11/2018(UTC) Posts: 110
Thanks: 19 times Was thanked: 18 time(s) in 18 post(s)
|
Quote:Katie, that would only work if the OP is not using an encryption key on the new server, or removed encryption before updating, correct? Yes, that is correct! Since he has missed to apply the encryption key on the new server, that is why the data isn't being decrypted. As a result, it failed to load the UPS shipping gateway config page due to outdated UPS License URL. When the query above is run to update the encrypted data to decrypted, it will load the config form where he can update the configurations from merchant admin.
|
|
|
|
Rank: Advanced Member
Groups: Administrators, Developers, Registered, HelpDesk, Authorized User, Admin, System Joined: 10/11/2018(UTC) Posts: 110
Thanks: 19 times Was thanked: 18 time(s) in 18 post(s)
|
Hi Greg, If you have already deleted the UPS gateway from the database, then you have to insert new gateway instead of updating. To do so, you have to execute the following query on your database: Code:
INSERT INTO ac_ShipGateways (StoreId, Name, ClassId, ConfigData, ReCrypt, Enabled)
VALUES (1, 'UPS OnLine® Tools', 'CommerceBuilder.Shipping.Providers.UPS.UPS, CommerceBuilder.UPS', 'UseDebugMode=True&UserId={VALUE}&Password={VALUE}&AccessKey={VALUE}&ShipperNumber={VALUE}&CustomerType=2&UseInsurance=False&UseTestMode=False&AccountActive=False&EnablePackageBreakup=True&MinPackageWeight=0.10&MaxPackageWeight=150.00&TestModeUrl=https%3a%2f%2fwwwcie.ups.com%2fups.app%2fxml%2f&LiveModeUrl=https%3a%2f%2fonlinetools.ups.com%2fups.app%2fxml%2f&TrackingUrl=http%3a%2f%2fwwwapps.ups.com%2fWebTracking%2fprocessInputRequest%3ftracknum%3d%7b0%7d%26AgreeToTermsAndConditions%3dyes&EnableAddressValidation=False&AddressServiceTestUrl=&AddressServiceLiveUrl=', 0, 1)
Make sure to replace the {VALUE} in the query with correct values for UserId, Password, AccessKey and ShipperNumber respectively. This will bypass license agreement page and you will be able to access the UPS configuration page in admin without any issues. Hope this helps! Let me know if you have any question(s). Thank you!
|
|
|
|
Rank: Advanced Member
Groups: System, Administrators, Developers, Registered, HelpDesk Joined: 10/29/2018(UTC) Posts: 472
Thanks: 4 times Was thanked: 34 time(s) in 33 post(s)
|
Hi Greg, If you are not planning to upgrade, then purchasing the source code for Gold might be a good idea. That version is nearly 7 years old and has reached its end of life. There could be future issues that you might run into and having the source would be very beneficial to you at this point. If this is something you're interested in, please use the contact form to make a request. https://www.ablecommerce.com/contactusWe will do our best to offer you a discounted price on the aging product. Thanks PS. Our new version does have a direct database upgrade path from Gold. |
Thanks for your support!
Katie Secure eCommerce Software and Hosting |
|
|
|
Rank: Member
Groups: Authorized User, Developers, Registered Joined: 11/2/2021(UTC) Posts: 13
|
Hi all -
Thank you very much for the assistance. Using the scripts provided, we're now back in business with UPS and I'll be working with our client to plan an upgrade for early next year so we can avoid issues like this. Happy Holidays!
Greg
|
|
|
|
Rank: Advanced Member
Groups: System, Administrators, Developers, Registered, HelpDesk Joined: 10/29/2018(UTC) Posts: 472
Thanks: 4 times Was thanked: 34 time(s) in 33 post(s)
|
Wonderful... Thank you for letting us know!
Merry Christmas and a Happy New Year! |
Thanks for your support!
Katie Secure eCommerce Software and Hosting |
|
|
|
AbleCommerce Forums
»
AbleCommerce
»
AbleCommerce Gold and older versions only
»
Question Regarding Site Migration + Encryption Key + UPS Shipping Information
Forum Jump
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.
Important Information:
The AbleCommerce Forums uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close