Dave
Новичок
Приветствую!
такая проблемка, нужно сформировать вот такой xml запрос, образец:
делаю так:
получаю такой результат:
итого:
1. генерирует SOAP-ENV:Envelope вместо SOAP-ENV:Envelope
2. в хедере: сгеренировало ns2:AuthMember вместо AuthMember
3.в body ns1:AuthenticateMember вместо AuthenticateMember xmlns="http://tempuri.org/"
Как можно это все исправить, в какую сторону копать ? спасибо.
такая проблемка, нужно сформировать вот такой xml запрос, образец:
PHP:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<AuthMember xmlns="http://tempuri.org/">
<somefield>string</somefield>
</AuthMember>
</soap:Header>
<soap:Body>
<AuthenticateMember xmlns="http://tempuri.org/" />
</soap:Body>
</soap:Envelope>
PHP:
class SoapHeaderAuthMember
{
public $somefield;
public function __construct($somefield)
{
$this->somefield = $somefield;
}
}
$client = new SoapClient( 'https://www.somepage.com/service.asmx?WSDL',
array("exceptions"=>0, "trace" => 1 )
);
$authMember = new SoapHeaderAuthMember('somefieldvalue');
$soapHeaders[] = new SoapHeader('http://schemas.xmlsoap.org/ws/2002/07/utility', 'AuthMember', $authMember);
$client->__setSoapHeaders($soapHeaders);
$client->__soapCall('AuthenticateMember',array());
PHP:
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://tempuri.org/" xmlns:ns2="http://schemas.xmlsoap.org/ws/2002/07/utility">
<SOAP-ENV:Header>
<ns2:AuthMember>
<somefield>somefieldvalue</somefield>
</ns2:AuthMember>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<ns1:AuthenticateMember/>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
1. генерирует SOAP-ENV:Envelope вместо SOAP-ENV:Envelope
2. в хедере: сгеренировало ns2:AuthMember вместо AuthMember
3.в body ns1:AuthenticateMember вместо AuthenticateMember xmlns="http://tempuri.org/"
Как можно это все исправить, в какую сторону копать ? спасибо.