Отправить запрос через soapclient - PullRequest
0 голосов
/ 22 декабря 2018

В настоящее время я общаюсь с Soap Server через CURL.Я отправляю данные XML на URL-адрес с использованием определенного заголовка. Я хочу заменить curl классом SoapClient, но не знаю, как это сделать.

Код Curl:

$ch = curl_init($url);                                                                      curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");                                                                     
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);                                                                  
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);                                                                      
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);                                                                    
                                                                                                                $xml = curl_exec($ch); 
curl_close($ch);

Параметры:

Заголовок:

Accept-Encoding: gzip,deflate
Content-Type: text/xml;charset=UTF-8
SoapAction: "http://www.mygemini.com/schemas/mygemini/GetAccountMovements"
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)

Тело:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:myg="http://www.mygemini.com/schemas/mygemini" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"> 
  <soapenv:Header>
  <wsse:Security>
    <wsse:UsernameToken>
      <wsse:Username>USER</wsse:Username>
      <wsse:Password>PASSWORD</wsse:Password>
      <wsse:Nonce>1111</wsse:Nonce>
    </wsse:UsernameToken>
  </wsse:Security>
  </soapenv:Header>
  <soapenv:Body>
    <myg:GetAccountMovementsRequestIo>
      <myg:accountMovementFilterIo>
        <myg:periodFrom>2015-01-01T00:00:00.000</myg:periodFrom>
      </myg:accountMovementFilterIo>
    </myg:GetAccountMovementsRequestIo>
  </soapenv:Body>
</soapenv:Envelope>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...