Alex Rivera | Logout

Issues using a Fedex Webservice via WSDL/SOAP

Asked 2010-01-06T14:46:15.010
10

I downloaded the sample code to request a rate from fedex's website... i placed the WSDL file in the proper location, I have my acct number, password, meter number, and key. When I run the script I get this error:

Error in processing transaction.
ERROR
prof
1000
Authentication Failed

The script they give is as follows, and yes i do actually replace the XXX and YYY everywhere it says.:

<?php

// Copyright 2009, FedEx Corporation. All rights reserved.
// Version 7.0.0

require_once('fedex-common.php5');

$newline = "<br />";
//The WSDL is not included with the sample code.
//Please include and reference in $path_to_wsdl variable.
$path_to_wsdl = "RateService_v7.wsdl";

ini_set("soap.wsdl_cache_enabled", "0");

$client = new SoapClient($path_to_wsdl, array('trace' => 1)); // Refer to http://us3.php.net/manual/en/ref.soap.php for more information

$request['WebAuthenticationDetail'] = array('UserCredential' =>
                                      array('Key' => 'XXX', 'Password' => 'YYY')); // Replace 'XXX' and 'YYY' with FedEx provided credentials 
$request['ClientDetail'] = array('AccountNumber' => 'XXX', 'MeterNumber' => 'YYY');// Replace 'XXX' with your account and meter number
$request['TransactionDetail'] = array('CustomerTransactionId' => ' *** Rate Request v7 using PHP ***');
$request['Version'] = array('ServiceId' => 'crs', 'Major' => '7', 'Intermediate' => '0', 'Minor' => '0');
$request['ReturnTransitAndCommit'] = true;
$request['RequestedShipment']['DropoffType'] = 'REGULAR_PICKUP'; // valid values REGULAR_PICKUP, REQUEST_COURIER, ...
$request['RequestedShipment']['ShipTimestamp'] = date('c');
$request['RequestedShipment']['ServiceType'] = 'FEDEX_GROUND'; // valid values STANDARD_OVERNIGHT, PRIORITY_OVERNIGHT, FEDEX_GROUND, ...
$request['RequestedShipment']['PackagingType'] = 'YOUR_PACKAGING'; // valid values FEDEX_BOX, FEDEX_PAK,
Edit
Report

2 Answers

7

Agree with Aditya Kumar, or check in your wsdl file at bottom. there is a code

<s1:address location="https://wsbeta.fedex.com:443/web-services/ship"/>

change it to

<s1:address location="https://ws.fedex.com:443/web-services/ship"/>
answered 2012-10-31T13:50:28.793
1

Edit fedex-common.php5 file replace 'XXX' with your info in the following params

if($var == 'shipaccount') Return 'YOUR TEST ACCOUNT NUMBER HERE'; 
if($var == 'billaccount') Return 'YOUR TEST ACCOUNT NUMBER HERE';
if($var == 'meter') Return 'YOUR TEST METER NUMBER HERE';
if($var == 'key') Return 'YOUR TEST KEY HERE';
if($var == 'password') Return 'YOUR TEST PASSWORD HERE';

Hope this helps someone.

answered 2012-02-18T12:25:08.263

Your Answer