无法通过PHP的SoapClient连接到MS Web服务

时间:2012-06-19 12:05:25

标签: php soap appharbor

我在连接到appharbor.com托管的MS网络服务时遇到一些问题

这是php代码:

ini_set('soap.wsdl_cache_enabled',0);
ini_set('soap.wsdl_cache_ttl',0);

$options = array( 
    'soap_version'=>SOAP_1_2, 
    'exceptions'=>true, 
    'trace'=>1, 
    'cache_wsdl'=>WSDL_CACHE_NONE 
);

try {
    $client = new SoapClient("http://ppjparsanje.apphb.com/Prazniki.asmx?wsdl", $options);
    print_r($client->__call("get_praznike", array("json")));
    print_r($client->get_praznike("json"));
    print_r($client->__soapCall("get_praznike", array("json"), array('soapaction' => 'http://ppjparsanje.apphb.com/get_praznike')));
} catch(Excteption $e) {
    echo $e->getMessage()."<br />";
}

错误是:

Fatal error:  Uncaught SoapFault exception: [HTTP] Could not connect to host

这很奇怪,因为服务似乎工作正常。我也尝试添加端口14275,但没有运气。有什么建议吗?

提前致谢!

1 个答案:

答案 0 :(得分:1)

你犯了一个错误,肥皂有版本1,你的选项是1.2,然后将如何连接

    $soapClient = new SoapClient('http://ppjparsanje.apphb.com/Prazniki.asmx?wsdl', array('cache_wsdl' => WSDL_CACHE_NONE) );

     print_r($soapClient);

我得到输出: - 因此,由于错误的代码,你得到错误

       SoapClient Object ( [_soap_version] => 1 [sdl] => Resource id #3 )
好吧,我已经加入了英国邮件api 看看我怎么称它的方法有点不同  但你会得到一个想法

php soap client for uk mail webservice api?