だから、私は 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>";
これらのリクエストを作成するための優れたチュートリアルを求めてネットをトロールしましたが、「soap クライアントにこれを渡すと、これが送信される」ことを示す 1:1 の関係を示すものを見つけることができませんでした。私はこれと同じ手法を使用して、問題なく機能する別の API 呼び出しを操作しました...しかし、ここでは何が間違っているのかわかりません。