ナビゲーションリンクをスキップ

Jakarta EE Platform API v9.0.0

パッケージ jakarta.xml.ws.spi.http

コンテナー(たとえば、サーブレットコンテナー)内の Jakarta XML Web Services のポータブルデプロイに使用される HTTP SPI を提供します。

参照先: 説明

パッケージ jakarta.xml.ws.spi.http の説明

コンテナー(サーブレットコンテナーなど)内の Jakarta XML Web Services のポータブルデプロイに使用される HTTP SPI を提供します。この SPI はエンド開発者向けではありませんが、コンテナー開発者が Jakarta XML Web Services を移植可能にデプロイする方法を提供します。

このドキュメントでの JAX-WS への参照は、特に明記されていない限り、Jakarta XML Web Services を指します。
このドキュメントでの JAXB への参照は、特に明記されていない限り、Jakarta XML Binding を指します。

ポータブルデプロイは次のように実行されます。

  1. コンテナーは、アプリケーションの Endpoint オブジェクトを作成します。エンドポイントオブジェクトを作成するために必要な情報は、Web サービスデプロイ記述子ファイルから取得できます。
  2. コンテナーは、デプロイの HttpContext オブジェクトを作成する必要があります。例: HttpContext は、サーブレットコンテナーの場合の Web サービスのサーブレット構成(URL パターンなど)を使用して作成できます。
  3. 次に、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()
  
導入:
1.7、JAX-WS 2.2
作成者:
Jitendra Kotamraju
ナビゲーションリンクをスキップ

Jakarta EE Platform API v9.0.0

Copyright © 2018,2020 Eclipse Foundation.
Use is subject to license terms.