Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Magento Java Soap无效的XML响应_Java_Xml_Magento_Soap - Fatal编程技术网

Magento Java Soap无效的XML响应

Magento Java Soap无效的XML响应,java,xml,magento,soap,Java,Xml,Magento,Soap,我正在使用ApacheCXF为magento编写soap客户端。 到目前为止,一切工作正常,如创建产品、更改类别、更新产品等。这在我的本地机器上或在本地网络中的magento安装上都能正常工作 所以我在网上的服务器上建立了一个magento商店。对api的所有调用都有效,只有一个除外,即创建产品媒体 这是来自服务器的响应 <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">

我正在使用ApacheCXF为magento编写soap客户端。 到目前为止,一切工作正常,如创建产品、更改类别、更新产品等。这在我的本地机器上或在本地网络中的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> 

发件人
无效的XML
也许有人能帮我

先谢谢你


弗里茨

我也有同样的问题。对我来说,解决这个问题的方法是调用https,因为我有一个.htaccess重写,强制所有流量通过SSL

如果要将URL重写为https,请在代码中更改URL

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


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

这可以通过在ApacheCXF客户机中打开MessageChungking来解决

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

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

很难测试。使用soapUi/wireshark并检查。有时端点配置错误。您好!我正在打印来自cxf客户端的出站信封,并将其用作soap中的消息。奇怪但确实有效。好吧,但仍然不在ide中。所以我不明白。这是同一条消息以及在此之前发送的所有其他消息…尝试在您的magento服务器上记录传入消息,这会导致此“无效xml”响应消息我可以通过将各种图像上载到服务器来找到此错误的提示。两者之间的差异是数据量的增加。在某一点上,可以发送消息,并且图像数据已存储在magento中。所以这似乎是一个大小限制错误。。。也许用php?有人有线索吗?同时,我将联系我的提供商,以获取有关此问题和服务器配置的进一步信息。我已经使用API几个月了,就在上周,它以同样的方式失败了。令人沮丧,因为我在网上找不到任何东西。有兴趣。。。现在,我通过在cxf中禁用分块解决了这个问题。这使我能够一步发送整个soapmessage。
HTTPClientPolicy httpClientPolicy = new HTTPClientPolicy();
httpClientPolicy.setAllowChunking(false);