2009-09-12 2 views
0

나는이 FedEx 웹 서비스 통합 프로젝트를 얼마 동안 작업하고 있습니다. PHP를 사용하여 FedEx 서버에 전화를 걸었습니다. 모든 것이 제대로 작동하는 것 같습니다.CustomerReferences 항목이 PHP를 통해 gevated 된 FedEx 웹 서비스 요청에 포함되지 않았습니다

하지만 서버로 보낸 원래의 페덱스 요청에 나타나는 CustomerReferences 필드에 문제가 있습니다. ShipService_v7.wsdl을 사용하고 있습니다. FedEx 기술 지원부에 PHP 코드를 도울 수 없다고 말했습니다. 하지만 내 문제는 fedex에서 제공하는 샘플 코드조차도 서버에 보낸 요청에서 customerreferences 필드를 생성 할 수 없다는 것입니다.

혹시이 문제가 무엇인지 알아 주시겠습니까?

편집 : 페덱스 웹 서버로 전송되는 XML 파일을 생성 코드,

$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' => $DEVELOPER_KEY, 'Password' => $DEVELOPER_PASSWORD)); // Replace 'XXX' and 'YYY' with FedEx provided credentials 
$request['ClientDetail'] = array('AccountNumber' => $FEDEX_ACCOUNT_NUMBER, 'MeterNumber' => $FEDEX_METER_NUMBER);// Replace 'XXX' with your account and meter number 
$request['TransactionDetail'] = array('CustomerTransactionId' => '*** Ground International Shipping Request v7 using PHP ***'); 
$request['Version'] = array('ServiceId' => 'ship', 'Major' => '7', 'Intermediate' => '0', 'Minor' => '0'); 
$request['RequestedShipment'] = array('ShipTimestamp' => date('c'), 
            'DropoffType' => 'REGULAR_PICKUP', // valid values REGULAR_PICKUP, REQUEST_COURIER, DROP_BOX, BUSINESS_SERVICE_CENTER and STATION 
            'ServiceType' => 'FEDEX_GROUND', // valid values STANDARD_OVERNIGHT, PRIORITY_OVERNIGHT, FEDEX_GROUND, ... 
            'PackagingType' => 'YOUR_PACKAGING', // valid values FEDEX_BOX, FEDEX_PAK, FEDEX_TUBE, YOUR_PACKAGING, ... 
            'Shipper' => array('Contact' => array('PersonName' => 'Sender Name', 
                      'CompanyName' => 'Company Name', 
                      'PhoneNumber' => '0805522713'), 
                 'Address' => array('StreetLines' => array('Address Line 1'), 
                      'City' => 'Memphis', 
                      'StateOrProvinceCode' => 'TN', 
                      'PostalCode' => '38110', 
                      'CountryCode' => 'US')), 
            'Recipient' => array('Contact' => array('PersonName' => 'Recipient Name', 
                      'CompanyName' => 'Company Name', 
                      'PhoneNumber' => '9012637906'), 
                 'Address' => array('StreetLines' => array('Address Line 1'), 
                      'City' => 'Richmond', 
                      'StateOrProvinceCode' => 'BC', 
                      'PostalCode' => 'V7C4V4', 
                      'CountryCode' => 'CA', 
                      'Residential' => false)), 
            'ShippingChargesPayment' => array('PaymentType' => 'SENDER', // valid values RECIPIENT, SENDER and THIRD_PARTY 
                     'Payor' => array('AccountNumber' => $FEDEX_ACCOUNT_NUMBER, // Replace 'XXX' with payors account number 
                         'CountryCode' => 'US')), 
            'InternationalDetail' => array('DutiesPayment' => array('PaymentType' => 'SENDER', // valid values RECIPIENT, SENDER and THIRD_PARTY 
                          'Payor' => array('AccountNumber' => $FEDEX_ACCOUNT_NUMBER, // Replace 'XXX' with payor's account number 
                          'CountryCode' => 'CA')), 
                    'DocumentContent' => 'DOCUMENTS_ONLY',                        
                    'CustomsValue' => array('Amount' => 100.0, 'Currency' => 'USD'), 
                    'Commodities' => array('0' => array('NumberOfPieces' => 1, 
                             'Description' => 'Books', 
                             'CountryOfManufacture' => 'US', 
                             'Weight' => array('Value' => 1.0, 'Units' => 'LB'), 
                             'Quantity' => 1, 
                             'QuantityUnits' => 'EA', 
                             'UnitPrice' => array('Amount' => 1.000000, 'Currency' => 'USD'), 
                             'CustomsValue' => array('Amount' => 100.000000, 'Currency' => 'USD'))), 
                    'ExportDetail' => array('B13AFilingOption' => 'FILED_ELECTRONICALLY')),                          
            'LabelSpecification' => array('LabelFormatType' => 'COMMON2D', // valid values COMMON2D, LABEL_DATA_ONLY 
                    'ImageType' => 'PNG', // valid values DPL, EPL2, PDF, ZPLII and PNG 
                    'LabelStockType' => 'PAPER_7X4.75'), 
            'RateRequestTypes' => array('ACCOUNT'), // valid values ACCOUNT and LIST 
            'PackageCount' => 1, 
            'PackageDetail' => 'INDIVIDUAL_PACKAGES',           
            'RequestedPackageLineItems' => array('SequenceNumber' => 1, 
                   'Weight' => array('Value' => 20.0, 'Units' => 'LB')), // valid values LB and KG 
                   'CustomerReferences' => array('0' => array('CustomerReferenceType' => 'CUSTOMER_REFERENCE', 'Value' => 'TC007_07_PT1_ST01_PK01_SNDUS_RCPCA_POS'))); 

예상 출력 :

... XML 물건 ...

  <ns1:RequestedPackageLineItems> 
       <ns1:SequenceNumber>1</ns1:SequenceNumber> 
       <ns1:Weight> 
        <ns1:Units>LB</ns1:Units> 
        <ns1:Value>20</ns1:Value> 
       </ns1:Weight> 
       <ns1:CustomerReferences> 
        <ns1:CustomerReferenceType>CUSTOMER_REFERENCE</ns1:CustomerReferenceType> 
        <ns1:Value>I am a customer reference</ns1:Value> 
       </ns1:CustomerReferences> 
      </ns1:RequestedPackageLineItems> 

... XML 콘텐츠 ...

전류 출력 addPackageLineItem1

이 같은

에서

  <ns1:RequestedPackageLineItems> 
       <ns1:SequenceNumber>1</ns1:SequenceNumber> 
       <ns1:Weight> 
        <ns1:Units>LB</ns1:Units> 
        <ns1:Value>20</ns1:Value> 
       </ns1:Weight>  
      </ns1:RequestedPackageLineItems> 
+0

이는 배송 추적과 같은 것들에 대한인가? 나는 도메인 특유의 소리가 나기 때문에 연락 할 수있는 FedEx의 다른 사람들을 찾아내는 것이 좋습니다. – Fragsworth

+0

실제로 발송물 생성 용입니다. 나는 FedEx 기술 지원에 연락했는데 그들은 기본적으로 XML 파일을 만들지 만 요청을 위해 만들어진 XML 만 사용할 수 있다고 말했습니다. (기본적으로 PHP 샘플 코드조차도 생성되지 않습니다. CustomerReference 필드 – Chantz

+1

이 특정 문제에 대한 도움을 받으려면 보내려는 XML의 문제점을 정확히 알아내는 것이 더 적절합니다. 그런 다음 코드에서 형식이 잘못된 XML이 생성되는 이유를 파악할 수없는 경우 다시 질문하지만 두 가지를 제공합니다 : 1. XML을 잘못 출력하는 코드 및 2. 예상 출력 – Fragsworth

답변

4

고객 추가 참조 :

'Dimensions' => array(
     'Length' => 20, 
     'Width' => 20, 
     'Height' => 10, 
     'Units' => 'IN'), 
     'CustomerReferences' => array(
             '0' => array(
              'CustomerReferenceType' => 'CUSTOMER_REFERENCE', 
              'Value' => '123456' 
            ))