无法使用soap和wsdl访问Web服务器

时间:2015-03-06 12:28:26

标签: php rest soap wsdl

我写了以下代码:

<?php



$url = "https://ops.isignmedia.com/iSign-ear-iSign-ejb/DownloadServices4?wsdl";


$client = new SoapClient($url);
$fcs = $client->__getFunctions();
var_dump($fcs);

$res = $client->downloadData(array('startDateTime' => 'null', 'endDateTime' => 'null','accountCode' => 'xxxx', 'userName' => 'xxxx', 'password' => 'xxxx'));




print_r($res);



?>

我得到的错误如下:

Fatal error: Uncaught SoapFault exception: [HTTP] Could not connect to host in /home/gsapte/public_html/grupsapte/test_webservice/isign.php:10 Stack trace: #0 [internal function]: SoapClient->__doRequest('<?xml version="...', 'http://ip-172-3...', '', 1, 0) #1 /home/gsapte/public_html/grupsapte/test_webservice/isign.php(10): SoapClient->__call('downloadData', Array) #2 /home/gsapte/public_html/grupsapte/test_webservice/isign.php(10): SoapClient->downloadData(Array) #3 {main} thrown in /home/gsapte/public_html/grupsapte/test_webservice/isign.php on line 10

如果我使用另一个wsdl地址然后使用此方法,我可以访问我需要的所有信息。问题:我无法访问wsdl的原因是什么?它可以是https而不是http吗?

1 个答案:

答案 0 :(得分:1)

如果你打开这个WSDL,那么在底部你会看到:

<port binding="tns:DownloadWebServices4Binding" name="DownloadWebServices4Port">
    <soap:address location="http://ip-172-31-46-241.us-west-2.compute.internal:8080/iSign-ear-iSign-ejb/DownloadServices4"/>
</port>

此主机可能无法使用。这在错误消息中也可见。

如果您知道此服务的其他端点,请尝试将位置或uri参数用于SoapClient。