このトピックでは、Web サービス コントロールが Web サービスから送信されるコールバック メッセージを処理し、コントロールのクライアントに渡す方法について説明します。
サービス コントロールを介してコールバック メッセージをクライアントに返す Web サービスが存在するとします。
以下の図に、クライアント、サービス コントロール、および Web サービスの関係を示します。クライアントは HelloWorldClient.java という Web サービスで、サービス コントロールは HelloWorldClient.java、対象の Web サービスは HelloWorldService.java です。
右向きの矢印は、通常のメソッドを表しています。左向きの矢印は、イベント ハンドラ メソッド (クライアントの onMessage_handler)、イベント セット メソッド (サービス コントロールの onMessage)、およびコールバック メソッド (対象の Web サービスの onMessage) を表しています。
HelloWorldWebService.java のコールバック メソッド onMessage のソース コードは、以下のようなコードであるとします。
HelloWorldWebService.java
@WebService public class HelloWorldWebService { ... @CallbackService public interface CallbackSvc { @WebMethod public void onMessage(String aMessage); } }
このコールバック メッセージをサービス コントロールで処理するには、コールバック メソッドと同じ名前のメソッドを含むイベント セット インタフェースをアノテーション @ServiceControl.ExternalCallbackEvent で修飾して追加します。
HelloWorldControl.java
@EventSet(unicast=true) public interface Callback { @ServiceControl.ExternalCallbackEvent public void onMessage(java.lang.String aMessage_arg); }
クライアントのサービス コントロールの使用については、「サービス コントロールの作成と使用」を参照してください。
Web サービスのコールバック インタフェースの設定については、「Web サービス コールバック」を参照してください。
サービス コントロールは、適切なイベント セット メソッドを使用して自動生成することができます。対象の Web サービスの WSDL を右クリックして [Web サービス|サービス コントロールの生成] を選択します。サービス コントロールは、対象の Web サービスのすべてのコールバック メソッドに対応するイベント セット メソッドを使用して生成されます。