com.nec.webotx.jbi.handler
インタフェース IMessageExchangeHandler


public interface IMessageExchangeHandler

メッセージエクスチェンジハンドラを使用するためにはIMessageExchangeHandlerクラスを実装します。 endpoints.xmlやservice.xmlによって登録されたメッセージエクスチェンジハンドラ実装クラスは、 WebOTX ESB 内部の Normarized Message Router(NMR)から メッセージを受信した時、あるいはNMRからメッセージを送信した時に実行されます。
グルーピング機能を使用している場合、handle**メソッド内で EndpointFailureException をthrowすることで、 エンドポイント閉塞を制御することができます。エンドポイントを閉塞する場合は、以下のコードを記述します。

     throw new EndpointFailureException("Input here any error message.");
 
パラメータ nm が、File BC/FTP BC/HTTP BCで生成したNormalizedMessageの場合、IRetraceableインタフェースから次の要素が取得可能です。 取得するには以下の様に記述します。
   Source source = nm.getSource();
   if (source instanceof StreamSource) {
      InputStream is = ((StreamSource)source).getInputStream();
      if (is instanceof IRetraceable) {
          IRetraceable retraceable = (IRetraceable)is;
          IStreamSourceInfo ssi = retraceable.getSourceInfo();

          String encording = ssi.getEncording();
          long size = ssi.getContentLength();
          String finename = ssi.getFileName();
      }
   }
 


メソッドの概要
 java.lang.String changeEndpointName(java.lang.String name)
          エンドポイント名を変更します。
 javax.xml.namespace.QName changeInterface(javax.xml.namespace.QName name)
          インタフェイス名を変更します。
 javax.xml.namespace.QName changeOperation(javax.xml.namespace.QName name)
          オペレーション名を変更します。
 javax.xml.namespace.QName changeService(javax.xml.namespace.QName name)
          サービス名を変更します。
 void destroy(java.util.logging.Logger logger)
          ハンドラの終了時に呼び出されます。
 void handleError(java.util.logging.Logger logger)
          Message Exchange の状態が Errorの場合に呼び出されます。
 void handleFault(javax.jbi.messaging.Fault fault, java.util.logging.Logger logger)
          Message Exchange に Fault がセットされている場合に呼び出されます。
 void handleInMessage(javax.jbi.messaging.NormalizedMessage nm, java.util.logging.Logger logger)
          Message Exchange に InMessage がセットされている場合に呼び出されます。
 void handleOutMessage(javax.jbi.messaging.NormalizedMessage nm, java.util.logging.Logger logger)
          Message Exchange に OutMessage がセットされている場合に呼び出されます。
 void init(java.util.Map initParam, java.util.logging.Logger logger)
          初期化メソッド。
 

メソッドの詳細

init

void init(java.util.Map initParam,
          java.util.logging.Logger logger)
初期化メソッド。ハンドラが実行される時に、一番最初に毎回呼び出されます。

パラメータ:
initParam - endpoints.xmlやservice.xmlに設定した初期化パラメータ
logger - 各コンポーネントのロガーインスタンス

destroy

void destroy(java.util.logging.Logger logger)
ハンドラの終了時に呼び出されます。

パラメータ:
logger - 各コンポーネントのロガーインスタンス

handleInMessage

void handleInMessage(javax.jbi.messaging.NormalizedMessage nm,
                     java.util.logging.Logger logger)
                     throws java.io.IOException,
                            javax.jbi.messaging.MessagingException
Message Exchange に InMessage がセットされている場合に呼び出されます。 handleInMessage、handleOutMessage、handleFault、 handleError は同じインスタンスにはなりません。

パラメータ:
nm - ノーマライズメッセージ
logger - 各コンポーネントのロガーインスタンス
例外:
java.io.IOException
javax.jbi.messaging.MessagingException

handleOutMessage

void handleOutMessage(javax.jbi.messaging.NormalizedMessage nm,
                      java.util.logging.Logger logger)
                      throws java.io.IOException,
                             javax.jbi.messaging.MessagingException
Message Exchange に OutMessage がセットされている場合に呼び出されます。 handleInMessage、handleOutMessage、handleFault、 handleError は同じインスタンスにはなりません。

パラメータ:
nm - ノーマライズメッセージ
logger - 各コンポーネントのロガーインスタンス
例外:
java.io.IOException
javax.jbi.messaging.MessagingException

handleFault

void handleFault(javax.jbi.messaging.Fault fault,
                 java.util.logging.Logger logger)
                 throws java.io.IOException,
                        javax.jbi.messaging.MessagingException
Message Exchange に Fault がセットされている場合に呼び出されます。 handleInMessage、handleOutMessage、handleFault、 handleError は同じインスタンスにはなりません。

パラメータ:
fault - Faultメッセージ
logger - 各コンポーネントのロガーインスタンス
例外:
java.io.IOException
javax.jbi.messaging.MessagingException

handleError

void handleError(java.util.logging.Logger logger)
                 throws javax.jbi.messaging.MessagingException
Message Exchange の状態が Errorの場合に呼び出されます。 handleInMessage、handleOutMessage、handleFault、 handleError は同じインスタンスにはなりません。

パラメータ:
logger - 各コンポーネントのロガーインスタンス
例外:
javax.jbi.messaging.MessagingException

changeEndpointName

java.lang.String changeEndpointName(java.lang.String name)
エンドポイント名を変更します。

パラメータ:
name - 変更前のエンドポイント
戻り値:

changeService

javax.xml.namespace.QName changeService(javax.xml.namespace.QName name)
サービス名を変更します。

パラメータ:
name - 変更前のサービス名
戻り値:

changeInterface

javax.xml.namespace.QName changeInterface(javax.xml.namespace.QName name)
インタフェイス名を変更します。

パラメータ:
name - 変更前のインタフェイス名
戻り値:

changeOperation

javax.xml.namespace.QName changeOperation(javax.xml.namespace.QName name)
オペレーション名を変更します。

パラメータ:
name - 変更前のオペレーション名
戻り値:


Copyright (C) 1998 - 2012 NEC Corporation. All rights reserved.