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

前
 
次
 

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

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

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

表5-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のメソッドを使用して以下を定義することもできます。

詳細については、(http://java.sun.com/javase/6/docs/api/javax/xml/ws/Endpoint.html)のjavax.xml.ws.Endpoint Javadocを参照してください。