最近,我問了一個問題關於建立使用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
再次感謝埃裏克快速回復!事實證明,我很快地說響應正確發送 - 響應的SOAP部分是確定的,但是我正在與之通信的設備實際上沒有用HTTP頭(它在本地網絡上)回覆,只是SOAP xml。 Wireshark的顯示,SOAP被送回正確的,但它得到的SOAP響應的中間突然斷了,而且我相信,這是Java的給它的斧頭,當它意識到沒有HTTP標頭存在。看起來像是爲我重載呼叫功能或套接字。 – MandM 2012-04-23 21:25:08
我會繼續,並正確地打電話給你的答案 - 再次感謝。 – MandM 2012-04-23 21:26:48