所以,我正在尝试在php中使用SoapClient,我遇到了构建XML的问题。我正在使用一个期望以下XML的soap API:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:app="http://app.whatever.com/">
<soapenv:Header/>
<soapenv:Body>
<app:WhateverCleanseAddress>
<app:address>
<address Address1="9100 Wilshire Blvd" Address2="Ste 900" Address3="" City="Beverly Hills" State="CA" Zip="90212" Country="USA"/>
</app:address>
</app:WhateverCleanseAddress>
</soapenv:Body>
</soapenv:Envelope>
我已经使用soapui进行了一系列测试,这会返回正确的响应,但我使用SoapClient进行的实际调用仅返回错误。这就是我提交的内容:
$addressdata = "<address Address1=\"9100 Wilshire Blvd\" Address2=\"Ste 900\" Address3=\"\" City=\"Beverly Hills\" State=\"CA\" Zip=\"90212\" Country=\"USA\" />";
$wsdl = 'http://www.whatever.com/WhateverWebSSAdapter.asmx?WSDL';
$client = New SoapClient($wsdl, array("trace" => 1, "exceptions" => 0));
$apiData = array(
"Address" => $addressdata
);
echo "<pre>";
print_r($client->WhateverCleanseAddress($apiData));
echo "</pre>";
我已经在网上找到了一个很好的教程来形成这些请求但是我没有运气找到显示1:1关系的东西显示“如果你通过肥皂客户端,它会提交这个”。我使用同样的技术来处理另一个完美无缺的api调用......但是在这里我看不出我做错了什么。