我在SOAP
脚本中使用php
来从Linux Centos 6
服务器调用Web服务。在本周,我从soapCall方法得到could not connect to host
错误。当然,这种异常并不是一直发生的,但我在大多数情况下都会看到这种异常,例如,如果我调用soapCall
5次,则会发生3次错误。我的代码如下所示,我几个月没有改变它,但最近它在大多数情况下都会出现这个错误。
$wsdl="http://x.x.x.x:x/gw/services/Service?wsdl";
//Set key as HTTP Header
$aHTTP['http']['header'] = "key:" .$key ."\r\n";
$context = stream_context_create($aHTTP);
try
{
$client = new SoapClient($wsdl,array("soap_version" => SOAP_1_2,'trace' => 1,"stream_context" => $context));
}
catch(Exception $e)
{
return "something";
}
//I make $parametrs
try
{
$res = $client->__soapCall("send",array($parametrs));
}
catch(Exception $e)
{
print_r($e->getMessage()); //Most of the time it prints could not connect to host
}
我已经阅读了相关问题的大多数答案,但我的问题还没有解决。我也添加了
ini_set("soap.wsdl_cache_enabled", "0");
ini_set("soap.wsdl_cache_ttl","0");
但没有改变。我搜索了很多关于原因的信息,我找到了关于SSL
的一些内容,但我没有找到确切的解决方案。
必须提到的是,我可以在浏览器中看到wsdl
网址,并且我已经ping了它。