Jump to content
greasemonkey

FedEx - Web Services v9

Recommended Posts

A a mistake I seen here:

 

For defining the shipping to type (commercial or residential) I have added a new field to the customer table called address_type.

 

 

 

should have stated :

 

For defining the shipping to type (commercial or residential) I have added a new field to the address_book table called address_type.

 

The address book needs this as the customer may have multiple ship to addresses which means each address should be checked. 

 

Cheers

Peter


Peter McGrath

-----------------------------

See my Profile (click here) for more information and to contact me for professional osCommerce support that includes SEO development, custom development and security implementation

Share this post


Link to post
Share on other sites

As of this morning, and out of the blue with no recent changes on my end, As soon as a customer reaches checkout_shipping.php, they get HTTP 500 error.

If I disable the FedEx Webservice module, everything is fine. This is happening on 2 different sites, and our host says all is ok on their end.

Also, the ship-in-cart tool does not cause http 500, but just spins the spinner without returned quotes.

What has FedEx Done?  How do I fix it?  Help!

Can anyone else confirm if they are having the same issue?


-Dave

Share this post


Link to post
Share on other sites

I just checked my site and I'm getting normal quotes quickly.  

If you are getting a 500 level error on your site, then look at your error log for more detail.  In the past whenever I've had an error from Fedex it just doesn't return a quote.  I've never had a 500 error on the site from it.

You might want to verify all your files to make sure none have become corrupted or such.   


I'm not really a dog.

Share this post


Link to post
Share on other sites

I got page not found when I clicked your link.  What does it say? 


I'm not really a dog.

Share this post


Link to post
Share on other sites

August 2017 – Action Required to Update FedEx Web Services WSDL URLs

 

FedEx is implementing the best practices in the new platform for FedEx Web Services WSDLs. The new platform follows a servlet-based approach which requires customers to use standard URLs to route the requests correctly.

If you are currently using undefined/non-standard URLs (SOAP) for the services, please check your URLs prior to January 2018 to ensure your services with FedEx continue and will not be interrupted. See below the corresponding URLs for the impacted FedEx Web Services WSDLs.

Note: The following URLs are not intended to be opened in a browser. These are endpoints to be used in a Web Services based transaction.

Name of Service

Corresponding URL

AddressValidationService

https://ws.fedex.com:443/web-services/addressvalidation

AsyncService

https://ws.fedex.com:443/web-services/async

CloseService

https://ws.fedex.com:443/web-services/close

CountryService

https://ws.fedex.com:443/web-services/cnty

DGDataService

https://ws.fedex.com:443/web-services/dgds

DGLDService

https://ws.fedex.com:443/web-services/dgld

InFlightShipmentService

https://ws.fedex.com:443/web-services/ifss

LocationsService

https://ws.fedex.com:443/web-services/locs

OpenShip

https://ws.fedex.com:443/web-services/openship

PickupService

https://ws.fedex.com:443/web-services/pickup

RateService

https://ws.fedex.com:443/web-services/rate

ShipService

https://ws.fedex.com:443/web-services/ship

TrackService

https://ws.fedex.com:443/web-services/track

UploadDocumentService

https://ws.fedex.com:443/web-services/uploaddocument

ValidationAvailabilityAndCommitmentService

https://ws.fedex.com:443/web-services/vacs


What you should do:
Please ensure the appropriate team members are aware of this important update. If you have questions or need technical assistance:

Thank you for your time and attention. We appreciate your business.

The FedEx Web Integration Solutions Team


-Dave

Share this post


Link to post
Share on other sites

That announcement says Jan 2018.  There's a gateway at the end of Wsdl9, but mine is working fine, so I don't think that is it.  Maybe you are having a connectivity issiue to Fedex but my server is in Houston.  I know you're in TX, but I don't know where your server is.  Maybe call fedex and ask if they're having problems.  That happened a few years ago with A.net for about an hour when a line was cut.


I'm not really a dog.

Share this post


Link to post
Share on other sites

My test site on my local machine is working fine with Fedex too.  I'm using WSDL9 on both sites.


I'm not really a dog.

Share this post


Link to post
Share on other sites

The fedex site seems to be having problems though.  Redirection errors, 404s and such.


I'm not really a dog.

Share this post


Link to post
Share on other sites

John, is this what's in your wsdl9?

 

  <service name="RateService">
    <port name="RateServicePort" binding="ns:RateServiceSoapBinding">
      <s1:address location="https://gateway.fedex.com/web-services/"/>
    </port>
  </service>

Thanks!

23 minutes ago, John W said:

I just checked my site and I'm getting normal quotes quickly.  

If you are getting a 500 level error on your site, then look at your error log for more detail.  In the past whenever I've had an error from Fedex it just doesn't return a quote.  I've never had a 500 error on the site from it.

You might want to verify all your files to make sure none have become corrupted or such.   

The problems affecting 2 sites, identically, so doubt its corrupted files... Hopefully a temporary issue at FedEx end... calling them now.

If I disable the FedEx module, everything is perfect - so its something odd


-Dave

Share this post


Link to post
Share on other sites

David, yes that is what i have.  I haven't changed anything.  However, the fedex site is having problems right now if you try to go to different pages.  I checked their twitter account and they had issues yesterday, but not showing anythign today.  You should should call their technical support number.  I'm not having any issues at all with the standard WSDL9.


I'm not really a dog.

Share this post


Link to post
Share on other sites

FedEx says all normal on their end - but they are not receiving my quotes request...

talking to host now - maybe SOAP is busted.... scratching my head


-Dave

Share this post


Link to post
Share on other sites

Looks like SOAP updated on the server last night and broke the interwebs - no connectivity causing http 500. Host has contacted cPanel and is "working on it"... lovely

BAD SOAP:
Name : ea-php56-php-soap
Version : 5.6.31
Release : 2.2.2.cpanel
Architecture: x86_64
Install Date: Wed Aug 9 05:51:44 2017

PHP Fatal error: Uncaught SoapFault exception: [HTTP] Could not connect to host in /includes/modules/shipping/fedexwebservices.php:291

stack trace:
#0 [internal function]: SoapClient->__doRequest('
version="...', 'https://gateway...', 'getRates', 1, 0)
#1 /includes/modules/shipping/fedexwebservices.php(291): SoapClient->__call('getRates', Array)
#2 /includes/modules/shipping/fedexwebservices.php(291): SoapClient->getRates(Array)
#3 /includes/classes/shipping.php(105): fedexwebservices->quote('')
#4 /shipping_quotes.php(167): shipping->quote()
#5 {main} thrown in /includes/modules/shipping/fedexwebservices.php on line 291

 

John, thanks for the replies!

Edited by Roaddoctor

-Dave

Share this post


Link to post
Share on other sites

Hopefully, it's just corrupted and can be reinstalled.  I'm running that same version on WHm/Cpanel 64 installed on 7-25.  I also checked the cpanel forums because there's normally a lot of posts when something is broken and i didnn't find anything.

I know how frustrating this is and hope it's resolved quickly.


I'm not really a dog.

Share this post


Link to post
Share on other sites

@Roaddoctor @John W   I'm using wsdl v9 as well.... no problems here.... the address (I haven't modified it... as I recall) is:

  <service name="RateService">
    <port name="RateServicePort" binding="ns:RateServiceSoapBinding">
      <s1:address location="https://gateway.fedex.com/web-services/"/>
    </port>
  </service>

 

Share this post


Link to post
Share on other sites

Per cPanel-

It appeared that only ea-libcurl package has been broken during latest EA upgrade. Here's reply from cpanel:
-----
Further investigating this the issue is occurring due to internal case EA-6671. The latest update of libcurl which soap uses is what's causing the issue.
Unfortunately I do not have an ETA as to when this will be corrected but once it has it'll be reflected in our change log here:

https://documentation.cpanel.net/display/EA4/EasyApache+4+Change+Log
Our developers have made this case a high priority and I expect this to be implemented soon in our product.
---

My host reversed the update and the sites worked normal again. They added ea-libcurl to the yum exclude until resolved. Lost a days business over this too... #$% :)

Thanks all for the help!


-Dave

Share this post


Link to post
Share on other sites

@Roaddoctor, thanks for sharing this info.  It had me worried that many of us will be facing it, but i just searched my Cpanel update log and I have that curl update from yesterday morning too.  Curl is also needed for many of the payment modules, so I wonder if anyone else is having effects from that upgrade.

I know how stressful these things are, especially when they are out of your control.  I'm glad they were able to get you up and running again.


I'm not really a dog.

Share this post


Link to post
Share on other sites

For this type of error....

Is there some safety net coding that could be implemented that would catch the SoapFault exception and prevent the http 500? Way over my head, but getting http 500 really throws customers for a loop and they are gone...

Thanks for any ideas!


-Dave

Share this post


Link to post
Share on other sites

There is a soapfault error that can be coded in, and I think the sample code from Fedex has some code in it. 

@Roaddoctor

I found some info on the Cpanel forums involbing libcurl problems on servers yesterday and there are some reporting problems wiht payment modules.  One question for you.  Do you know if your server accepts SSLv3?  You can run your domain at https://www.ssllabs.com/ssltest/ and it will show you.  From some of the threads I've read, that might be the problem.  I only use TLS 1.0 and above, mainly using TLS1.2.  SSLv3 should be dissabled.


I'm not really a dog.

Share this post


Link to post
Share on other sites
1 hour ago, John W said:

There is a soapfault error that can be coded in, and I think the sample code from Fedex has some code in it. 

@Roaddoctor

I found some info on the Cpanel forums involbing libcurl problems on servers yesterday and there are some reporting problems wiht payment modules.  One question for you.  Do you know if your server accepts SSLv3?  You can run your domain at https://www.ssllabs.com/ssltest/ and it will show you.  From some of the threads I've read, that might be the problem.  I only use TLS 1.0 and above, mainly using TLS1.2.  SSLv3 should be dissabled.

I get a nice A- at ssl labs. SSLv3 not enabled of course. Today my host swapped my php handlers from DSO to SuPHP as the problem only exists for DSO. All seems stable for the moment. I'll dig into that FedEx sample code  - thanks John.



 


-Dave

Share this post


Link to post
Share on other sites
2 hours ago, Roaddoctor said:

For this type of error....

Is there some safety net coding that could be implemented that would catch the SoapFault exception and prevent the http 500? Way over my head, but getting http 500 really throws customers for a loop and they are gone...

Thanks for any ideas!

Are you able to see what error is being logged that causes the http 500? Maybe an exception can be caught that automatically disables the module for that page request can be added to the code.


:heart:, osCommerce

Share this post


Link to post
Share on other sites

I'm getting this error when click on checkout button:

Quote

Fatal error: Uncaught Error: Cannot use object of type stdClass as array in /public_html/site/includes/modules/shipping/fedexwebservices.php:318 Stack trace: #0 /public_html/site/includes/classes/shipping.php(81): fedexwebservices->quote('') #1 /public_html/site/checkout_shipping.php(185): shipping->quote() #2 {main} thrown in /public_html/site/includes/modules/shipping/fedexwebservices.php on line 318

Line 318 in fedexwebservices.php:

$cost = ($rateReply->RatedShipmentDetails[0]->ShipmentRateDetail->TotalNetCharge->Amount)/MODULE_SHIPPING_FEDEX_WEB_SERVICES_CURRENCY;

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×