0

Java で開発し、Glassfish にデプロイした Web サービスの要求/応答エンベロープを監視しようとしています。wsimportによってwsdlから生成されたバインディングを使用している簡単な例のJavaクライアントがあります。

交換を監視するためにさまざまなツール/ユーティリティ (WireShark、TCPMon、および Eclipse 用の TCPMonitor) を試しましたが、それぞれがまったく同じことを示しています... wsdl を取得するための glassfish への呼び出し、そしてそれだけです! データベースが更新されているので、私の要求が通っていることはわかっています。ただし、これを引き起こす実際のリクエスト/レスポンス エンベロープを確認できません。

ここで根本的な何かが欠けているように感じます。リクエスト/レスポンスは別のポートを使用していますか? wsdl は、サービスが監視しているポートと同じ 8080 にあることを示しています。

何か案は?ありがとう。

4

2 に答える 2

0

次の 2 つのオプションがあります。

  • ポートなしで Wireshark フィルタに IP アドレスのみを指定すると、すべてのトラフィックが表示されます。

  • クライアントにコードのこの部分を追加すると、SOAP エンベロープがキャッチされます。

コード:

SOAPMessage msg = ((SOAPMessageContext) context).getMessage ();
SOAPPart sp = msg.getSOAPPart ();
SOAPEnvelope env = sp.getEnvelope ();
于 2013-02-15T11:27:45.150 に答える
0

同様の問題がありました。唯一の違いは、WS が jboss_4.2.3 にデプロイされたことです。私はwiresharkを使用して問題を解決することができました。ソリューションの詳細については、こちらを参照してください

残りの質問について:

  • 通常、呼び出しは 8080 で行われますが、応答は別のポートで返されます (毎回別のポート)。
于 2013-02-15T10:09:24.307 に答える