PHP SoapClient SSL连接超时错误

时间:2012-02-02 14:49:34

标签: php web-services soap ssl https

在启动PHP SOAP客户端Web服务时,我在生产中遇到了这些错误。

以下是生成错误的代码行:

//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%。

此外,这是一个PHP SOAP over HTTPS Web服务,托管web服务的服务器也有防火墙,但我们所有的前端服务器都可以通过防火墙访问。

default_socket_timeout也设置为60秒,最长执行时间为30秒。

我的问题:

我想知道为什么会这样。

1 个答案:

答案 0 :(得分:0)

试试这个:

    $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")
    );