我使用WSO2 WSF / PHP。我在PHP中编译并启用了WSF扩展。但是当我向webservice发送请求时,我收到了这个Soap故障响应:
soapenv:Client
XML builder done with pulling. Pull parser cannot pull any more
wsf_php_server.log的最后一行是:
[Mon Sep 6 11:54:04 2010] [debug] /root/download/wso2-wsf-php-src-2.1.0/src/wsf_wsdl.c(1685) [wsf_wsdl]policies found
[Mon Sep 6 11:54:04 2010] [debug] /root/download/wso2-wsf-php-src-2.1.0/src/wsf_wsdl.c(1752) operation name is Search
[Mon Sep 6 11:54:04 2010] [debug] /root/download/wso2-wsf-php-src-2.1.0/src/wsf_wsdl.c(1848) [wsf_wsdl]valid policies not found
[Mon Sep 6 11:54:04 2010] [debug] /root/download/wso2-wsf-php-src-2.1.0/src/wsf_worker.c(409) [WSF/PHP] Client HTTP version HTTP/1.1
[Mon Sep 6 11:54:04 2010] [debug] soap_builder.c(883) Identified soap version is soap11
[Mon Sep 6 11:54:04 2010] [debug] om_stax_builder.c(651) -1 returned from the xml reader when reading xml
[Mon Sep 6 11:54:04 2010] [error] soap_builder.c(329) Error occurred when building node
我已尝试重新启动httpd进程 - 正如此论坛主题建议:http://wso2.org/forum/thread/5151
WSF / PHP安装在以下服务器上:Apache / 2.2.16(FreeBSD)mod_ssl / 2.2.16带有Suhosin-Patch的OpenSSL / 0.9.8k DAV / 2 PHP / 5.3.3。 FreeBSD版本:FreeBSD 8.0-RELEASE-p4。
非常欢迎任何有关进一步调试或解决方案的建议。
更新
WSO2 WSF / PHP示例工作 - 至少当我将样本用作客户端和服务器时。如果我使用SoapUI作为客户端,我会收到错误:
Transport identified SOAP version does not match with SOAP message version
答案 0 :(得分:0)
XML构建器完成拉错误的原因是,我的请求XML中出现错误。 Header元素重复:
<soapenv:Header xmlns:wsa="http://www.w3.org/2005/08/addressing">
<soapenv:Header xmlns:wsa="http://www.w3.org/2005/08/addressing">
希望这可以帮助其他人处理此错误消息。
答案 1 :(得分:0)
我在SoapUI 5.2.1中遇到了相同的情况,并且使用工具的默认HTTP请求的请求压缩设置修复了该问题。尝试将请求压缩从 gzip 更改为无 HTTP request Settings