プロジェクトでRESTWebサービスを作成しました。Webサービスの呼び出しは別のマシンから送信される可能性があるため、REST webserviceを介してIPアドレスを確認する必要があります。
これから linkrequest.getRemoteAddr()これを使用します。
しかし、getRemoteAddr()を使用することはできません。私のリクエストとレスポンスはxml形式だからです。
REST service.Tomcatserverでpostメソッドを使用しました。xml形式でリクエストを送信しました。
IPアドレスを取得するにはどうすればよいですか?
JAX-RSを使用していると仮定します。
@GET
Produces("application/xlm")
public String getData(@Context HttpServletRequest request){
String ip = request.getRemoteAddr();
}
@Context
アノテーションを使用すると、のインスタンスを挿入できます
リクエストがxml/json形式の場合でも、IPアドレスは HTTPリクエストヘッダー にあるため、request.getRemoteAddr();
を使用してリモート/クライアントマシンアドレスを取得します。
リクエスト(この場合はxml)の形式(またはコンテンツタイプ)に関係なく、IPアドレスは、xmlペイロード(リクエスト)の送信に使用されるリクエストとともに提供されます。したがって、リクエストを確認するのが最善の方法です。