簡體   English   中英

如何調用php soap client __dorequest

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM