2012-04-23 109 views
0

最近,我問了一個問題關於建立使用java提供肥皂庫Changing default soap URI一個SOAP消息,使這個問題最終可能會出血到這一個有點取決於什麼答案的最後一個可能(事實上,對這個問題的答案可能意味着我不擔心我的其他問題)肥皂通信不

我已經連接到我通過通信設備java套接字庫和消息來回傳遞,但是今天我決定用所有可用的東西從java中以SOAP的方式提供給我,爲什麼不使用它提供的SOAP庫呢?

嗯,這是一個頭疼的了,但我敢肯定,這將是有益的,一旦它運行起來。無論哪種方式,我以前與設備溝通,我只是開於IP地址xxx.xxx.xxx.xxx插座上port 80,但是當我使用SOAPConnection.call方法我收到以下錯誤:

Apr 23, 2012 3:47:06 PM com.sun.xml.internal.messaging.saaj.client.p2p.HttpSOAPConnection post 
SEVERE: SAAJ0008: Bad Response; null 
com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: Bad response: (-1null 
    at com.sun.xml.internal.messaging.saaj.client.p2p.HttpSOAPConnection.call(Unknown Source) 
    at DeviceCommunicator.openConnection(DeviceCommunicator.java:184) 
    at ClientRunner.main(ClientRunner.java:29) 
Caused by: com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: Bad response: (-1null 
    at com.sun.xml.internal.messaging.saaj.client.p2p.HttpSOAPConnection.post(Unknown Source) 
    ... 3 more 

這裏是調用,如果幫助:

SOAPConnection sc = SOAPConnectionFactory.newInstance().createConnection(); 
     SOAPMessage response = sc.call(sm, "http://xxx.xxx.xxx.xxx"); 

xxx.xxx.xxx.xxx顯然是設備的IP地址(我已經盡力了SOAPConnection.call方法,其中第二個參數是http://xxx.xxx.xxx.xxx:80沒有成功以及呼叫)。

的計算器和一般的谷歌搜索一些詳閱後,我還沒有發現有人已經有一個問題,從socket通信切換到肥皂。

編輯:

不幸的是,我還沒有解決的問題,但是我確實發現使用Wireshark的正在發送正確等是響應消息。我很困惑,爲什麼響應會看到「空」 - 任何接受者?

由於提前,

-M

回答

0
SAAJ0008: Bad Response; null 

此錯誤消息指出服務器顯示錯誤消息(例如,HTTP 4XX5XX)響應。在這種情況下,null指的是java類不能將錯誤代碼轉換爲關聯的消息。例如。狀態碼400,501和543將產生以下錯誤信息:

SAAJ0008: Bad Response; Bad Request 
SAAJ0008: Bad Response; Not Implemented 
SAAJ0008: Bad Response; null 

最有可能你的服務器是相當挑剔的要求是如何被格式化的,你發送的特定請求不能得到妥善處理。我建議您嘗試驗證使用java套接字庫發送的請求與SOAPConnection發送的請求之間的差異,以查看是否有差異。

+0

再次感謝埃裏克快速回復!事實證明,我很快地說響應正確發送 - 響應的SOAP部分是確定的,但是我正在與之通信的設備實際上沒有用HTTP頭(它在本地網絡上)回覆,只是SOAP xml。 Wireshark的顯示,SOAP被送回正確的,但它得到的SOAP響應的中間突然斷了,而且我相信,這是Java的給它的斧頭,當它意識到沒有HTTP標頭存在。看起來像是爲我重載呼叫功能或套接字。 – MandM 2012-04-23 21:25:08

+0

我會繼續,並正確地打電話給你的答案 - 再次感謝。 – MandM 2012-04-23 21:26:48