Magento Java Soap无效的XML响应

时间:2012-03-08 14:54:02

标签: java xml magento soap

我正在使用apache cxf在soap客户端上写magento。 到目前为止,一切工作都很好,如创建产品更改类别,更新产品等。这可以在我的本地计算机上工作或在本地网络中的magento安装。

所以我在网上的服务器上建立了一个magento商店。除了一个产品媒体的创建之外,所有对api的调用都有效。

这是来自服务器的响应。

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Body>
        <SOAP-ENV:Fault>
            <faultcode>Sender</faultcode>
            <faultstring>Invalid XML</faultstring>
        </SOAP-ENV:Fault>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope> 

也许有人可以帮我解决这个问题。

提前致谢...

弗里茨

3 个答案:

答案 0 :(得分:1)

我有同样的问题。为我修复的是调用https,因为我有一个.htaccess重写,强制所有流量通过SSL。

如果您正在执行将网址重写为https的操作,请在代码中更改网址

$proxy = new SoapClient('http://example.com/api/v2_soap/?wsdl');

$proxy = new SoapClient('https://example.com/api/v2_soap/?wsdl');

答案 1 :(得分:0)

我找到了解决这个问题的方法。

这可以通过在apache cxf客户端中转换消息重组来解决。

HTTPClientPolicy httpClientPolicy = new HTTPClientPolicy();
httpClientPolicy.setAllowChunking(false);

答案 2 :(得分:0)

如果在为.Net Core C#(using this)生成Magento soap客户端的情况下遇到此错误,则可能需要使用默认构造函数创建客户端,而不是提供端点并自己绑定。默认的构造函数设置了客户端的许多参数,包括端点URL,安全模式,允许cookie等。