[英]How to call php soap client __dorequest
我已經堅持了24個多小時。 我在網上找到的任何信息都與我的要求無關。 基本上,我需要在將XML發送到服務器之前對其進行編輯。 但是,我無法弄清楚如何使用wsdl文件執行此操作。 我需要在發送之前編輯xml。 在線研究顯示了這些參數;
request - XML SOAP請求。 location - 要請求的URL。 action - SOAP操作。 version - SOAP版本。
我正在使用這個;
$response = $client->__doRequest('','http://hiddenlink','myMethod','1');
echo $response;
使用wsdl文件時的請求是什么。
我一直在尋找改變必須在SOAP Request中發送的頭的解決方案,擴展__doRequest解決了它。
class MSSoapClient extends SoapClient {
function __doRequest($request, $location, $action, $version) {
$header = '<SOAP-ENV:Header>
<ns1:AuthenticationHeader>
<ns1:Username>XXXX</ns1:Username>
<ns1:Password>XXXX</ns1:Password>
<ns1:Function>XXX</ns1:Function>
<ns1:TimeOutMilliSec>4000</ns1:TimeOutMilliSec>
</ns1:AuthenticationHeader>
</SOAP-ENV:Header><SOAP-ENV:Body>';
$request = str_replace('<SOAP-ENV:Body>', $header, $request);
return parent::__doRequest($request, $location, $action, $version);
}
$client = new MSSoapClient($wsdl, array('trace' => 1, "exceptions" => 0, 'use' => SOAP_LITERAL));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.