无法用php连接到soap api

时间:2014-10-23 15:17:08

标签: php soap wsdl uri

我试图访问此URI:http://143.166.84.118/services/assetservice.asmx?WSDL(戴尔保修信息)

在Windows Powershell中我可以做到这一点没问题:

$service = New-WebServiceProxy -Uri http://143.166.84.118/services/assetservice.asmx?WSDL

但在PHP中:

$DELL_URL = "http://143.166.84.118/services/assetservice.asmx?WSDL"; //Access webproxy by IP
$soap = new SoapClient($DELL_URL);

Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://143.166.84.118/services/assetservice.asmx?WSDL' in C:\path\to\my\script.php:25 Stack trace: #0 C:\path\to\my\script.php(25): SoapClient->SoapClient('http://143.166....') #1 {main} thrown in C:\path\to\my\script.php on line 25

我在php中做错了什么?我知道URL有效,因为它适用于powershell。

根据Pete的建议,我去了http://143.166.84.118/services/assetservice.asmx?WSDL并下载了该文件的本地副本,然后做了以下工作:

$soap = new SoapClient($wsdlfilepath);

使用php时,我是否总是要下载文件的本地副本?

编辑:没有做任何更改,但现在我得到了#34;未被捕获的SoapFault异常:[客户端]看起来我们在......中没有XML文档。"错误。我应该担心吗?您可以通过转到链接查看wsdl文件。它有问题还是多余的空白?我没有看到任何。

0 个答案:

没有答案