JAX-WS を使用した WebLogic Web サービスの高度な機能のプログラミング

     前  次    新しいウィンドウで目次を開く     
ここから内容の開始

Web サービスのエンドポイントのパブリッシュ

javax.xml.ws.Endpoint API を使用すると、Web サービスを WebLogic Server インスタンスにデプロイすることなく、実行時に Web サービスのエンドポイントを作成できます。

次の表に、Web サービスのエンドポイントをパブリッシュする手順をまとめます。

表 3-1 Web サービスのエンドポイントをパブリッシュする手順 
#
手順
説明
1
Web サービスのエンドポイントを作成する。
javax.xml.ws.Endpointcreate() メソッドを使用してエンドポイントを作成し、エンドポイントを関連付けるインプリメンタ (Web サービス実装) を指定します。また、必要に応じてバインディング タイプも指定します。何も指定しない場合、バインディングのデフォルトは SOAP1.1/HTTP になります。エンドポイントは、実行時の定義に従い、1 つの実装オブジェクトと 1 つの javax.xml.ws.Binding にのみ関連付けます。これらの値は変更できません。
たとえば次の例では、CallbackWS() 実装の Web サービス エンドポイントが作成されます。

Endpoint callbackImpl = Endpoint.create(new CallbackWS());

2
受信した要求を受け入れるため、Web サービスのエンドポイントをパブリッシュする。
javax.xml.ws.Endpointpublish() メソッドを使用して、サーバ コンテキストを指定するか、Web サービス エンドポイントのアドレスとインプリメンタ (必要に応じて) を指定します。

注意 : エンドポイントに関連付けられているメタデータ ドキュメント (WSDL または XML スキーマ) を更新したい場合は、エンドポイントをパブリッシュする前に更新する必要があります。

たとえば次の例では、手順 1 でサーバ コンテキストを使用して作成した Web サービス エンドポイントがパブリッシュされます。
Object sc
context.getMessageContext().get(MessageContext.SERVLET_CONTEXT);
callbackImpl.publish(sc)
;
3
Web サービスのエンドポイントを停止して、処理完了後に追加の要求が受け入れられないようにする。
javax.xml.ws.Endpointstop() メソッドを使用してエンドポイントを停止し、受信した要求の受け入れを停止します。いったん停止したエンドポイントをパブリッシュし直すことはできません。
次に例を示します。
callbackImpl.stop()

コールバック サンプルのコンテキスト内で Web サービスのエンドポイントをパブリッシュする例については、「コールバック クライアント Web サービスのプログラミングのガイドライン」を参照してください。

上の表に示した手順に加え、javax.xml.ws.Endpoint API のメソッドを使用して以下を定義することもできます。

詳細については、Javadoc の「javax.xml.ws.Endpoint」を参照してください。


  ページの先頭       前  次