使用PHPSOAP for DHL express soap服务器时是否可以发送重复的密钥
我需要将几个ExportedLineItems发送到DHL EXPRESS soap服务器,但很明显,它们拒绝了发送重复数组密钥的常用方法。 看看水务署,这应该是可能的 当我通过以下阵列时(删除) 上面的代码得到正确的结果。但我需要传递多个ExportLineItem,所以我使用了以下数组使用PHPSOAP for DHL express soap服务器时是否可以发送重复的密钥,php,soap,Php,Soap,我需要将几个ExportedLineItems发送到DHL EXPRESS soap服务器,但很明显,它们拒绝了发送重复数组密钥的常用方法。 看看水务署,这应该是可能的 当我通过以下阵列时(删除) 上面的代码得到正确的结果。但我需要传递多个ExportLineItem,所以我使用了以下数组 $client = new SoapClient(URL_ADDR, array("trace" => 1, "exception" => 1, 'use
$client = new SoapClient(URL_ADDR, array("trace" => 1, "exception" => 1, 'use' => SOAP_LITERAL));
$client->__setSoapHeaders(Array(new WsseAuthHeader(USERNAME, PASSWORD)));
//... array abrevation
'ExportDeclaration' => [
'InvoiceDate' => date("Y-m-d"),
'InvoiceNumber' => '123456_invoice',
'ExportLineItems' => [
'ExportLineItem' =>[
0 => [
'ItemNumber' => '1',
'Quantity' => '1',
'QuantityUnitOfMeasurement' => 'KG',
'ItemDescription' => 'X15_01',
'UnitPrice' => '239',
'NetWeight' => '0.25',
'GrossWeight' => '0.3',
],
1 => [
'ItemNumber' => '2',
'Quantity' => '2',
'QuantityUnitOfMeasurement' => 'KG',
'ItemDescription' => 'X15_02',
'UnitPrice' => '123',
'NetWeight' => '0.24',
'GrossWeight' => '0.34',
]
]
]
],
//...
$result = $client->createShipmentRequest($data);
这次我收到一个错误“Encoding:对象没有“ItemNumber”属性”。我真的不知道下一步该怎么办。你试过问DHL如何处理这个问题吗?在meHello Nico看来,这并不是一个纯粹的编程问题。谢谢你阅读我的问题。有一点值得注意的是,一些软件(wsdl中的天气或我使用PHPSOAP实现的方式)存在错误。我已经向他们的API发送了纯XML,并收到了良好的结果。这意味着这是可能的。在发布我的解决方案之前,我希望有人能提供真正的解决方案,按照预期发送数组,而不是像我那样发送纯xml字符串。因为这不是一个好的解决办法。
$client = new SoapClient(URL_ADDR, array("trace" => 1, "exception" => 1, 'use' => SOAP_LITERAL));
$client->__setSoapHeaders(Array(new WsseAuthHeader(USERNAME, PASSWORD)));
//... array abrevation
'ExportDeclaration' => [
'InvoiceDate' => date("Y-m-d"),
'InvoiceNumber' => '123456_invoice',
'ExportLineItems' => [
'ExportLineItem' =>[
0 => [
'ItemNumber' => '1',
'Quantity' => '1',
'QuantityUnitOfMeasurement' => 'KG',
'ItemDescription' => 'X15_01',
'UnitPrice' => '239',
'NetWeight' => '0.25',
'GrossWeight' => '0.3',
],
1 => [
'ItemNumber' => '2',
'Quantity' => '2',
'QuantityUnitOfMeasurement' => 'KG',
'ItemDescription' => 'X15_02',
'UnitPrice' => '123',
'NetWeight' => '0.24',
'GrossWeight' => '0.34',
]
]
]
],
//...
$result = $client->createShipmentRequest($data);