Я пытаюсь создать запрос SOAP следующим образом:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Header> <RequestHeader xmlns="http://im.yahooapis.jp/V201911/Campaign" xmlns:ns2="http://im.yahooapis.jp/V201911"> <ns2:license>1111111111</ns2:license> <ns2:apiAccountId>1111111111</ns2:apiAccountId> <ns2:apiAccountPassword>1111111111</ns2:apiAccountPassword> </RequestHeader> </SOAP-ENV:Header> ...
Проблема в том, что когда я устанавливаю RequestHeader, пространство имен появляется в Envelope.
RequestHeader
Envelope
$client = new SoapClient('https://sandbox.im.yahooapis.jp/services/V201911/CampaignService?wsdl', ['trace' => true]); $header = new SoapHeader('http://im.yahooapis.jp/V201911/Campaign', 'RequestHeader', [ 'license' => '1111111111', 'apiAccountId' => '1111111111', 'apiAccountPassword' => '1111111111' ]); $client->__setSoapHeaders($header); $client->__soapCall('mutate', []); $request = $client->__getLastRequest(); dd($request);
И вот что я получаю в результате:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://im.yahooapis.jp/V201911/Campaign" xmlns:ns2="http://im.yahooapis.jp/V201911"> <SOAP-ENV:Header> <ns1:RequestHeader> <ns2:license>1111111111</ns2:license> <ns2:apiAccountId>1111111111</ns2:apiAccountId> <ns2:apiAccountPassword>1111111111</ns2:apiAccountPassword> </ns1:RequestHeader> ...
как я могу установить пространство имен внутри RequestHeader?