处理PHP SoapServer头时,没有数据传入头函数

时间:2012-07-10 16:29:04

标签: php soap

我在服务器端调用了我的头方法(AuthHeader),但是param值是一个对象并打印为“1”。我期待在下面的wsdl中定义的'ticket'字符串(如$ 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>...

我做错了什么?

1 个答案:

答案 0 :(得分:0)

尝试将对象转换为字符串。我以前必须使用SimpleXML对象执行此操作,并且在您的情况下可能是相同的。

print (string)$header;