標準のSOAPクラスを使用して、PHPで特定のSOAPリクエストを構築しようとしています。
それは私がPHPで構築したいリクエストです:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://www.autoscout24.com/webapi/" xmlns:data="http://www.autoscout24.com/webapi/data/">
<soapenv:Header/>
<soapenv:Body>
<web:FindArticles>
<web:request>
<data:client_id>1234</data:client_id>
<data:culture_id>de-DE</data:culture_id>
<data:profile_id>CPCMS_DE</data:profile_id>
<data:revision>3</data:revision>
<data:vehicle_search_parameters>
<data:address>
<data:countries>
<data:country_id>D</data:country_id>
</data:countries>
</data:address>
<data:dealer_id>2141356852</data:dealer_id>
</data:vehicle_search_parameters>
</web:request>
</web:FindArticles>
</soapenv:Body>
</soapenv:Envelope>
私はそれがどのように機能するかを理解しようとしました:
try {
$result = $client->FindArticles(
array( new SoapParam((string)"de-DE", "culture_id") )
);
} catch (SoapFault $exc) {
var_dump($client->__getLastRequest());
echo $exc->getMessage();
}
この PHP 呼び出しは、次の SOAP エンベロープをエコーします。
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://www.autoscout24.com/webapi/"><SOAP-ENV:Body>
<ns1:FindArticles/>
</SOAP-ENV:Body></SOAP-ENV:Envelope>
ご覧のとおり、PHP は私の SOAPParameters を無視します。それはなぜですか、それを修正する方法は?
前もって感謝します!フロリアン