ヘッダーをスキップ
Oracle® Fusion Middleware Oracle WebLogic Server JAX-WS を使用した Web サービスの高度な機能のプログラミング
11g リリース 1 (10.3.1)
B55543-01
  目次
目次

戻る
戻る
 
次へ
次へ
 

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

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

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

表 3-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 を参照してください。