我正在使用PHP SoapServer类,并尝试将纯XML放在SOAP响应的主体中.
情况1:
我的WSDL有
<element name="getDataResponse" type="xsd:string"/>
我编码响应
return new SoapVar($my_xml,XSD_ANYXML)
PHP SoapClient说
SOAP-ERROR: Encoding: Violation of encoding rules
案例2:
WSDL
<element name="getDataResponse" type="xsd:string"/>
响应编码
return new SoapVar($my_xml,XSD_STRING)
响应XML全部<编码为& lt;和> as& gt;
案例3:
WDSL
<element name="getDataResponse">
<complexType>
...
</complexType>
</element>
其中complexType对应要返回的XML结构
响应编码
return new SoapVar($my_xml,XSD_ANYXML)
现在返回类型是一个对象,而不是XML字符串
案例4
除了编码为SOAP_ENC_OBJECT之外,与案例3相同.结果将是对象.
请帮忙!我怎样才能将纯XML文本作为SOAP响应的主体?
解决方法:
你试过这个吗?
return new SoapVar(
'<ns1:xmlDocument>'.$my_xml.'</ns1:xmlDocument>',
XSD_ANYXML
);
还有其他解决方案at this PHP page.(参见’用户贡献的注释’部分)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。