2012-03-08 81 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);