2015-10-09 3 views
0

мне нужен этот XML в Травмированы:PHP и мыльные заголовки токен аутентификации

<SOAP-ENV:Envelope 
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:ns1="https://server/"> 
<soapenv:Header> 
<authenticate>111111111111</authenticate> 
<SOAP-ENV:Header/> 

Мой PHP код является:

$head = new stdClass(); 
$head->authenticate='1111111111111111'; 
$header = new SoapHeader('ns1','authenticate',$head,false); 
$client = new SoapClient ('https://server',array("trace" => 1, "exceptions" => 1)); 
$client->__setSoapHeaders($header); 

Я получаю XML:

<?xml version="1.0" encoding="UTF-8"?> 
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:ns1="https://server" 
xmlns:ns2="https://server"> 
<SOAP-ENV:Header> 
<ns2:authenticate> 
<authenticate><BOGUS>anc401t9n4dknmgp2bv629ori7</BOGUS> 
</authenticate></ns2:authenticate> 
</SOAP-ENV:Header 
><SOAP-ENV:Body>... 

Как я могу получить необходимый xml? Можно полностью переписать soapheader с клиентом php клиента SoapClient? Или как я могу добавить одну строку без создания нового пространства имен?

ответ

0

Если ваша веб-служба хорошо документирована в пределах своего WSDL, попробуйте использовать wsdltophp.com или PackageGenerator, поскольку он генерирует методы для правильной установки SoapHeader очень легко и так для всего запроса.

Смежные вопросы