0

次のようにSOAPヘッダーを設定しようとしています:

<tns:Authentication xmlns:tns="iSklep3">
    <ApiKey xsi:type="xsd:string">abc</ApiKey>
</tns:Authentication>

私はこのようにします:

//...
    $client = new SoapClient($wsdlServer);
    $headerBody = array("ApiKey" => "abc");
    $header = new SoapHeader("iSklep3", "Authentication", $headerBody);
    $client->__setSoapHeaders($header);
//...
//calling soap methods
...

メソッドを呼び出すと、Api キーが間違っていると返されますが、正しいはずです。SOAPヘッダーの問題がどこにあるのか知っていますか?

4

1 に答える 1

1

ヘッダーを設定した後に call 関数を呼び出していません。

<?php

$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
                                     'uri'      => "http://test-uri/"));
$header = new SoapHeader('http://soapinterop.org/echoheader/', 
                            'echoMeStringRequest',
                            'hello world');

$client->__setSoapHeaders($header);

$client->__soapCall("echoVoid", null);
?>

ソース: RTM http://php.net/manual/en/soapclient.setsoapheaders.php

于 2013-03-21T19:19:25.903 に答える