0

我不得不在 php(Zend 框架)中使用 Web 服务,一切似乎都很好,但是当我想通过这样的 try catch 系统从服务器检索响应时:

try{
    $response = $client->METHOD_TO_CONSUME(array(
            'DATA1' => $data1,
            'DATA2' => $data2
            )
        );
} catch (SoapFault $e) {
    Mage::log("Fault Message: " . $e->getMessage());
    Mage::log("Fault Code: " . $e->faultcode . ' ' . $e->faultstring . ' ' . $e->detail);
    Mage::log("Fault: " . (string) $e);
}

但后来我得到了这个错误: SOAP-ENV:Client SOAP-ENV:Client Internal Server Error SoapDoc::CheckNameSpace: Wrong xml name space

首先,我认为这是 WSDL 的问题,但后来我用 SoapUi 进行了一些测试,一切正常。我不知道会发生什么?

4

1 回答 1

2

经过数小时的调查,我解决了,问题出在 Soap 版本上,默认情况下,Zend 使用 Soap 1.2。当我将其更改为 1.1 版本时,一切正常。

$params = array(
            'soapVersion' => SOAP_1_1
        );

 $client = new Zend_Soap_Client($url, $params);

我希望能帮助别人:D

问候

于 2013-08-12T21:08:23.677 回答