FEDEX fichier wsdl des Services Web
J'ai été invité à intégrer à un site web de FedEx à l'aide de PHP. Je n'ai aucune idée par où commencer. J'ai signé pour un compte de test et j'ai téléchargé le seul exemple de code, il est. Cela fait référence à un .fichier wsdl mais l'exemple de code ne fait pas inclure le fichier. Je ne peux pas trouver n'importe où dans la documentation où trouver ce fichier. Quelqu'un peut-il aider? Si je pouvais obtenir une connexion à l'API dans le courant de cette semaine, je vais être heureux.
//Copyright 2009, FedEx Corporation. All rights reserved.
//Version 2.0.0
require_once('../library/fedex-common.php5');
//The WSDL is not included with the sample code.
//Please include and reference in $path_to_wsdl variable.
$path_to_wsdl = "../wsdl/LocatorService_v2.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' => getProperty('key'), 'Password' => getProperty('password')));
$request['ClientDetail'] = array('AccountNumber' => getProperty('shipaccount'), 'MeterNumber' => getProperty('meter'));
$request['TransactionDetail'] = array('CustomerTransactionId' => '*** Locator Request v2 using PHP ***');
$request['Version'] = array('ServiceId' => 'dloc', 'Major' => '2', 'Intermediate' => '0', 'Minor' => '0');
$bNearToPhoneNumber = false;
if ($bNearToPhoneNumber)
{
$request['NearToPhoneNumber'] = getProperty('phonenumber'); //Replace 'XXX' with phone number
}
else
{
$request['NearToAddress'] = getProperty('locatoraddress');
}
$request['DropoffServicesDesired'] = array('Express' => 1, //Location desired services
'FedExStaffed' => 1,
'FedExSelfService' => 1,
'FedExAuthorizedShippingCenter' => 1,
'HoldAtLocation' => 1);
try
{
if(setEndpoint('changeEndpoint'))
{
$newLocation = $client->__setLocation(setEndpoint('endpoint'));
}
$response = $client ->fedExLocator($request);
if ($response -> HighestSeverity != 'FAILURE' && $response -> HighestSeverity != 'ERROR')
{
echo 'Dropoff Locations<br>';
echo '<table border="1"><tr><td>Streetline</td><td>City</td><td>State</td><td>Postal Code</td><td>Distance</td></tr>';
foreach ($response -> DropoffLocations as $location)
{
if(is_array($response -> DropoffLocations))
{
echo '<tr>';
echo '<td>'.$location -> BusinessAddress -> StreetLines. '</td>';
echo '<td>'.$location -> BusinessAddress -> City. '</td>';
echo '<td>'.$location -> BusinessAddress -> StateOrProvinceCode. '</td>';
echo '<td>'.$location -> BusinessAddress -> PostalCode. '</td>';
echo '<td>('.$location -> Distance -> Value . ' ';
echo $location -> Distance -> Units . ')'. '</td>';
echo '</tr>';
}
else
{
//echo $location . Newline;
}
}
echo '</table>';
printSuccess($client, $response);
}
else
{
printError($client, $response);
}
writeToLog($client); //Write to log file
} catch (SoapFault $exception) {
printFault($exception, $client);
}
?>
OriginalL'auteur LeeTee | 2012-01-05
Vous devez vous connecter pour publier un commentaire.
Cela peut être votre wsdl: https://github.com/timborden/fedex/blob/master/wsdl/LocatorService_v2.wsdl
Mais vous devez avoir une plus officiel lien de téléchargement sur la page Fedex Documentation.
L'exemple de code est pas bon btw, la fonction ini_set("savon.wsdl_cache_enabled", "0"); doit être supprimer (problèmes de performances), mais au moins, il est un client PHP (fedex-commune)!
OriginalL'auteur Damien
Connectez-vous à FedEx ensuite, allez ici:
https://www.fedex.com/wpor/web/jsp/drclinks.jsp?links=wss/getstarted.html
Sélectionnez PHP dans le Taux ligne et sélectionnez Inclure la documentation. Vous êtes invité à enregistrer les 2 fichiers zip, qui est celui de l'WSDL.
OriginalL'auteur Hobbleknee