PHP 5.3.8 的 SoapClient 无法工作

业余时间帮朋友写了个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不熟悉造成的。

在stackoverflow.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。

你可能感兴趣的:(PHP,Web,schema,service,SOAP,Parsing)