Home  >  Article  >  php教程  >  PHP 5.3.8 的 SoapClient 无法工作

PHP 5.3.8 的 SoapClient 无法工作

WBOY
WBOYOriginal
2016-06-06 19:59:311035browse

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

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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn