ヘッダーをスキップ
Oracle® Fusion Middleware Oracle WebLogic Server JAX-WS Webサービスの高度な機能のプログラミング
11g リリース1(10.3.5)
B61633-03
  目次へ移動
目次

前
 
次
 

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

javax.xml.ws.Endpoint API(http://download.oracle.com/javaee/5/api/javax/xml/ws/Endpoint.htmlを参照)を使用すると、WebサービスをWebLogic Serverインスタンスにデプロイすることなく、実行時にWebサービスのエンドポイントを作成できます。

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

表10-1 Webサービスのエンドポイントをパブリッシュする手順

#
手順 説明

1

Webサービスのエンドポイントを作成します。

javax.xml.ws.Endpoint create()メソッドを使用してエンドポイントを作成し、エンドポイントに関連付けるインプリメンタ(Webサービスの実装)を指定し、必要に応じてバインディング・タイプを指定します。指定しない場合、バインディング・タイプのデフォルトはSOAP1.1/HTTPになります。実行時に定義したように、エンドポイントに関連付けるのは1つの実装オブジェクトと1つのjavax.xml.ws.Bindingにのみであり、これらの値は変更できません。

たとえば次の例では、CallbackWS()実装のWebサービス・エンドポイントが作成されます。

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

2

受信したリクエストを受け入れるため、Webサービスのエンドポイントをパブリッシュします。

javax.xml.ws.Endpoint publish()メソッドを使用して、サーバー・コンテキストを指定するか、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のメソッドを使用して以下を定義することもできます。

詳細は、javax.xml.ws.EndpointのJavadoc(http://download.oracle.com/javaee/5/api/javax/xml/ws/Endpoint.html)を参照してください。