PHP SOAP调用中止连接

时间:2012-11-09 09:26:12

标签: php soap wsdl

以下php soap调用:

$retVal = parent::__soapCall($function_name, $arguments, $options, $input_headers, $output_headers);

变量如下:

 1. $function_name = "query"
 2. $arguments = Array ( [0] => Array ( [store] => Array ( [scheme] => workspace [address] => SpacesStore ) [query] => Array ( [language] => lucene [statement] => PATH:"app:company_home" ) [includeMetaData] => ) )
 3. $options = Array ( )
 4. $input_headers = Array ( [0] => SoapHeader Object ( [namespace] => http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd [name] => Security [data] => [mustUnderstand] => 1 ) ) 
 5. $output_headers = Array ( )

无效并导致连接中止。当然,我无法获得$retVal内容,因为脚本执行会在__soapCall停止。 我不是SOAP的专家。我甚至不知道它是否缺少一些lib(到目前为止它还没有工作,新的服务器安装):open-ssl,curl和soap扩展都已安装并启用。

是否有人可以就脚本崩溃的原因提供一些建议,而不是提供一些视频错误?

感谢。

2 个答案:

答案 0 :(得分:2)

据推测,这是SoapClient::__soapCall

任何错误日志中是否出现任何内容?

尝试使用以下功能寻找线索:

  1. __getLastRequest(用它来检查XML看起来是否正确)
  2. __getLastRequestHeaders(如上)
  3. __getLastResponse(听起来这可能是空的,但值得一试)
  4. __getLastResponseHeaders(如上所述)

答案 1 :(得分:0)

解决方案是我错过了一个php扩展,导致调用死亡。

缺少类是DOMdocument并且安装它非常简单(不是检测它):

yum -y install lib-xml
service httpd restart

缺少获得的lib,全部工作。