PHP SoapClient SSL连接超时错误
问题描述:
在启动PHP SOAP客户端Web服务时,我在生产中遇到这些错误。PHP SoapClient SSL连接超时错误
这里是代码行,其产生错误:
//the php soap server is at different server
$client = new SoapClient(SITE_ROOT . "locally hosted wsdl",
array("trace" => 1, "exception" => 1));
正在生成的错误是:
ERRNO: 2 \nTEXT: SoapClient::__doRequest() [<a href='soapclient.--dorequest'>soapclient.--dorequest</a>]: SSL: connection timeout \nLOCATION:
所以这些错误只发生在生产和发生的2-3%总请求。
此外,这是一个基于HTTPS web服务的PHP SOAP,托管web服务的服务器也有防火墙,但是我们所有的前端服务器都可以通过防火墙访问。
此外,default_socket_timeout
设置为60秒,最大执行时间为30秒。
我的问题:
我想知道为什么发生这种情况。
答
试试这个:
$client=new SoapClient(
SITE_ROOT."your/wsdl.here.wsdl",
array(
"exceptions" => true,
"connection_timeout" => 60,
"style" => SOAP_RPC,
"use" => SOAP_ENCODED,
)
);
$mxResponse=$client->__soapCall(
"someFunctionName",
array("params", "here")
);