나는이 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>
이는 배송 추적과 같은 것들에 대한인가? 나는 도메인 특유의 소리가 나기 때문에 연락 할 수있는 FedEx의 다른 사람들을 찾아내는 것이 좋습니다. – Fragsworth
실제로 발송물 생성 용입니다. 나는 FedEx 기술 지원에 연락했는데 그들은 기본적으로 XML 파일을 만들지 만 요청을 위해 만들어진 XML 만 사용할 수 있다고 말했습니다. (기본적으로 PHP 샘플 코드조차도 생성되지 않습니다. CustomerReference 필드 – Chantz
이 특정 문제에 대한 도움을 받으려면 보내려는 XML의 문제점을 정확히 알아내는 것이 더 적절합니다. 그런 다음 코드에서 형식이 잘못된 XML이 생성되는 이유를 파악할 수없는 경우 다시 질문하지만 두 가지를 제공합니다 : 1. XML을 잘못 출력하는 코드 및 2. 예상 출력 – Fragsworth