私は最近、Java が提供するSOAPライブラリを使用して SOAP メッセージを作成することについて質問しました。この質問への回答は、他の質問について心配する必要がないことを意味する場合があります)
Javaソケットライブラリを介して通信しているデバイスに接続し、メッセージをやり取りしましたが、今日、SOAPの方法でJavaから利用できるすべてのものを使用することにしました。 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");
ここで、は明らかにデバイスの IP アドレスです (そして、2 番目の引数が成功しなかっxxx.xxx.xxx.xxx
たメソッドへの呼び出しも試みました)。SOAPConnection.call
http://xxx.xxx.xxx.xxx:80
stackoverflow と一般的な Google 検索を熟読した後、ソケット通信から SOAP への切り替えで問題が発生した人をまだ見つけていません。
編集:
残念ながら、私は問題を解決していませんが、Wireshark を使用して、メッセージが正しく送信されていることがわかり、応答も同様です。応答が「null」と表示される理由について、私はかなり困惑しています-テイカーはいますか?
前もって感謝します、
-M