我正试图从Fedex开发人员部分获得的代码示例中获取fededx跟踪id的状态,但无法获得跟踪id的所需状态信息。我需要帮助,因为我我是新手。请帮助如何获得联邦快递跟踪id的状态响应。
我正在执行的这个文件=>TrackWebServiceClient.php在执行这个文件时,我遇到了一个错误,我已经提到过下面是:---------------------------PHP_Common已初始化故障
Code:HTTP
String:Unable to parse URL
--------------------------
TrackWebServiceClient.php file code given below =>
<?php
// Copyright 2009, FedEx Corporation. All rights reserved.
// Version 6.0.0
require_once('fedex-common.php');
//The WSDL is not included with the sample code.
//Please include and reference in $path_to_wsdl variable.
$path_to_wsdl = "TrackService_v16.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(
'ParentCredential' => array(
'Key' => getProperty('parentkey'),
'Password' => getProperty('parentpassword')
),
'UserCredential' => array(
'Key' => getProperty('key'),
'Password' => getProperty('password')
)
);
$request['ClientDetail'] = array(
'AccountNumber' => getProperty('shipaccount'),
'MeterNumber' => getProperty('meter')
);
$request['TransactionDetail'] = array('CustomerTransactionId' => '***
Track Request using PHP ***');
$request['Version'] = array(
'ServiceId' => 'trck',
'Major' => '16',
'Intermediate' => '0',
'Minor' => '0'
);
$request['SelectionDetails'] = array(
'PackageIdentifier' => array(
'Type' => 'TRACKING_NUMBER_OR_DOORTAG',
'Value' => '781193603730' //getProperty('trackingnumber') //
Replace 'XXX' with a valid tracking identifier
)
);
try {
if(setEndpoint('changeEndpoint')){
$newLocation = $client-
>__setLocation(setEndpoint('endpoint'));
}
$response = $client ->track($request);
if ($response -> HighestSeverity != 'FAILURE' && $response ->
HighestSeverity != 'ERROR'){
if($response->HighestSeverity != 'SUCCESS'){
echo '<table border="1">';
echo '<tr><th>Track Reply</th><th> </th></tr>';
trackDetails($response->Notifications, '');
echo '</table>';
}else{
if ($response->CompletedTrackDetails->HighestSeverity !=
'SUCCESS'){
echo '<table border="1">';
echo '<tr><th>Shipment Level Tracking Details</th>
<th> </th></tr>';
trackDetails($response->CompletedTrackDetails, '');
echo '</table>';
}else{
echo '<table border="1">';
echo '<tr><th>Package Level Tracking Details</th>
<th> </th></tr>';
trackDetails($response->CompletedTrackDetails-
>TrackDetails, '');
echo '</table>';
}
}
printSuccess($client, $response);
}else{
printError($client, $response);
}
writeToLog($client); // Write to log file
} catch (SoapFault $exception) {
printFault($exception, $client);
}
?>
我找到了一个解决方案。它现在正在工作。我错过了在fedex-common.php文件中定义端点,在我为它提供了正确的端点之后,它工作得很好。