Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

FedEx - Web Services v9


greasemonkey

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

Link to comment
Share on other sites

  • 7 months later...

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

Link to comment
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.

Link to comment
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

Link to comment
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.

Link to comment
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

Link to comment
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.

Link to comment
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

Link to comment
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.

Link to comment
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>

 

Link to comment
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

Link to comment
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.

Link to comment
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

Link to comment
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.

Link to comment
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

Link to comment
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

Link to comment
Share on other sites

  • 3 weeks later...

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;

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...