Как установить параметры внутри заголовка в PHP SOAP-клиенте - PullRequest
0 голосов
/ 18 февраля 2019

Я пытаюсь сделать SOAP-петиции там, где в заголовке должен быть объявлен параметр Addressing.

Вот мой код в PHP:

    $params = array(); 
    $params['xmlns:tem'] = "http://tempuri.org/";
    $params['soap_version'] = SOAP_1_2;
    $params['trace'] = 1;

    $client = new SoapClient("myurl",$params);
    $header = array();
    $header[] = new SoapHeader('http://www.w3.org/2005/08/addressing', "Action", "myurlAction");
    $header[] = new SoapHeader('http://www.w3.org/2005/08/addressing', "To", "myurlTo");
    $client->__setSoapHeaders($header);
    $result = $client->myCall()

Чтобы получить результаты, янужно объявить wsa внутри заголовка следующим образом (обратите внимание на параметр ns2, объявленный в заголовке):

<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://tempuri.org/">
    <env:Header xmlns:ns2="http://www.w3.org/2005/08/addressing">
  .... 
</env:Header>

avobe XML возвращает данные, поэтому я хочу, чтобы php генерировал.

Но с моим PHP-кодом я получаю такой результат (вместо этого в конверте объявлен параметр ns2):

<env:Envelope
xmlns:env="http://www.w3.org/2003/05/soap-envelope"
xmlns:ns1="http://tempuri.org/"
xmlns:ns2="http://www.w3.org/2005/08/addressing">
    <env:Header> ... </env:Header>

Как мне этого добиться?

Спасибо ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...