参照先: 説明
クラス | 説明 |
---|---|
HttpContext | HttpContext は、Web サービスのルート URI パスから、関連付けられたコンテナー上のそのパス宛てのリクエストを処理するために呼び出される HttpHandler へのマッピングを表します。 |
HttpExchange | このクラスは、受信した HTTP リクエストと生成されるレスポンスを 1 つの交換でカプセル化します。 |
HttpHandler | HTTP リクエストを処理するために呼び出されるハンドラー。 |
このドキュメントでの JAX-WS への参照は、特に明記されていない限り、Jakarta XML Web Services を指します。
このドキュメントでの JAXB への参照は、特に明記されていない限り、Jakarta XML Binding を指します。
ポータブルデプロイは次のように実行されます。
Endpoint
オブジェクトを作成します。エンドポイントオブジェクトを作成するために必要な情報は、Web サービスデプロイ記述子ファイルから取得できます。HttpContext
オブジェクトを作成する必要があります。例: HttpContext は、サーブレットコンテナーの場合の Web サービスのサーブレット構成(URL パターンなど)を使用して作成できます。Endpoint.publish(HttpContext)
を使用してすべてのエンドポイントを公開します。publish() 中に、Jakarta XML Web Services ランタイムは HttpHandler
コールバックを登録して、受信リクエストまたは HttpExchange
オブジェクトを処理します。HttpExchange オブジェクトは、HTTP リクエストとレスポンスをカプセル化します。Container Jakarta XML Web Services runtime --------- -------------- 1. Creates Invoker1, ... InvokerN 2. Provider.createEndpoint(...) --> 3. creates Endpoint1 configures Endpoint1 ... 4. Provider.createEndpoint(...) --> 5. creates EndpointN configures EndpointN 6. Creates ApplicationContext 7. creates HttpContext1, ... HttpContextN 8. Endpoint1.publish(HttpContext1) --> 9. creates HttpHandler1 HttpContext1.setHandler(HttpHandler1) ... 10. EndpointN.publish(HttpContextN) --> 11. creates HttpHandlerN HttpContextN.setHandler(HttpHandlerN)リクエスト処理は以下のように行われます(すべてのリクエストに対して):
Container Jakarta XML Web Services runtime --------- -------------- 1. Creates a HttpExchange 2. Gets handler from HttpContext 3. HttpHandler.handle(HttpExchange) --> 4. reads request from HttpExchange <-- 5. Calls Invoker 6. Invokes the actual instance 7. Writes the response to HttpExchange
ポータブルアンデプロイは次のように実行されます。
Container --------- 1. @preDestroy on instances 2. Endpoint1.stop() ... 3. EndpointN.stop()
Copyright © 2018,2020 Eclipse Foundation.
Use is subject to license terms.