PHP5 Soap函数不返回,脚本停止

时间:2011-04-18 15:59:25

标签: php soap

我正在使用PHP 5进行SOAP调用,在调用之后,无论我作为参数传递什么,soap函数都不会返回值并且脚本的执行似乎停止了。我尝试过,有没有尝试,没有变化。我通过了空的$ params,非空的params等等。

此行之后:$ client-> getClient($ params);

b有一个回声,它永远不会被回应。就好像脚本在调用完成后停止运行一样。没有显示错误,并且error_log中没有显示任何内容。非常令人沮丧,任何想法?

$ params = array();

$client = new SoapClient("https://sandbox.paymentsgateway.net/WS/Client.wsdl",array(
                    'soap_version'=>SOAP_1_1,
                    'exceptions'=>true,
                    'trace'=>1,
                    'cache_wsdl'=>WSDL_CACHE_NONE,
                    'location'=>'https://sandbox.paymentsgateway.net/WS/Client.svc/basic'
                ));

     try
    {
        echo '4';
        $client->getClient($params);
        echo 'b';
    }
    catch (Exception $e)
    {
        echo $e->getMessage();
    }

1 个答案:

答案 0 :(得分:1)

如果在WSDL模式下工作,则不得使用location - 参数。它们应该互相排斥。请尝试删除location - 参数。

编辑(因为上面没有帮助):

尝试检查SoapClient是否可以正确解析WSDL:

print_r($client->__getFunctions());
print_r($client->__getTypes());

是否有任何身份验证,例如WSDL文档上的HTTP身份验证?

您的脚本是否会遇到执行时间或内存限制?看起来你正在连接到.NET websvice并且它们的WSDL往往会变得非常大 - PHP可能需要一些时间来解析WSDL。