パッケージ jakarta.xml.ws.spi.http
クラス HttpExchange
- java.lang.ObjectSE
-
- jakarta.xml.ws.spi.http.HttpExchange
public abstract class HttpExchange extends ObjectSE
このクラスは、受信した HTTP リクエストと生成されるレスポンスを 1 つの交換でカプセル化します。これは、クライアントからのリクエストを調べ、レスポンスを作成して送信するためのメソッドを提供します。基礎となるリソースを解放または再利用するには、
HttpExchangeを閉じる必要があります。取引所の閉鎖に失敗した場合の影響は定義されていません。- 導入:
- 1.7、JAX-WS 2.2
- 作成者:
- Jitendra Kotamraju
フィールドのサマリー
フィールド 修飾子と型 フィールド 説明 static StringSEREQUEST_CIPHER_SUITE標準プロパティ: HTTPS 経由でリクエストを受信したときの暗号スイートの値static StringSEREQUEST_KEY_SIZE標準プロパティ: HTTPS 経由でリクエストを受信したときのアルゴリズムのビットサイズstatic StringSEREQUEST_X509CERTIFICATE標準プロパティ: リクエストに関連付けられている SSL 証明書(ある場合)
コンストラクター概要
コンストラクター コンストラクター 説明 HttpExchange()
方法の概要
すべてのメソッド インスタンスメソッド 抽象メソッド 修飾子と型 メソッド 説明 abstract voidaddResponseHeader(StringSE name, StringSE value)指定された名前と値でレスポンスヘッダーを追加します。abstract voidclose()交換を終了するには、これを呼び出す必要があります。abstract ObjectSEgetAttribute(StringSE name)このHttpExchangeに関連付けられている属性を返します。abstract SetSE<StringSE>getAttributeNames()このHttpExchangeに関連付けられているすべての属性名を指定します。abstract StringSEgetContextPath()アプリケーション内のすべてのエンドポイントのコンテキストパスを返します。abstract HttpContextgetHttpContext()この交換のHttpContextを返します。abstract InetSocketAddressSEgetLocalAddress()リクエストを受信した未解決のローカルアドレスを返します。abstract StringSEgetPathInfo()Web サービスパスに続くが、リクエスト URI のクエリ文字列の前にあり、"/" 文字で始まる追加のパス情報を返します。abstract StringSEgetProtocol()リクエストからのプロトコル文字列を protocol/majorVersion.minorVersion の形式で返します。abstract StringSEgetQueryString()パスの後にリクエスト URI に含まれているクエリ文字列を返します。abstract InetSocketAddressSEgetRemoteAddress()このリクエストを呼び出すリモートエンティティの未解決のアドレスを返します。abstract InputStreamSEgetRequestBody()リクエスト本文を読み取ることができるストリームを返します。abstract StringSEgetRequestHeader(StringSE name)指定されたリクエストヘッダーの値を返します。abstract MapSE<StringSE,ListSE<StringSE>>getRequestHeaders()このリクエストに含まれていた HTTP ヘッダーを含む不変のマップを返します。abstract StringSEgetRequestMethod()HTTP リクエストメソッドを取得するabstract StringSEgetRequestURI()プロトコル名から HTTP リクエストの最初の行のクエリ文字列までのリクエストの URI の一部を返します。abstract OutputStreamSEgetResponseBody()レスポンス本文を書き込む必要のあるストリームを返します。abstract MapSE<StringSE,ListSE<StringSE>>getResponseHeaders()HTTP レスポンスヘッダーを格納でき、このレスポンスの一部として送信される可変マップを返します。abstract StringSEgetScheme()このリクエストを行うために使用されたスキームの名前を返します(例: http または https)。abstract PrincipalSEgetUserPrincipal()このHttpExchangeの認証済みユーザーを表すPrincipalSE を返します。abstract booleanisUserInRole(StringSE role)認証されたユーザーが指定された論理「ロール」に含まれるかどうかを示します。abstract voidsetStatus(int status)レスポンスの HTTP ステータスコードを設定します。
メソッドの詳細
getRequestHeaders
public abstract MapSE<StringSE,ListSE<StringSE>> getRequestHeaders()
このリクエストに含まれていた HTTP ヘッダーを含む不変のマップを返します。このマップのキーはヘッダー名になり、値は含まれている各値を含む文字列のリストになります(複数回リストされたヘッダー、またはコンマで区切られた値のリストを受け入れるヘッダーのいずれか)単一行)。いずれの場合も、ヘッダー名の値は、リクエストに含まれている順序で表示されます。Map のキーでは、大文字と小文字は区別されません。
- 戻り値:
- リクエストヘッダーへのアクセスに使用できる不変のマップ
getRequestHeader
public abstract StringSE getRequestHeader(StringSE name)
指定されたリクエストヘッダーの値を返します。リクエストに指定された名前のヘッダーが含まれていなかった場合、このメソッドは null を返します。同じ名前のヘッダーが複数ある場合、このメソッドはリクエストの最初のヘッダーを返します。ヘッダー名では大文字と小文字は区別されません。これは、(getRequestHeaders()を使用する代わりに)ヘッダーを取得するための便利なメソッドです。- パラメーター:
name- リクエストヘッダーの名前- 戻り値:
- リクエストされたヘッダーの値を返します。リクエストにその名前のヘッダーがない場合は null を返します
getResponseHeaders
public abstract MapSE<StringSE,ListSE<StringSE>> getResponseHeaders()
HTTP レスポンスヘッダーを格納でき、このレスポンスの一部として送信される可変マップを返します。マップ内のキーはヘッダー名になりますが、値は、複数回含める必要がある各値を含む文字列のリストである必要があります(含まれる順序で)。Map のキーでは、大文字と小文字は区別されません。
- 戻り値:
- レスポンスヘッダーを設定するために使用できる可変マップ。
addResponseHeader
public abstract void addResponseHeader(StringSE name, StringSE value)
指定された名前と値でレスポンスヘッダーを追加します。このメソッドを使用すると、レスポンスヘッダーに複数の値を設定できます。これは、(getResponseHeaders()を使用する代わりに)レスポンスヘッダーを追加するための便利なメソッドです。- パラメーター:
name- ヘッダーの名前value- 追加のヘッダー値。オクテット文字列が含まれている場合は、RFC2047 に従ってエンコードする必要があります (http://www.ietf.org/rfc/rfc2047.txt)- 関連事項:
getResponseHeaders()
getRequestURI
public abstract StringSE getRequestURI()
プロトコル名から HTTP リクエストの最初の行のクエリ文字列までのリクエストの URI の一部を返します。コンテナーはこの文字列をデコードしません。- 戻り値:
- リクエスト URI
getContextPath
public abstract StringSE getContextPath()
アプリケーション内のすべてのエンドポイントのコンテキストパスを返します。このパスは、リクエストのコンテキストを示すリクエスト URI の部分です。コンテキストパスは常にリクエスト URI の最初に来ます。パスは "/" 文字で始まりますが、"/" 文字で終わりません。このメソッドが "" を返す場合、リクエストはデフォルトのコンテキストに対するものです。コンテナーはこの文字列をデコードしません。コンテキストパスは、エンドポイントアドレスの計算に使用されます。
HttpContext.getPath()を参照してください- 戻り値:
- アプリケーション内のすべてのエンドポイントのコンテキストパス
- 関連事項:
HttpContext.getPath()
getRequestMethod
public abstract StringSE getRequestMethod()
HTTP リクエストメソッドを取得する- 戻り値:
- リクエストメソッド
getHttpContext
public abstract HttpContext getHttpContext()
この交換のHttpContextを返します。コンテナーは、リクエストを関連するエンドポイントの HttpContext と照合します- 戻り値:
- この交換のための HttpContext
close
public abstract void close() throws IOExceptionSE交換を終了するには、これを呼び出す必要があります。コンテナーは、リクエストストリームとレスポンスストリームのクローズを処理します。コンテナーが基礎となるリソースを解放または再利用できるように、これを呼び出す必要があります。- 例外:
IOExceptionSE- I/O エラーがある場合
getRequestBody
public abstract InputStreamSE getRequestBody() throws IOExceptionSE
リクエスト本文を読み取ることができるストリームを返します。このメソッドを複数回呼び出すと、同じストリームが返されます。- 戻り値:
- リクエスト本文を読み取ることができるストリーム。
- 例外:
IOExceptionSE- リクエスト処理中に I/O エラーが発生した場合
getResponseBody
public abstract OutputStreamSE getResponseBody() throws IOExceptionSE
レスポンス本文を書き込む必要のあるストリームを返します。このメソッドを呼び出す前に、setStatus(int))を呼び出す必要があります。このメソッドを(同じ交換に対して)複数回呼び出すと、同じストリームが返されます。- 戻り値:
- レスポンス本文が書き込まれるストリーム
- 例外:
IOExceptionSE- レスポンス処理中に I/O エラーが発生した場合
setStatus
public abstract void setStatus(int status)
レスポンスの HTTP ステータスコードを設定します。このメソッドは、
getResponseBody()を呼び出す前に呼び出す必要があります。- パラメーター:
status- 送信するレスポンスコード- 関連事項:
getResponseBody()
getRemoteAddress
public abstract InetSocketAddressSE getRemoteAddress()
このリクエストを呼び出すリモートエンティティの未解決のアドレスを返します。- 戻り値:
- 呼び出し元の InetSocketAddress
getLocalAddress
public abstract InetSocketAddressSE getLocalAddress()
リクエストを受信した未解決のローカルアドレスを返します。- 戻り値:
- ローカルインターフェースの InetSocketAddress
getProtocol
public abstract StringSE getProtocol()
リクエストからのプロトコル文字列を protocol/majorVersion.minorVersion の形式で返します。例: "HTTP/1.1"- 戻り値:
- リクエストからのプロトコル文字列
getScheme
public abstract StringSE getScheme()
このリクエストを行うために使用されたスキームの名前を返します(例: http または https)。- 戻り値:
- このリクエストを行うために使用されたスキームの名前
getPathInfo
public abstract StringSE getPathInfo()
Web サービスパスに続くが、リクエスト URI のクエリ文字列の前にあり、"/" 文字で始まる追加のパス情報を返します。これは
MessageContext.PATH_INFOに使用できます- 戻り値:
- Web サービスのデコードされた追加パス情報。これは、Web サービスパスの後、リクエスト URI
nullのクエリ文字列の前にあるパスです(リクエスト URI に追加のパスがない場合)。
getQueryString
public abstract StringSE getQueryString()
パスの後にリクエスト URI に含まれているクエリ文字列を返します。これは
MessageContext.QUERY_STRINGに使用できます- 戻り値:
- リクエスト URI のデコードされていないクエリ文字列、またはリクエスト URI にない場合は
null
getAttribute
public abstract ObjectSE getAttribute(StringSE name)
このHttpExchangeに関連付けられている属性を返します。Jakarta XML Web Services ハンドラーとエンドポイントは、MessageContextを介して属性にアクセスできます。サーブレットコンテナーは、
MessageContext.SERVLET_CONTEXT、MessageContext.SERVLET_REQUEST、MessageContext.SERVLET_RESPONSEを属性として公開する必要があります。HTTPS を使用してコンテナーがリクエストを受信した場合は、次の情報を属性として公開する必要があります。これらの属性は、
REQUEST_CIPHER_SUITEおよびREQUEST_KEY_SIZEです。リクエストに関連付けられた SSL 証明書がある場合は、REQUEST_X509CERTIFICATEを使用して公開する必要があります- パラメーター:
name- 属性名- 戻り値:
- 属性値、または属性が存在しない場合は
null
getAttributeNames
public abstract SetSE<StringSE> getAttributeNames()
このHttpExchangeに関連付けられているすべての属性名を指定します。- 戻り値:
- すべての属性名のセット
- 関連事項:
getAttribute(String)
getUserPrincipal
public abstract PrincipalSE getUserPrincipal()
このHttpExchangeの認証済みユーザーを表すPrincipalSE を返します。- 戻り値:
- 認証されたユーザーのプリンシパル、または認証されていない場合は
null
isUserInRole
public abstract boolean isUserInRole(StringSE role)
認証されたユーザーが指定された論理「ロール」に含まれるかどうかを示します。- パラメーター:
role- ロールの名前を指定します- 戻り値:
- このリクエストを行うユーザーが特定のロールに属している場合は
true