【发布时间】:2016-05-23 09:06:13
【问题描述】:
我在使用 php SoapClient 调用合作伙伴肥皂服务时遇到问题。他的wsdl是https://motrada.net/accounts/test.wsdl
当我将以下数据发送到 php SoapClient
array (
'Expert_Status' =>
array (
'ChassisNo' => '9998886NZ12345678',
'MotradaIntVehicleNo' => '757169',
'MotradaSalesId' => '209448',
'MotradaWorkflowStatus' => '5-offer_preperation',
'GrossPriceInclVATAutoi' => '20000',
'DamageAmountInclVAT' => '1000',
'MileageExpertise' => '234234',
'Timestamp' => '2016-05-23T10:14:58+02:00',
),
)
php-SoapClient 发送如下请求:
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<Expert-Request>
<item>
<key>Expert_Status</key>
<value>
<item>
<key>ChassisNo</key>
<value>9998886NZ12345678</value>
</item>
<item>
<key>MotradaIntVehicleNo</key>
<value>757169</value>
</item>
...
</value>
</item>
</Expert-Request>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
请求应该是这样的
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<Expert_Status>
<ChassisNo>9998886NZ12345678</ChassisNo>
<MotradaIntVehicleNo>757169</MotradaIntVehicleNo>
...
我发送给 php SoapClient 的选项是:
array (
'encoding' => 'UTF-8',
'verifypeer' => false,
'verifyhost' => false,
'soap_version' => 'SOAP_1_1',
'trace' => true,
'exceptions' => true,
'connection_timeout' => 10,
'login' => 'MOTR_ALE',
'password' => 'XXXXXXXX',
)
谁能帮我找出问题所在?
【问题讨论】:
标签: php soap wsdl soap-client