1

私の SOAP WSDL リクエストは次のように表示されます。

<?xml version="1.0" encoding="UTF-8"?> 
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body><unit>3452</unit>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

しかし、SOAPヘッダーでHTTP認証パラメーターを送信し、SOAPサーバーからキャプチャしました。

$client = new SoapClient("call.wsdl",array(
"trace"      => 1,
"exceptions" => 0,
"login" => 'xxxxx',
"password" => 'xxxx'));

$result = $client->getCALL($unit);

SOAP 認証パラメーターはサーバーに送信されますが、SOAP 要求テキストには表示されません。リクエストメッセージでそれらを見る必要があります。

次のように、リクエスト テキストを取得するには、どのタイプのコードを WSDL ファイルに追加する必要がありますか。

<?xml version="1.0" encoding="UTF-8"?> 
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
  <SOAP-ENV:Header>
    <Login>BonZ</Login>
    <Password>xxxx</Password>
  </SOAP-ENV:Header>
  <SOAP-ENV:Body>
    <unit>3452</unit>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
4

1 に答える 1

2
$CREDENTIALS = 'Login:Password';
        $auth = base64_encode($CREDENTIALS);
        $context = array('http' =>
            array(
                'header'  => "Authorization: Basic ".$auth
            )
        );

$trac["stream_context"]=stream_context_create($context);
$client = new SoapClient("call.wsdl",array(
"trace"      => 1,
"exceptions" => 0,
"login" => 'xxxxx',
"password" => 'xxxx'
"stream_context"=>stream_context_create($context)
));
于 2013-02-11T19:16:18.620 に答える