【发布时间】:2012-04-23 20:10:21
【问题描述】:
我最近问了一个关于使用 java 提供的肥皂库 Changing default soap URI 构建 SOAP 消息的问题,所以这个问题最终可能会渗入这个问题,具体取决于最后一个问题的答案可能是什么(事实上,这个问题的答案可能意味着我不必担心我的其他问题)
我已经通过 java 套接字库连接到我正在与之通信的设备并来回传递消息,但是今天我决定使用 java 以 SOAP 的方式提供给我的所有东西,为什么不只是使用它提供的 SOAP 库?
嗯,现在很头疼,但我相信它一旦启动并运行起来就会有好处。无论哪种方式,当我之前与设备通信时,我只是在port 80 上打开IP 地址xxx.xxx.xxx.xxx 的套接字,但是当我使用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 也没有成功)。
在仔细阅读了 stackoverflow 和一般的谷歌搜索之后,我还没有找到从套接字通信切换到肥皂时遇到问题的人。
编辑:
不幸的是,我还没有解决问题,但是我确实使用 Wireshark 发现消息发送正确响应也正确。我很困惑为什么响应会看到“null” - 任何接受者?
提前致谢,
-M
【问题讨论】: