Передача атрибута в заголовок мыла - PullRequest
0 голосов
/ 04 января 2019

Я пытаюсь воссоздать приведенный ниже запрос на мыло

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:data="http://test.gbd.chdb.test.net">
       <soapenv:Header>
          <userId>5647775-b7d7-4a45-9570-654116547654</userId>
       </soapenv:Header>
       <soapenv:Body>
          <data:getPerson>
             <!--Optional:-->
             <iin>700521700054</iin>
             <!--Optional:-->
             <consentConfirmed>true</consentConfirmed>
          </data:getPerson>
       </soapenv:Body>
    </soapenv:Envelope>

, используя приведенный ниже php scrip

$opts = array(some attributes);

        $soap_client = new \SoapClient(null,
                                array(
                                    'location' => 'https://test.test.net/testServices/PersonDetailsImplService',
                                    'uri' => 'http://test.gbd.chdb.test.net',
                                    'login'    => 'XXXXXXX',
                                    'password' => 'YYYYYYY',
                                    'cache_wsdl' => WSDL_CACHE_NONE,
                                    'soap_version'=> SOAP_1_1,
                                    'style' => SOAP_RPC,
                                    'use' => SOAP_ENCODED,
                                    'trace'          => true,
                                    'exceptions'     => true,
                                    'stream_context' => stream_context_create($opts)
                                )
                            );
        $auth = new \stdClass();
            $auth->userId = '5647775-b7d7-4a45-9570-654116547654';
        $header = new \SoapHeader('http://test.gbd.chdb.test.net', 'Header', $auth);

        $soap_client->__setSoapHeaders($header);
        $result = $soap_client->getPerson();

Каждый раз, когда я выполняю это, я получаю ответ "Поле userId отсутствует».Не уверен, что я делаю неправильно, так как я устанавливаю атрибут Header в своем скрипте ниже и устанавливаю заголовки для моего SoapClient через __setSoapHeaders.

Работал над этим уже несколько дней и просматривал тонны статей в Интернете - до сих пор нетидти.Любая помощь будет высоко оценена.

...