0

サーバー側でヘッダー メソッド (AuthHeader) が呼び出されていますが、param 値はオブジェクトであり、「1」として出力されます。以下のwsdlで定義されているように、「チケット」文字列($header->ticketのように)を期待しています。

public function AuthHeader($header)
{
    try {
        error_log(print_r($header));
        ...

wsdl定義...

        <element name="AuthHeader">
            <complexType>
                <sequence>
                    <element name="ticket" type="xsd:string"/>
                </sequence>
            </complexType>
        </element>

すべてが正しくセットアップされていると思います。着信リクエストをダンプすると、ヘッダーが正しいことが示されます。

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://www.example.com/SOAP/"><SOAP-ENV:Header><ns1:AuthHeader><ns1:ticket>myticketval</ns1:ticket></ns1:AuthHeader></SOAP-ENV:Header><SOAP-ENV:Body>...

私は何を間違っていますか?

4

1 に答える 1

0

オブジェクトを文字列としてキャストしてみてください。過去に SimpleXML オブジェクトを使用してそれを行う必要がありましたが、あなたの場合も同じかもしれません。

print (string)$header;
于 2012-07-10T16:43:23.813 に答える