处理PHP SoapServer标头时,没有向标头函数传递数据
正在服务器端调用My header方法AuthHeader,但param值是一个对象,并打印为“1”。我希望在下面的wsdl中定义的$header->ticket中有一个“ticket”字符串处理PHP SoapServer标头时,没有向标头函数传递数据,php,soap,Php,Soap,正在服务器端调用My header方法AuthHeader,但param值是一个对象,并打印为“1”。我希望在下面的wsdl中定义的$header->ticket中有一个“ticket”字符串 public function AuthHeader($header) { try { error_log(print_r($header)); ... wsdl定义 <element name="AuthHeader">
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>...
我做错了什么?尝试将对象转换为字符串。我过去曾在SimpleXML对象中这样做过,在您的情况下可能也是如此
print (string)$header;
仅供参考,如果要记录打印输出,请将TRUE作为第二个参数传递