| クラス | 説明 |
|---|---|
| HttpContext |
HttpContextは、WebサービスのルートURIパスから
HttpHandlerへのマッピングを表します。これは、関連付けられたコンテナ上のそのパスに送られる予定の要求を処理するために呼び出されます。 |
| HttpExchange |
このクラスは、一回の交換で、受信するHTTP要求と生成される応答をカプセル化します。
|
| HttpHandler |
HTTP要求を処理するために呼び出されるハンドラです。
|
移植性のある配備は、次のように行われます。
Endpointオブジェクトを作成します。 端点オブジェクトを作成するために必要な情報は、Webサービス配備記述子ファイルから取得できます。 HttpContextオブジェクトを作成する必要があります。 たとえば、サーブレット・コンテナ・ケース内のWebサービスに対し、サーブレット構成(url-patternなど)を使用してHttpContextを作成できます。 Endpoint.publish(HttpContext)を使用してすべての端点を公開します。 publish()の実行中に、JAX-WSランタイムは着信要求を処理するためのHttpHandlerコールバックかHttpExchangeオブジェクトを登録します。 HttpExchangeオブジェクトは、HTTP要求と応答をカプセル化します。
Container JAX-WS 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 JAX-WS 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 response to httpexchange < pre>
The portable undeployment is done as below:
Container
---------
1. @preDestroy on instances
2. Endpoint1.stop()
...
3. EndpointN.stop()
-->