使用Web服务时出错:SOAP-ENV:客户端内部服务器错误SoapDoc::CheckNameSpace:错误的xml


Error consuming Web Service: SOAP-ENV:Client Internal Server Error SoapDoc::CheckNameSpace: Wrong xml name space

我不得不使用php(Zend Framework)中的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:客户端SOAP-ENV:客户端内部服务器错误SoapDoc::CheckNameSpace:错误的xml名称空间

起初我认为这是WSDL的问题,但后来我用SoapUi进行了一些测试,一切都很顺利。我不知道会发生什么?

经过数小时的调查,我解决了问题,问题是Soap版本,默认情况下,Zend使用Soap 1.2。当我把它改成1.1版本时,一切都很完美。

$params = array(
            'soapVersion' => SOAP_1_1
        );
 $client = new Zend_Soap_Client($url, $params);

我希望能帮助某人:D

问候