PHP 5.3.8 的 SoapClient 无法工作
程序员文章站
2022-05-20 19:12:50
...
业余时间帮朋友写了个Web Service,结果一直告诉我无法使用。我写了个C#的客户端测试了一下,工作很正常嘛。朋友那边都是做PHP开发的。难道PHP对Web Service支持得不好吗?于是我也现查资料,写了个PHP访问Web Service的Demo。这几乎是我这辈子写过的唯一一
业余时间帮朋友写了个Web Service,结果一直告诉我无法使用。我写了个C#的客户端测试了一下,工作很正常嘛。朋友那边都是做PHP开发的。难道PHP对Web Service支持得不好吗?于是我也现查资料,写了个PHP访问Web Service的Demo。这几乎是我这辈子写过的唯一一个PHP程序。
用PHP 自带的 SoapClient ,初始化时给的参数就是WSDL文件。
结果初始化这一步就出错了,总是遇到这样的问题:
SOAP-ERROR: Parsing Schema: can't import schema from ...
上网一搜,这个问题很普遍,似乎不是因为我对PHP不熟悉造成的。
在*.com上对这个问题有这么一个回答:
There are some bugs known in some versions of PHP, perhaps you're running an older PHP version?
事实上我用的已经是最新版的PHP了。刚从php.net上下载下来的PHP 5.3.8 Release。
我曾做过的尝试:
1. 原先我的Web Service用的是wsHttpBinding,我后来改成了basicHttpBinding。无效。
2. 有人说要修改WSDL里面的soap-enc。无论是把它置为空,还是改成 http:/http://www.w3.org/2001/12/soap-encoding,都无效。
如果有谁知道怎么解决,请不吝赐教,谢谢。
目前我是这样解决这个问题的:不用标准的SOAP了,改用RESTful API。