フィードがあるので、次のようなユーザー名とパスワードを使用してヘッダータイトル「CredentialsHeader」を送信するように要求されます。
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Header>
<CredentialsHeader xmlns="http://www.property24.com/Services/P24ListingService13">
<EMail>string</EMail>
<Password>string</Password>
</CredentialsHeader>
</soap12:Header>
....
だから私のPHPでこれを取得するために私はします:
$headers = array();
$CredentialObject = new SoapVar(array('EMail' => 'ricky@email.com', 'Password' => 'test'), SOAP_ENC_OBJECT);
$headers[] = new SoapHeader('dto', "CredentialsHeader", $CredentialObject, false
);
$client->__setSoapHeaders($headers);
$client->__soapCall('EchoAuthenticated', array("hello"=>"hi"));
今私のリクエストは次のようになります
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://www.property24.com/Services/P24ListingService13" xmlns:ns2="dto">
<SOAP-ENV:Header>
<ns2:CredentialsHeader>
<EMail>ricky@email.com</EMail>
<Password>test</Password>
</ns2:CredentialsHeader>
</SOAP-ENV:Header>
....
そして、これは認証に失敗します-生成されたSOAPリクエストが最初のサンプルブロックと大きく異なるのはなぜですか?どうすれば同じように見せることができますか?