2

異なる場所にある 2 台の別々のマシンにデプロイされた Web サービスがあります。人が Java コードを使用して Web サービスを呼び出すために使用した URL を監視することは可能ですか? 3DNS URL が設定されており、すべてのクライアントがこの URL を使用して、URL の正しいポート番号でボックスに直接アクセスするのではなく、この URL を使用する必要があります。

ありがとうダミアン

4

3 に答える 3

2

ご覧になりましたか:

@Resource
WebServiceContext wsContext;

これにより、Webサービスに送信された現在のメッセージのコンテキストが返されます。そこからユーザーのIPアドレスを取得することができました。

これは、Javaを使用していることを前提としています。

于 2009-12-07T18:09:41.443 に答える
0

OWSM (Oracle Web Services Manager) のようなものを調べるかもしれません...オープンソースの代替品があるかもしれません。

OWSM は、処理して実際のサービス ホストにルーティングする仮想エンドポイントを作成します。このようにして、サービス ホストをファイアウォールの背後に隠し、OWSM ホストだけを外部から見ることができます。ユーザーが仮想エンドポイントに到達すると、OWSM はそれらを認証してバランス サービス ホストに渡すことができます。

于 2008-10-13T05:14:42.263 に答える
0

別の方法として、実際のエンドポイントでサーブレット フィルターを使用することもできます。フィルターは、いくつかの異なることを行うことができます。単に HttpServletRequest から要求された URL をログに記録することも、正しい URL にリダイレクトすることもできます (ただし、それが Web サービスにどのような影響を与えるかはわかりません)。

フィルターを Web サービスと同じコンテキスト パスにマップするだけで済みます (たとえば、軸は /services/* を使用します)。

于 2008-10-23T19:48:37.563 に答える