2012-03-08 48 views
3

我正在使用apache cxf在magento的soap客户端上编写代码。 到目前为止,一切工作正常,如创建产品更改类别,更新产品等等。这是适用于我的本地机器或本地网络中的magento安装。Magento Java Soap无效XML响应

因此,我在网络上的服务器上建立了一个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> 

也许有人可以帮助我这个。

在此先感谢...

弗里茨

+0

这很难测试。使用soapUi/wireshark并检查。有时端点配置错误。 – 2012-03-08 14:59:06

+0

嗨!以及我从cxf客户端打印出站信封,并将其用作肥皂中的消息。奇怪,但它真的有效。但仍然不在IDE中。所以我不明白。它是相同的消息和所有其他消息之前发送这一项工作... – stereoscope 2012-03-08 15:16:43

+0

尝试登录到您的magento服务器上导致这个“无效的XML”响应消息传入消息 – hitty5 2012-03-09 08:05:57

回答

1

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

如果你正在做的事情就像重写URL为https,在你的代码中,URL

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

改变

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

有趣...现在我通过停用cxf中的分块解决了这个问题。这使我能够一步发送整个肥皂消息。 – stereoscope 2012-06-25 20:01:46

0

我找到了解决这个问题。

这可以通过在apache cxf客户端中打开消息chungking来解决。

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