2012-01-05 10 views
5

PHPを使用してフェデックスにウェブサイトを統合するように求められました。どこから始めたらいいのか分かりません。テスト用のアカウントにサインアップしましたが、そこにある唯一のサンプルコードをダウンロードしました。これは.wsdlファイルを参照していますが、サンプルコードには実際にファイルが含まれていません。私はどこにこのファイルを入手するためのドキュメンテーションのどこにも見つけることができません。誰も助けることができますか?今週中にAPIに接続できたら、私は満足しています。FEDEXウェブサービスwsdlファイル

// 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); 
} 

?> 

答えて

2

これはあなたのwsdlことがありますhttps://github.com/timborden/fedex/blob/master/wsdl/LocatorService_v2.wsdl

しかし、あなたはフェデックスのドキュメントの詳細公式のダウンロードリンクを持っている必要があります。

コード例は、btw、ini_set( "soap.wsdl_cache_enabled"、 "0"); (パフォーマンスの問題)を削除する必要がありますが、少なくともPHPクライアント(fedex-common)があります!

+3

FYI:github repoが削除されました。 WSDLはhttp://www.fedex.com/us/developer/にあり、新しいKohanaモジュールはhttps://github.com/timborden/kohana-fedex(WSDLなし) – timborden

1

フェデックスへログイン後、ここに行く: https://www.fedex.com/wpor/web/jsp/drclinks.jsp?links=wss/getstarted.html

レート行でPHPを選択し、を選択ドキュメントを含めます。 2つのzipファイルの保存を求めるメッセージが表示されます。そのうち1つはWSDLです。

+0

を参照してください。 「Download All」オプションの横のドキュメントが、私が実際のWSDLを見つけた唯一の方法でした –

関連する問題