peterdlv Posted October 2, 2013 Share Posted October 2, 2013 I will add that I have changed to production from reading a earlier qoute and I do get the same error. I downloaded the WSDL from FEDEX and it is at version 14 so I am not sure it is just a matter of updating the wsdl or not Stop using development credentials and use the real credentials. The mod wont work with development credentials unless you make edits and changes to the WSDL. Quote Link to comment Share on other sites More sharing options...
peterdlv Posted October 5, 2013 Share Posted October 5, 2013 So I have been spending days attempting to get this module up and running and for some reason the v9 wsdl kept failing on a unknown address. I have loaded version 14 now to get past the wsdl validation errros for the data returned back from fed ex. Now here is what I get Fatal error: Uncaught SoapFault exception: [sOAP-ENV:Server] Fault in /includes/modules/shipping/fedexwebservices.php:262 Stack trace: #0 /includes/modules/shipping/fedexwebservices.php(262): SoapClient->__call('getRates', Array) #1 /includes/modules/shipping/fedexwebservices.php(262): SoapClient->getRates(Array) #2 /includes/classes/shipping.php(81): fedexwebservices->quote('') #3 /checkout_shipping.php(146): shipping->quote() #4 {main} thrown in /includes/modules/shipping/fedexwebservices.php on line 262 Im not sure where to go now Quote Link to comment Share on other sites More sharing options...
kieran_mullen Posted October 24, 2013 Share Posted October 24, 2013 FedEx module is working fine however I have a couple of suggestions. Why not in the config area put a link back to this thread and/or the module download AND more importantly put the version number in it so it is easy to know? Also is there a way to display Estimated Delivery Dates? Quote Link to comment Share on other sites More sharing options...
cpelaez Posted November 26, 2013 Share Posted November 26, 2013 Does this module exist in Spanish? Quote Link to comment Share on other sites More sharing options...
cpelaez Posted November 26, 2013 Share Posted November 26, 2013 Did you run the SQL file on your database? The error says the database field is missing What do you mean with "run the SQL file on your database?" Quote Link to comment Share on other sites More sharing options...
ozEworks Posted November 26, 2013 Share Posted November 26, 2013 @@cpelaez It means there is a SQL file containing SQL commands that you need to run. You would go into a tool like phpmyadmin and choose the SQL option, paste the code into the window and press GO. Quote Link to comment Share on other sites More sharing options...
ozEworks Posted November 26, 2013 Share Posted November 26, 2013 FedEx module is working fine however I have a couple of suggestions. Why not in the config area put a link back to this thread and/or the module download AND more importantly put the version number in it so it is easy to know? Also is there a way to display Estimated Delivery Dates? Feel free to update the Add On with your recommendations. EDD is a good question and you would need to read the FedEx developer documentation to see if their API returns EDD. I am also looking at that right now. Quote Link to comment Share on other sites More sharing options...
cpelaez Posted December 6, 2013 Share Posted December 6, 2013 Can this module be used outside US? FedEx Chile says that there is no way to configure the Shipper. Any recommendations? Quote Link to comment Share on other sites More sharing options...
cpelaez Posted December 6, 2013 Share Posted December 6, 2013 (edited) Can this module be used outside US? FedEx Chile says that there is no way to configure the Shipper. Any recommendations? I mean the shipper country (other than US). Edited December 6, 2013 by cpelaez Quote Link to comment Share on other sites More sharing options...
cpelaez Posted December 6, 2013 Share Posted December 6, 2013 @@greasemonkey can you provide with some support on this module? Quote Link to comment Share on other sites More sharing options...
kieran_mullen Posted December 16, 2013 Share Posted December 16, 2013 How can we get this module to not count items with zero weight (free shipping)? Quote Link to comment Share on other sites More sharing options...
kieran_mullen Posted December 16, 2013 Share Posted December 16, 2013 How can we get this module to not count items with zero weight (free shipping)? Quote Link to comment Share on other sites More sharing options...
barvic Posted March 7, 2014 Share Posted March 7, 2014 I have installed this module twice and when enabling it I get: Warning: require_once(/home/xxx/xxx.com/catalogincludes/library/fedex-common.php5) [function.require-once]: failed to open stream: No such file or directory in /home/xxx/xxx.com/catalog/includes/modules/shipping/fedexwebservices.php on line 67 Fatal error: require_once() [function.require]: Failed opening required '/home/xxx/xxx.com/catalogincludes/library/fedex-common.php5' (include_path='.:/usr/local/lib/php:/usr/local/php5/lib/pear') in /home/xxx/xxx.com/catalog/includes/modules/shipping/fedexwebservices.php on line67 Any help is appreciated. Cheers Quote Link to comment Share on other sites More sharing options...
Roaddoctor Posted March 7, 2014 Share Posted March 7, 2014 for this you need to upload the file your server. .../library/fedex-common.php5 (/home/xxx/xxx.com/catalog / includes/library/fedex-common.php5 For this it appears you do not have SOAP installed. Run the soap_test.php, per the instructions. '/home/xxx/xxx.com/catalog / includes/library/fedex-common.php5' (include_path='.:/usr/local/lib/php:/usr/local/php5/lib/pear') Quote -Dave Link to comment Share on other sites More sharing options...
shodnett Posted March 14, 2014 Share Posted March 14, 2014 Hi, can anyone help me debug. I'm going round in circles trying to avoid getting the error message: Please enter a ZIP Code to obtain your shipping quote. Or possibly: If no rate is shown, the heavy weight of the item(s) in your Shopping Cart suggests a Request for Freight Quote, rather than FedEx Ground service, is recommended. but nothing I do helps. The weight of the item to purchase is 2kg, the customers zip code is in, the address of the sender matches the FedEx account address exactly, the meter, key, password and account number are all correct, I've gone over and over the installation a million times and it's all very straightforward and I'm following it to the letter, but still nothing. I'm getting desperate. I've contacted FedEx and they've asked to see my XML request. I tried to print to screen the request and individual array elements in the fedexwebservices.php file that should result on the checkout_shipping.php page but nothing displays although it says that the array elements count is 6. Can anyone at all help with this one or at least help me with how to view the XML request that is going to FedEx so I can check it? Quote Link to comment Share on other sites More sharing options...
Roaddoctor Posted March 14, 2014 Share Posted March 14, 2014 Questions. What version of oscommerce? Do you have UPS XML installed? Quote -Dave Link to comment Share on other sites More sharing options...
shodnett Posted March 14, 2014 Share Posted March 14, 2014 (edited) In case anyone has had the same problem as the above... I managed to print the XML to my page using echo printRequestResponse($client); on line 266 of the fedexwebservices.php file. I then sent that to FedEx and this was their response: this is a UK domestic shipment that you are rating. Only tracking and POD (proof of delivery) are supported in webservices for intra UK shipments. The account number also needs to be setup for UK domestic service. So if you're based anywhere outside the US and you're getting this problem then this might be your issue. Edited March 14, 2014 by shodnett Quote Link to comment Share on other sites More sharing options...
shodnett Posted March 14, 2014 Share Posted March 14, 2014 ok, I tried it now with a US address and still no joy so the above is clearly not the only reason. FedEx analysed the XML and said that no service type was supplied. The XML is what OSC generated from this "FedEx - Web Services v9" module installed so I'm not sure why. I'm using OSC version "oscommerce-2.3.3.4". I don't have the UPS shipping module installed if that's what you meant? Any ideas? Quote Link to comment Share on other sites More sharing options...
Roaddoctor Posted March 15, 2014 Share Posted March 15, 2014 @@shodnett This may sound odd, Start by adding the UPS XML contribution's SQL to your database. It will cause no harm and will add a few entries that are referenced within the fedex script. Run this ALTER TABLE products ADD products_length DECIMAL(6,2) DEFAULT '12' NOT NULL, ADD products_width DECIMAL(6,2) DEFAULT '12' NOT NULL, ADD products_height DECIMAL(6,2) DEFAULT '12' NOT NULL, ADD products_ready_to_ship INT(1) DEFAULT '0' NOT NULL; DROP TABLE IF EXISTS packaging; CREATE TABLE packaging ( package_id int NOT NULL auto_increment, package_name varchar(64) NOT NULL, package_description varchar(255) NOT NULL, package_length DECIMAL(6,2) default '5' NOT NULL, package_width DECIMAL(6,2) default '5' NOT NULL, package_height DECIMAL(6,2) default '5' NOT NULL, package_empty_weight DECIMAL(6,2) DEFAULT '0' NOT NULL, package_max_weight DECIMAL(6,2) DEFAULT '50' NOT NULL, package_cost int(5) NOT NULL, PRIMARY KEY (package_id) ); Also, look for these lines in the fedex file if($ShipmentRateDetail->ShipmentRateDetail->RateType=='PAYOR_LIST_PACKAGE') // if($ShipmentRateDetail->ShipmentRateDetail->RateType==('PAYOR_LIST_PACKAGE' || 'PAYOR_LIST_SHIPMENT')) // try this if having international quoting errors and switch around like // if($ShipmentRateDetail->ShipmentRateDetail->RateType=='PAYOR_LIST_PACKAGE') if($ShipmentRateDetail->ShipmentRateDetail->RateType==('PAYOR_LIST_PACKAGE' || 'PAYOR_LIST_SHIPMENT')) // try this if having international quoting errors See if either helps and post back. Also make sure FedEx Ground is enabled, and then any others you wan't to show. Experiment with Enable Ready to Ship off and on in admin too. I just set up a brand new unmodified 2.3.3.4 shop last week and it's working perfectly for me. Quote -Dave Link to comment Share on other sites More sharing options...
Roaddoctor Posted March 15, 2014 Share Posted March 15, 2014 I just realized/noticed... 2.3.3.4 is 100% UTF8 it may be wise to remove all instances of utf8_encode from the fedexwebservices file. I just did the same with no negative consequence so far. It might help! Thanks to john w for pointing out that using utf8_encode on a site already in utf8 can cause corruption. Quote -Dave Link to comment Share on other sites More sharing options...
shodnett Posted March 15, 2014 Share Posted March 15, 2014 Thanks to both of you for your suggestions. I've tried both sets of changes but sadly to no avail. It's interesting that no ServiceType is sent in the default XML structure that is set up in the module and when I spoke to FedEx they asked me to include that and try again which I did but which instantly returned an error response for FEDEX_GROUND or any Service Types I used. I didn't think I needed a ServiceType as I'm asking for all services available to be returned but once one is added it no longer returns a warning but an error. Quote Link to comment Share on other sites More sharing options...
shodnett Posted March 16, 2014 Share Posted March 16, 2014 Thought this might help too. This is the XML code which is sent to FedEx prepared by the fedexwebservices.php file. Just for the purposes of posting it on this forum though I've removed the sensitive data and put descriptions of the text in those fields. Can anyone see anything obvious that's missing or wrong? I know the ServiceType field is missing but the issue on that is as explained above: <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://fedex.com/ws/rate/v9"> <SOAP-ENV:Body> <ns1:RateRequest> <ns1:WebAuthenticationDetail> <ns1:UserCredential> <ns1:Key>Production Key supplied by Fedex</ns1:Key> <ns1:Password>The password supplied in the email you receive from Fedex when you request the production meter number</ns1:Password> </ns1:UserCredential> </ns1:WebAuthenticationDetail> <ns1:ClientDetail> <ns1:AccountNumber>My clients Fedex account number (numbers only)</ns1:AccountNumber> <ns1:MeterNumber>The production Meter number supplied by Fedex (numbers only)</ns1:MeterNumber> </ns1:ClientDetail> <ns1:TransactionDetail> <ns1:CustomerTransactionId> *** Rate Request v9 using PHP ***</ns1:CustomerTransactionId> </ns1:TransactionDetail> <ns1:Version> <ns1:ServiceId>crs</ns1:ServiceId> <ns1:Major>9</ns1:Major> <ns1:Intermediate>0</ns1:Intermediate> <ns1:Minor>0</ns1:Minor> </ns1:Version> <ns1:ReturnTransitAndCommit>true</ns1:ReturnTransitAndCommit> <ns1:RequestedShipment> <ns1:ShipTimestamp>2014-03-15T18:23:33+00:00</ns1:ShipTimestamp> <ns1:DropoffType>REGULAR_PICKUP</ns1:DropoffType> <ns1:PackagingType>YOUR_PACKAGING</ns1:PackagingType> <ns1:TotalInsuredValue> <ns1:Currency>GBP</ns1:Currency> </ns1:TotalInsuredValue> <ns1:Shipper> <ns1:Address> <ns1:StreetLines>My clients first line of his address exactly as it appears in his Fedex account</ns1:StreetLines> <ns1:StreetLines> </ns1:StreetLines> <ns1:City>My Clients city name exactly as it appears in his Fedex account</ns1:City> <ns1:StateOrProvinceCode> </ns1:StateOrProvinceCode> <ns1:PostalCode>My Clients postcode exactly as it appears in his Fedex account</ns1:PostalCode> <ns1:CountryCode>GB</ns1:CountryCode> </ns1:Address> </ns1:Shipper> <ns1:Recipient> <ns1:Address> <ns1:StreetLines>Send to address line 1</ns1:StreetLines> <ns1:StreetLines>Send to address line 2</ns1:StreetLines> <ns1:City>City</ns1:City> <ns1:PostalCode>US Postcode</ns1:PostalCode> <ns1:CountryCode>US</ns1:CountryCode> <ns1:Residential>true</ns1:Residential> </ns1:Address> </ns1:Recipient> <ns1:ShippingChargesPayment> <ns1:PaymentType>SENDER</ns1:PaymentType> <ns1:Payor> <ns1:AccountNumber>My Clients account number at Fedex (just numbers)</ns1:AccountNumber> <ns1:CountryCode>GB</ns1:CountryCode> </ns1:Payor> </ns1:ShippingChargesPayment> <ns1:RateRequestTypes>ACCOUNT</ns1:RateRequestTypes> <ns1:PackageCount>1</ns1:PackageCount> <ns1:PackageDetail>INDIVIDUAL_PACKAGES</ns1:PackageDetail> <ns1:RequestedPackageLineItems> <ns1:Weight> <ns1:Units>KG</ns1:Units> <ns1:Value>2</ns1:Value> </ns1:Weight> </ns1:RequestedPackageLineItems> </ns1:RequestedShipment> </ns1:RateRequest> </SOAP-ENV:Body> </SOAP-ENV:Envelope> Quote Link to comment Share on other sites More sharing options...
Roaddoctor Posted March 16, 2014 Share Posted March 16, 2014 could be a non-US thing. Your missing a state, your in KG rather than lbs... those might be the problem. The module was never tested for non usa use. The XML I send has LIST, not ACCOUNT, it pulls both rate sets but displays only whats chosen in admin,. Also note there is no destination post code listed... several issues in there. My suggestion, If you can set up for USA to USA service - get it working.... then tweak to GB... The response you receive will quite often contain error messages. Anything on the reply? Quote -Dave Link to comment Share on other sites More sharing options...
shodnett Posted March 17, 2014 Share Posted March 17, 2014 ok, I've found the issue, partly as a result of what you said and partly from a response from FedEx. So, thank you so much for your support. The reason is exactly as you said that the 'StateOrProvinceCode' => '', line of code which is in there for the shippers address is not there for the recipient's address in the fedexwebservices.php file. I'm guessing because it's mainly set up for use within the US then the postal code is sufficient without needing the state code too? I added that line in for the recipients address and populated it with the state code then I removed that state code from the postal code field (probably my misunderstanding in thinking that US postcodes are always prefixed with the state code but actually that's not true is it? The postcode for you guys is just numbers, is that right?). Anyway, with those tweaks it kicked straight in to life! Thank you so much for your help. Quote Link to comment Share on other sites More sharing options...
shodnett Posted March 17, 2014 Share Posted March 17, 2014 One other quick note for anyone else not based in the US, make sure you check that your SHIPPING_ORIGIN_COUNTRY entry in the configuration table in the database is set to the correct country code as mine was set to US which I think is the default and that was having an impact too before I realised. Hope this helps anyone else in the same situation :-) Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.