【问题标题】:Magento Java Soap invalid XML responseMagento Java Soap 无效的 XML 响应
【发布时间】:2012-03-26 01:10:00
【问题描述】:

我正在使用 apache cxf 为 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> 

也许有人可以帮助我。

提前谢谢...

弗里茨

【问题讨论】:

  • 很难测试。使用soapUi/wireshark 并检查。有时端点配置错误。
  • 嗨!好吧,我正在从 cxf 客户端打印出出站信封,并将其用作肥皂中的消息。奇怪但确实有效。好吧,但仍然不在 ide。所以我不明白。这是同一条消息,所有其他消息在这一项工作之前发送...
  • 尝试在您的 magento 服务器上记录传入消息,这会导致此“无效 xml”响应消息
  • 我可以通过将各种图像上传到服务器来找到此错误的提示。它们之间的区别在于数据量的增加。在某一时刻,可以发送消息,并且图像数据已存储在 magento 中。所以这似乎是一个大小限制错误......也许在 php 中?有人有线索吗?同时,我将联系我的提供商以获取有关此问题和服务器配置的更多信息。
  • 我已经使用 API 几个月了,就在上周它以同样的方式失败了。令人沮丧,因为我还没有在网上找到任何东西。

标签: java xml magento soap


【解决方案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');

【讨论】:

  • Interestin... 现在我通过停用 cxf 中的分块解决了这个问题。这使我能够一步发送整个肥皂信息。
【解决方案2】:

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

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

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

【讨论】:

    【解决方案3】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-05
      • 1970-01-01
      • 2017-12-01
      • 2015-12-12
      • 2013-06-23
      • 1970-01-01
      相关资源
      最近更新 更多