[英]Customize PHP SOAP Body Parameters according to WSDL File format
我正在嘗試將SOAP請求發送到遠程服務器,並且需要發送以下請求消息。
<SOAP-ENV:Body>
<ns1:F1>
<id>2323</id>
</ns1:F1>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
但我的要求是這樣的
<SOAP-ENV:Body>
<ns1:F1/>
<param1>2323</param1>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
我使用WAMP服務器的常規php soap_client函數。
$client = new SoapClient("name.wsdl",array(
"trace" => 1,
"exceptions" => 0 );
$result = $client->F1($value);
如何將第二個輸出轉換為第一個。 我需要更改參數名稱是從param1更改為F1並正確關閉Body標簽。
你是如何構建價值的? 如果Web服務正在查找復雜類型,則可能需要將此變量創建為多維數組。 您可以在WSDL文件中查找線索(如果有)。
$value = array(
'F1' = array(
'id' => 2323
)
);
首先,檢查您的WSDL URL是否正確,因為SoapClient使用服務中的WSDL來了解您的參數命名。
您還可以按字面指定參數名稱:
$response = $client->__soapCall('ns1:F1', array(new SoapParam('2323','id')));
嘗試在__soapCall函數中使用參數,
$client = new SoapClient("name.wsdl");
$arrayname = array(
XXXXXXXXX
);
$response = $client->__soapCall("F1", array($arrayname ));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.