ビジネス・コンポーネント受信アダプタであるoracle.bm.ebiadapters.Business ComponentsReceivingAdapterは、Oracle AQからAdapterMessageオブジェクトをデキューして解析し、ビュー・オブジェクトに取り込むために使用します。 E-Business統合を可能にするビジネス・コンポーネント送信アダプタおよび受信アダプタが用意されていますが、これらをペアにして使用する必要はありません。
ビジネス・コンポーネント受信アダプタには、他のアダプタにはない機能があります。次のことが可能です。
アクティビティ・モデラーで、アダプタを初期化および開始するためのビジネス・コンポーネント受信アダプタ・クライアント・コードを生成することも、独自のクライアント・コードを作成することもできます。 どちらの場合も、コードはビジネス・コンポーネント・アプリケーション・モジュールのコンテキストに存在する必要があります。これは、アプリケーション・モジュールのビュー・オブジェクトへのアクセスがコードに必要なためです。このアクセスを取得するため、this参照によってアプリケーション・モジュール・コンテキストがアダプタに渡されます。
ビジネス・コンポーネント受信アダプタがXMLメッセージを受信する際に、このアダプタで、メッセージを取り込むビュー・オブジェクトを決定する必要があります。アダプタを初めて実行すると、マッピング表が作成されます。このマッピング表で、ビュー・オブジェクト名と、それに対応するXML_ELEMENTという文書要素プロパティ(または、設定されていない場合はデフォルト)がペアにされます。その後アダプタは、メッセージを受信する際に文書要素タグ名を検索し、XMLメッセージの取込み先となるビュー・オブジェクトの名前を取得します。
XML_ELEMENTは、ビジネス・コンポーネントのカスタム・プロパティです。 このプロパティの値は、XMLがwriteXMLメソッドを使用して生成される際に、またはreadXMLメソッドで使用される際に、XML内でビュー・オブジェクトを表すXML要素の名前として使用されます。デフォルトでは、XML_ELEMENT名はビュー・オブジェクトの名前と同じです。
ビュー・オブジェクトには、XML_ELEMENTプロパティの値をオーバーライドできるカスタム・プロパティがあります。これらのメソッドを使用して要素の値をオーバーライドし、2つ以上のビュー・オブジェクトでXML_ELEMENTの値が同じになるという結果になった場合、表検索では最初に一致した値が選択されます。
次の手順では、ビジネス・コンポーネント受信アダプタのコール・スタックについて説明します。この手順で、(receiveMessage()メソッドのコールにより)アダプタが開始した後で何が行われるか、また受信リクエストがどのように処理されるかを説明します。 詳細は、「ビジネス・コンポーネント受信アダプタ・クライアント・コードの生成」を参照してください。
final public void receiveMessage(ApplicationModule appmod) throws AdapterFailureException
public String doCustomTransformation(String XMLMessage)
解析中に発生したエラーを処理する独自のカスタム・エラー処理コードを使用できます。たとえば、メッセージをログ・ファイルに記録したり、警告ボックスを表示することができます。次のメソッドは、独自のエラー処理コードを使用する場合にのみオーバーライドしてください。このメソッドには独自のエラー処理コードがないため、これをオーバーライドしない場合は何も影響は出ません。
public void doParseErrorHandling(Exception e, String m_messagePayload)
public void handleTransaction(ApplicationModule appMod, int numOfMessagesReceived)
Copyright © 1997, 2004, Oracle. All rights reserved.