Я пытаюсь воссоздать приведенный ниже запрос на мыло
<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.
Работал над этим уже несколько дней и просматривал тонны статей в Интернете - до сих пор нетидти.Любая помощь будет высоко оценена.