Jump to content

Fedex New Web Services WSDL and SOAP


devain

Recommended Posts

Hello Everyone

I am having issues with fexex's new soap and WSDL web services.  I am trying to get tracking results with their new service was wondering if I can get some help on this.  I am attaching the code, and the wsdl What am I doing wrong??

Here are two of the links that fedex gave me two are in the wsdl file and one I dont know what to do with and fedex was no help they did provide the following code which I am posting below it consists of three files the wsdl, a functions file for error and tracking and the track.php code which is suppose to be loaded via http

Track.php file

require_once('library/fedex-common.php5');
$newline = "<br />"; 
$path_to_wsdl = "wsdl/TrackService_v2.wsdl";
ini_set("soap.wsdl_cache_enabled", "0");
$client = new SoapClient($path_to_wsdl, array('trace' => 'all')); // Refer to http://us3.php.net/manual/en/ref.soap.php for more information
$request['WebAuthenticationDetail'] = array('UserCredential' =>array('Key' => 'Nu7mKVoi6CruG3BH', 'Password' => '2WTI0OChPx1U7yprVqjosFpM7')); // Replace 'XXX' and 'YYY' with FedEx provided credentials 
$request['ClientDetail'] = array('AccountNumber' => '510087542', 'MeterNumber' => '1220784');// Replace 'XXX' with your account and meter number
$request['TransactionDetail'] = array('CustomerTransactionId' => '*** Track Request v2 using PHP ***');
$request['Version'] = array('ServiceId' => 'trck', 'Major' => '2', 'Intermediate' => '0', 'Minor' => '0');
$request['PackageIdentifier'] = array('Value' => '963051995450', 'Type' => 'TRACKING_NUMBER_OR_DOORTAG');
$request['TransactionDetail'] = array('CustomerTransactionId' => '*** Track Request v2 using PHP ***');
$request['IncludeDetailedScans'] = 1;
try{
$response = $client ->track($request);
if ($response -> HighestSeverity != 'FAILURE' && $response -> HighestSeverity != 'ERROR')
{
print $response;
foreach ($response -> TrackDetails -> Events as $event)
{
if(is_array($response -> TrackDetails -> Events))
{             
echo $event -> Timestamp . ':  ';
echo $event -> EventDescription . ' - ';
echo $event -> Address -> City . ' ';
echo $event -> Address -> StateOrProvinceCode . $newline;
}
else
{
echo $location . $newline;
}
}
printRequestResponse($client);
}
else
{
echo 'Error in processing transaction.'. $newline. $newline; 
foreach ($response -> Notifications as $notification)
{
if(is_array($response -> Notifications))
{              
echo $notification -> Severity;
echo ': ';           
echo $notification -> Message . $newline;
}
else
{
echo $notification . $newline;
}
}
} 
writeToLog($client);    // Write to log file   
} catch (SoapFault $exception) {
    printFault($exception, $client);
}

library/fedex-common.php5

define('TRANSACTIONS_LOG_FILE', 'fedextransactions.log');  // Transactions log file
/**
*  Print SOAP request and response
*/
function printRequestResponse($client) {
echo "test $trackingnumber";
echo '<h2>Transaction processed successfully.</h2>'. "\n"; 
echo '<h2>Request</h2>' . "\n";
echo '<pre>' . htmlspecialchars($client->__getLastRequest()). '</pre>';  
echo "\n";
echo '<h2>Response</h2>'. "\n";
echo '<pre>' . htmlspecialchars($client->__getLastResponse()). '</pre>';
echo "\n";
}
/**
*  Print SOAP Fault
*/  
function printFault($exception, $client) {
echo '<h2>Fault</h2>' . "\n";                        
echo "<b>Code:</b>{$exception->faultcode}<br>\n";
echo "<b>String:</b>{$exception->faultstring}<br>\n";
writeToLog($client);
}
/**
* SOAP request/response logging to a file
*/                                  
function writeToLog($client){  
if (!$logfile = fopen(TRANSACTIONS_LOG_FILE, "a"))
{
error_func("Cannot open " . TRANSACTIONS_LOG_FILE . " file.\n", 0);
exit(1);
}
fwrite($logfile, sprintf("\r%s:- %s",date("D M j G:i:s T Y"), $client->__getLastRequest(). "\n\n" . $client->__getLastResponse()));
}

Link to comment
Share on other sites

I fixed the code:http error now I am getting the following error

 

 

Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from '/home/eye123/public_html/track/wsdl/TrackService_v2.wsdl' in /home/eye123/public_html/track/Track.php:15 Stack trace: #0 /home/eye123/public_html/track/Track.php(15): SoapClient->SoapClient('wsdl/TrackServi...', Array) #1 {main} thrown in /home/eye123/public_html/track/Track.php on line 15

 

 

link is eyeglasses123.com

 

Link to comment
Share on other sites

  • 4 years later...

Hello Everyone

I am having issues with fexex's new soap and WSDL web services. I am trying to get tracking results with their new service was wondering if I can get some help on this. I am attaching the code, and the wsdl What am I doing wrong??

Here are two of the links that fedex gave me two are in the wsdl file and one I dont know what to do with and fedex was no help they did provide the following code which I am posting below it consists of three files the wsdl, a functions file for error and tracking and the track.php code which is suppose to be loaded via http

Track.php file

require_once('library/fedex-common.php5');
$newline = "<br />";
$path_to_wsdl = "wsdl/TrackService_v2.wsdl";
ini_set("soap.wsdl_cache_enabled", "0");
$client = new SoapClient($path_to_wsdl, array('trace' => 'all')); // Refer to http://us3.php.net/manual/en/ref.soap.php for more information
$request['WebAuthenticationDetail'] = array('UserCredential' =>array('Key' => 'Nu7mKVoi6CruG3BH', 'Password' => '2WTI0OChPx1U7yprVqjosFpM7')); // Replace 'XXX' and 'YYY' with FedEx provided credentials
$request['ClientDetail'] = array('AccountNumber' => '510087542', 'MeterNumber' => '1220784');// Replace 'XXX' with your account and meter number
$request['TransactionDetail'] = array('CustomerTransactionId' => '*** Track Request v2 using PHP ***');
$request['Version'] = array('ServiceId' => 'trck', 'Major' => '2', 'Intermediate' => '0', 'Minor' => '0');
$request['PackageIdentifier'] = array('Value' => '963051995450', 'Type' => 'TRACKING_NUMBER_OR_DOORTAG');
$request['TransactionDetail'] = array('CustomerTransactionId' => '*** Track Request v2 using PHP ***');
$request['IncludeDetailedScans'] = 1;
try{
$response = $client ->track($request);
if ($response -> HighestSeverity != 'FAILURE' && $response -> HighestSeverity != 'ERROR')
{
print $response;
foreach ($response -> TrackDetails -> Events as $event)
{
if(is_array($response -> TrackDetails -> Events))
{           
echo $event -> Timestamp . ':  ';
echo $event -> EventDescription . ' - ';
echo $event -> Address -> City . ' ';
echo $event -> Address -> StateOrProvinceCode . $newline;
}
else
{
echo $location . $newline;
}
}
printRequestResponse($client);
}
else
{
echo 'Error in processing transaction.'. $newline. $newline;
foreach ($response -> Notifications as $notification)
{
if(is_array($response -> Notifications))
{             
echo $notification -> Severity;
echo ': ';         
echo $notification -> Message . $newline;
}
else
{
echo $notification . $newline;
}
}
}
writeToLog($client);    // Write to log file 
} catch (SoapFault $exception) {
   printFault($exception, $client);
}

library/fedex-common.php5

define('TRANSACTIONS_LOG_FILE', 'fedextransactions.log');  // Transactions log file
/**
*  Print SOAP request and response
*/
function printRequestResponse($client) {
echo "test $trackingnumber";
echo '<h2>Transaction processed successfully.</h2>'. "\n";
echo '<h2>Request</h2>' . "\n";
echo '<pre>' . htmlspecialchars($client->__getLastRequest()). '</pre>'; 
echo "\n";
echo '<h2>Response</h2>'. "\n";
echo '<pre>' . htmlspecialchars($client->__getLastResponse()). '</pre>';
echo "\n";
}
/**
*  Print SOAP Fault
*/ 
function printFault($exception, $client) {
echo '<h2>Fault</h2>' . "\n";                       
echo "<b>Code:</b>{$exception->faultcode}<br>\n";
echo "<b>String:</b>{$exception->faultstring}<br>\n";
writeToLog($client);
}
/**
* SOAP request/response logging to a file
*/                                 
function writeToLog($client){ 
if (!$logfile = fopen(TRANSACTIONS_LOG_FILE, "a"))
{
error_func("Cannot open " . TRANSACTIONS_LOG_FILE . " file.\n", 0);
exit(1);
}
fwrite($logfile, sprintf("\r%s:- %s",date("D M j G:i:s T Y"), $client->__getLastRequest(). "\n\n" . $client->__getLastResponse()));
}

 

Hi devain,

 

Have you solved out this problem?

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

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

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  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...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.