Zend_Soap_Client得到“看起来我们没有XML文档”错误

时间:2012-08-22 08:47:34

标签: php zend-framework soap

我正在尝试从提供程序访问Web服务(SOAP)。我无法控制服务器响应。为此我正在使用,Zend_Soap_Client在构造函数中传递WDSL和选项,我可以执行getFunctions,但是当我尝试访问第一个Soap方法时我得到了

[Sender] looks like we got no XML document

环顾四周并检查我从soapUI服务器获得的答案后,我发现答案缺少XML声明:

<?xml version="1.0" encoding="XXXXXXX"?>

那么,是否存在使Zend_Soap_Client省略XML声明中的XML验证的方法?假设缺少声明是我的问题。

以下是我用于此的代码:

private $_connection_settings = array('login' => self::API_user, 'pwd' => self::API_password, 'key'=> self::API_Key);


private static $CONNEXION_PARAMS = array(                                            
                                        'soap_version'   => SOAP_1_1,
                                        'encoding'      => 'UTF-8'
                                     );

...

//somewhere in my code: 

$client = new Zend_Soap_Client('http://server_URL?wsdl', self::$CONNEXION_PARAMS);
$response = $client->fistSoapMethod($this->_connection_settings);            

未分配回复。

谢谢!

1 个答案:

答案 0 :(得分:1)

除SOAP Fault之外,您的代码中没有其他警告/错误吗?

不确定它是否为WSDL。始终可以尝试使用online tool验证WSDL。

您是否使用过getLastResponse()和getLastRequest()方法?听起来你可能在请求开始时发送了一些垃圾。我在测试时总是做的另一件事就是关闭WSDL缓存。

ini_set("soap.wsdl_cache_enabled", 0);