Web サービスのコールバック メッセージの処理

このトピックでは、Web サービス コントロールが 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 サービスのすべてのコールバック メソッドに対応するイベント セット メソッドを使用して生成されます。

関連トピック

サービス コントロールの作成と使用

Web サービス コールバック


さらにヘルプが必要ですか。質問は Workshop ニュース グループまでお寄せください。