Integration コントロールを使用する

     前  次    目次     
ここから内容

ebXML コントロール

Insert control: Ebxml

注意 : ebXML コントロールは、WebLogic Integration の使用許諾を受けた場合にのみ、BEA Workshop for WebLogic Platform で使用できます。

ebXML プロトコル (Electronic Business using eXtensible Markup Language) は、あらゆる場所であらゆる規模の企業がインターネット経由で業務を行うことを可能にする仕様のモジュラ スイートです。ebXML は UN/CEFACT および OASIS でサポートされています。ebXML の詳細については、http://www.ebXML.org を参照してください。

ebXML コントロールを使用すると、WebLogic Workshop ビジネス プロセスでは、ebXML 経由でトレーディング パートナとビジネス メッセージおよびデータを交換できます。ebXML コントロールは、ebXML 1.0 と ebXML 2.0 の両方のメッセージング サービスをサポートしています。開始者ビジネス プロセスで ebXML コントロールを使用することで、参加者との ebXML ビジネス メッセージの交換を管理できます。ebXML ソリューションの概要については、『Trading Partner Integration の紹介』(以下の URL) を参照してください。

http://edocs.beasys.co.jp/e-docs/wli/docs92/tpintro/index.html

 


この節に含まれるトピック

概要 : ebXML コントロール

ebXML コントロールについて説明します。

ebXML コントロールを作成する

ebXML コントロールを作成およびコンフィグレーションする方法について説明します。

ebXML コントロールを使用する

ビジネス プロセスで ebXML コントロールを使用する方法について説明します。

サンプル : ebXML コントロール

ebXML のサンプルへのリンクがあります。

関連トピック

Trading Partner Integration の紹介 (http://edocs.beasys.co.jp/e-docs/wli/docs92/tpintro/index.html)

トレーディング パートナ管理 (http://edocs.beasys.co.jp/e-docs/wli/docs92/adminhelp/tpm.html)

EBXMLControl インタフェース

ebXML 参加者ビジネス プロセスの構築

Annotation Type EbXML

Annotation Type EbXML メソッド

概要 : ebXML コントロール

開始者ビジネス プロセスで ebXML コントロールを使用することで、参加者と ebXML ビジネス メッセージを交換できます。ebXML コントロールは、ビジネス メッセージを送受信するためのメソッドを提供します。詳細については、EBXMLControl インタフェースを参照してください。参加者から受信した ebXML メッセージ、確認応答、およびエラーは、コールバックによって処理されます。

参加者ビジネス プロセスでは ebXML コントロールを使用して受信メッセージに応答しないでください。代わりに、クライアント要求ノードを使用して開始者からの受信ビジネス メッセージを処理し、クライアント応答ノードを使用して開始者への送信ビジネス メッセージを処理します。ebXML を使用する参加者ビジネス プロセスの構築については、「ebXML 参加者ビジネス プロセスの構築」を参照してください。ebXML を使用するビジネス プロセスの設計については、『Trading Partner Integration の紹介』(以下の URL) を参照してください。

http://edocs.beasys.co.jp/e-docs/wli/docs81/tpintro/index.html

実行時、ebXML コントロールは TPM リポジトリに格納されたトレーディング パートナおよびサービス情報に依存します。TPM リポジトリについては、『Trading Partner Integration の紹介』(以下の URL) を参照してください。

http://edocs.beasys.co.jp/e-docs/wli/docs92/tpintro/index.html

TPM リポジトリへの情報の追加または TPM リポジトリ内の情報の更新については、『WebLogic Integration Administration Console』の使用の「トレーディング パートナ管理」(以下の URL) を参照してください。

http://edocs.beasys.co.jp/e-docs/wli/docs92/adminhelp/tpm.html

関連トピック

ebXML コントロールを作成する

ebXML コントロールを使用する

サンプル : ebXML コントロール

ebXML コントロールを作成する

ここでは、新しい ebXML コントロールを作成する方法について説明します。各 ebXML コントロール インスタンスは、1 つの ebXML 会話を表します。ビジネス プロセス内の異なる ebXML 会話ごとに、異なる ebXML コントロール インスタンスを追加する必要があります。ebXML コントロールについては、「ebXML コントロール」を参照してください。

新しい ebXML コントロールを作成するには
  1. [パッケージ・エクスプローラー] ペインで、ebXML コントロールを追加するビジネス プロセスをダブルクリックします。ビジネス プロセスがデザイン ビューに表示されます。
  2. データ パレットInsert control: Ebxml をクリックし、ドロップダウン リストから Integration コントロールを選択して、アプリケーションの統合に使用するコントロールのリストを表示します。
  3. 注意 : [データ パレット] ビューが BEA Workshop for WebLogic Platform に表示されない場合は、メニュー バーから [ウィンドウArrow symbolビューの表示Arrow symbolデータ パレット] をクリックします。
  4. [Ebxml] を選択します。
  5. [Insert control: Ebxml] ダイアログ ボックスが表示されます (図 5-1)。

    図 5-1 Insert control: Ebxml
  6. [Insert control: プロセス] ダイアログ ボックスで、以下の情報を入力します。
    • [フィールド名] に、ビジネス プロセスから新しいプロセス コントロール インスタンスにアクセスするときに使用する変数の名前を入力します。有効な Java 識別子を入力する必要があります。
    • [挿入位置] で、フィールド名をプロセス ファイルに挿入するポイントをドロップダウン リストから選択します。
    • これをコントロール ファクトリにするかどうかを決定し、[これを実行時に複数のインスタンスを作成できるコントロール ファクトリにする] チェック ボックスをチェックするか、チェックをはずします。コントロール ファクトリの詳細については、「コントロール ファクトリ : コントロールをまとめて管理する」を参照してください。
    • [次へ] をクリックします。
    • [コントロールの作成] ウィザードが表示されます。

  7. [コントロールの作成] ウィザードで、以下の情報を入力します。
    • [名前] フィールドに新しいコントロール拡張ファイルの名前を入力します。
    • 現在のプロジェクトのプロパティに設定されているようにコメントを追加するかどうかを決定し、[コメントの生成] チェック ボックスをチェックするか、チェックをはずします。
    • [次へ] をクリックします。
    • [Insert control: Ebxml] ダイアログ ボックスが表示されます。

  8. [Insert control: Ebxml] ダイアログ ボックスで、表 5-1 に従って以下の情報を指定します。
  9. 表 5-1 コントロールの挿入プロパティ
    フィールド
    説明
    from
    省略可能。この会話の開始者のビジネス ID。次のいずれかの値になる。
    • 空の場合 - デフォルトのトレーディング パートナを使用する。
    • 静的な値の場合 - 開始者トレーディング パートナのビジネス ID。指定されるビジネス ID は、TPM リポジトリでコンフィグレーションされていなければならない。
    開始者ビジネス ID を動的に指定するには、セレクタを使用するか、またはコントロール送信ノードで setProperties メソッドを使用する (「ビジネス ID を動的に指定する」を参照)。
    この値は、プロセス変数に XQuery セレクタを使用して、または受信メッセージでメソッド パラメータを使用して取得することもできる。

    注意 : [to] 属性、[to-selector] 属性や setProperties を使用して「from」トレーディング パートナの値を指定しなければ、システムが TPM コンソールで「default」としてマークされているローカル トレーディング パートナの ID を使用します。

    to
    省略可能。この会話の参加者のビジネス ID。次のいずれかの値になる。
    • 空の場合 - デフォルトのトレーディング パートナを使用する。
    • 静的な値の場合 - 参加者トレーディング パートナのビジネス ID。指定されるビジネス ID は、TPM リポジトリでコンフィグレーションされていなければならない。
    参加者ビジネス ID を動的に指定するには、セレクタを使用するか、またはコントロール送信ノードで setProperties メソッドを使用する (「ビジネス ID を動的に指定する」を参照)。
    この値は、プロセス変数に XQuery セレクタを使用して、または受信メッセージでメソッド パラメータを使用して取得することもできる。
    serviceName
    必須。ebXML サービスの名前。同一の会話に参加する開始者と参加者のビジネス プロセスでは、ebxml-service-name の設定が同じでなければならない。このサービス名は、ebXML メッセージ エンベロープの eb:Service エントリに対応する。
    method-arg-type
    必須。添付ファイルの型。次のいずれかの値になる。
    • XmlObject - デフォルト。型なしの XML フォーマットのデータを表す。XML データは、設計時には指定されない。
    • XmlObject[] - 1 つまたは複数の XmlObject 要素を含む配列。

    注意 : XmlObject[] オプションは、コントロール ウィザード ウィンドウのドロップダウン メニューから使用できません。ソース ビューで指定する必要があります。「XmlObject および RawData 配列のペイロードを指定する」を参照してください。

    • RawData - 任意の非 XML 構造化データまたは非構造化データを表す。このデータの MFL ファイルは存在しない (そのため、既知のスキーマはない)。
    • RawData[] - 1 つまたは複数の RawData 要素を含む配列。

    注意 : RawData[] オプションは、コントロール ウィザード ウィンドウのドロップダウン メニューから使用できません。ソース ビューで指定する必要があります。「XmlObject および RawData 配列のペイロードを指定する」を参照してください。

    • MessageAttachment[] - ebXML のビジネス メッセージの 1 つまたは複数のパートを含む配列。メッセージ パートには型なしの XML データ (XmlObject データ型) と非 XML データ (RawData データ型) がある。異なる種類のペイロード (XML と非 XML) を同じメッセージで送信するときに使用される。メッセージ部分の実際の数は、処理されるまで不明なことがある。
    MessageAttachment オブジェクトの操作については、「メッセージ添付ファイルを使用する」を参照。
    データ型の詳細については、「データ型の操作」を参照。
    ebxmlActionMode
    この ebXML コントロールのアクション モード。ebXML メッセージのメッセージ ヘッダにある eb:Action 要素で指定される値を決定する。この値は、同じ会話の中で複数のメッセージ交換が行われるときに重要になる。次のいずれかの値になる。
    • default - eb:Action 要素を SendMessage (デフォルト名) に設定する。
    • non-default - eb:Action 要素を、開始者ビジネス プロセス内でメッセージを送信する (ebXML コントロール上の) メソッドの名前に設定する。開始者から参加者にメッセージを送信するためには、この名前が、対応する参加者ビジネス プロセスにあるクライアント要求ノードのメソッド名と一致していなければならない。参加者から開始者にメッセージを送信するためには、参加者ビジネス プロセス内のクライアント コールバック ノードのコールバック インタフェースにあるメソッド名が、開始者ビジネス プロセス内のコントロール コールバック インタフェースにある (ebXML コントロール上の) メソッド名と一致しなければならない。確実に回復できるようにし、かつ、高可用性を実現するためには、non-default の使用を推奨する。
    特に指定しなければ、ebxml-action-modenon-default に設定される。
    xQueryVersion
    使用する XQuery のバージョンを指定する。

  10. [終了] をクリックします。
  11. ebXML コントロール インスタンスが [コントロール] タブに表示されます。

コントロール ファイルを作成すると、BEA Workshop for WebLogic Platform の [サービス] タブでそのコントロール ファイルの名前がサービスとして使用できるようになります。

XmlObject および RawData 配列のペイロードを指定する

XmlObject[] および RawData[] ペイロード オプションはソース ビューでのみ使用できます。ebXML コントロールを作成した後で、これらのオプションを使用するようにコンフィグレーションできます。

ソース ビューでペイロードを指定するには
  1. コントロール定義ファイルを開きます。それには、[パッケージ・エクスプローラー] ペインでファイルをダブルクリックします。
  2. [ソース ビュー] タブをクリックします。
  3. request および response メソッドで、指定されているペイロードを、使用するペイロードの型に変更します。
  4. ペイロードの指定には、以下の制約が適用されます。

    • 任意の型の配列を使用する場合、引数リスト内で配列の後にその型の引数を指定することはできない。つまり、配列はその型の引数の中で最後に指定する必要があります。
    • MessageAttachment[] 型が引数の 1 つである場合、引数リストに他の配列 (MessageAttachment[] を含む) を指定することはできない。
  5. 変更を適用したら、コントロール定義ファイルを保存して閉じます。
注意 : コントロール定義ファイルで使用した引数の順序と、メッセージをリスンする参加者ビジネス プロセスのノードにある引数の順序は、一致していなければなりません。

request および response メソッドの詳細については、EBXMLControl インタフェースを参照してください。

関連トピック

概要 : ebXML コントロール

ebXML コントロールを使用する

サンプル : ebXML コントロール

ebXML コントロールを使用する

すべての WebLogic Workshop コントロールは一貫したモデルに従います。ebXML コントロールもその他の WebLogic Workshop コントロールを使用する場合とほぼ同じです。

開始者ビジネス プロセスに ebXML コントロールを追加したら、コントロールでメソッドを使用して参加トレーディング パートナと ebXML メッセージを交換できます。デザイン ビューのデータ パレットで ebXML コントロールのノードを展開し、そのメソッドを表示します。次に、目的のメソッドをビジネス プロセスにドラッグ アンド ドロップします。一般的な作業は以下のとおりです。

メソッドの詳細については、EBXMLControl インタフェースを参照してください。

参加者にメッセージを送信する

参加者に ebXML メッセージを送信するには、コントロール送信ノードでメッセージ送信メソッドを使用します。デフォルトでは、コントロール ファイル インスタンスには、生成された送信メソッド request が含まれています。ビジネス プロセスにコントロール送信ノードを追加するには、このメソッドをデータ パレットからビジネス プロセスにドラッグします。複数のやり取りを伴うビジネス プロセスの場合には、参加者への ebXML メッセージ送信を含む処理ごとに個別のコントロール送信ノードを作成する必要があります。

注意 : request メソッドのデフォルトの戻り値の型は void です。ただし、戻り値の型を XmlObject に指定することもできます。戻り値の型として XmlObject を使用する場合、XmlObject の内容は ebXML エンベロープ データです。

コントロール送信ノードを作成したら、ペイロード パートとその Java データ型を指定する必要があります (表 5-2 を参照)

表 5-2 データ型
説明
XmlObject
型なし XML フォーマットのデータ。
XmlObject[]
1 つまたは複数の XmlObject 要素を含む配列。
RawData
非 XML 構造化データまたは非構造化データ。このデータの MFL ファイルは存在しない (そのため、既知のスキーマはない)。
RawData[]
1 つまたは複数の RawData 要素を含む配列。
MessageAttachment[]
ebXML のビジネス メッセージの 1 つまたは複数の部分を含む配列。メッセージ パートには型なしの XML データ (XmlObject データ型) と非 XML データ (RawData データ型) がある。異なる種類のペイロード (XML と非 XML) を同じメッセージで送信するときに使用される。メッセージ部分の実際の数は、処理されるまで不明なことがある。MessageAttachment[] オブジェクトの操作については、「メッセージ添付ファイルを使用する」を参照。

型付き XML データや型付き MFL データを添付ファイルにすることもできますが、その場合は対応する XML Bean クラス名や MFL クラス名をパラメータ内で指定する必要があります。

添付ファイルの型として配列を使用する場合は、引数の順序に一定の制限が適用されます。詳細については、「XmlObject および RawData 配列のペイロードを指定する」を参照してください。

ビジネス ID は (@EBXMLControl.EBXML アノテーションを使用して) 静的に、または動的に指定できます。ビジネス ID の動的な指定については、「ビジネス ID を動的に指定する」を参照してください。

参加者からの応答を処理する

参加者は、以下の方法で開始者の要求に応答できます。

参加者からの応答を処理するには、開始者ビジネス プロセスで以下のコールバック メソッドを使用します (表 5-3 を参照)。

表 5-3 コールバック メソッド
メソッド名
説明
onAck
参加者からのメッセージ受信通知を処理する。
onError
参加者から送られたエラーを処理する。
response
参加者から送られた応答メッセージを処理する。

参加者から ebXML メッセージを受信するには、適切なメソッドを使用します。ビジネス プロセスにメソッドを追加するには、データ パレットからビジネス プロセスまで、そのメソッドをドラッグします。これにより、コントロール受信ノードが作成されます。複数のやり取りを伴うビジネス プロセスの場合には、参加者からの ebXML メッセージ受信を含む処理ごとに個別のコントロール受信ノードを作成する必要があります。

response メソッドで、ebxml-action-nodenon-default が指定されている場合には、コントロール受信ノードの名前を getInvoice などわかりやすい名前に変更できます。ただし、ebxml-action-nodedefault が指定されている場合には、デフォルト名 (onMessage) を使用する必要があり、ビジネス プロセスは 1 つの onMessage コントロール受信ノードしかもつことができません。

response メソッドでは、コントロール受信ノードの作成後、受信メッセージのペイロード パートとその Java データ型を指定する必要があります。有効なデータ型については、「参加者にメッセージを送信する」を参照してください。

onError メソッドと onAck メソッドは、システムレベルのメソッドです。どちらも、メッセージの受信時に ebXML エンベロープを格納する EnvelopeDocument 引数を使用します。システムレベルのメソッドなので、これらの引数はデフォルトのコントロールでは表示されませんが、データ パレットからビジネス プロセスにドラッグできます。envelope.xsd ファイルをもつスキーマ プロジェクトがアプリケーションに含まれており、スキーマがすでに構築されている場合は、WebLogic Workshop のマッパー機能でクエリを (XQuery 言語で) 作成して、必要な値を抽出できます。マッパー機能を使用してクエリを作成する方法については「XQuery を使用したデータの変換」を参照してください。

@jc:ebxml-method タグで message-envelope アノテーションを使用して、受信 ebXML メッセージのメッセージ エンベロープを取得できます。envelope アノテーションの詳細については、EBXMLControl.EbxmlMethod アノテーションを参照してください。

ビジネス ID を動的に指定する

ebXML コントロールでは、コントロールの開始者 (from プロパティ) および参加者 (to プロパティ) のビジネス ID を動的にバインドする機能を追加できます。プロパティの動的バインディングは以下の方法で行うことができます。

優先順位

最も優先順位の高い方法から挙げると、プロパティ設定の階層は次のようになります。

  1. セレクタ (EBXMLControl.EbxmlMethod アノテーション) と DynamicProperties.xml ファイルを使用して動的にバインドされるプロパティ
  2. setProperties() メソッドを使用して設定されるプロパティ
  3. JPD でアノテーション EBXMLControl.EbXM を使用してコントロール インスタンス レベルで設定されるプロパティ
  4. JPD でアノテーション EBXMLControl.EbXM を使用してコントロール クラス レベルで設定されるプロパティ

動的なセレクタの方が静的なセレクタよりも優先順位が高くなります。

セレクタを使用する

動的なセレクタを使用することで、ebXML コントロールでは実行時に、複数のトレーディング パートナからビジネス メッセージの送信先になる 1 つを決定できます。動的なセレクタを指定するときには、必要なビジネス ID を取得する XQuery を構築してテストします。

動的なセレクタを使用するには
  1. デザイン ビューに、動的なセレクタを指定する ebXML コントロールを含むビジネス プロセスを表示します。
  2. デザイン ビューのデータ パレットで、ebXML コントロール ノードを選択します。
  3. プロパティ エディタで from-selector プロパティまたは to-selector プロパティを見つけ、関連付けられた xquery パラメータを選択します。[xquery] フィールドの横の、3 つのドット (...) で示されるボタンをクリックします。動的なセレクタ クエリ ビルダが表示されます。
  4. [開始メソッドのスキーマ] 領域で、コントロールの開始メソッドに関連付ける要素を選択します。生成されたクエリが [XQuery] 領域に表示されます。
  5. [OK] をクリックします。

setProperties を使用する

setProperties メソッドは ebXMLPropertiesDocument パラメータを取ります。ebXMLPropertiesDocument 型は、DynamicProperties.xsd で定義された対応するスキーマ要素から生成される XML Beans クラスです。DynamicProperties.xsd ファイルは、新しいプロセス アプリケーションのシステム フォルダ内、またはスキーマ プロジェクトのシステム フォルダ内にあります。

DynamicProperties.xsd ファイルをもつスキーマ プロジェクトがアプリケーションに含まれており、スキーマがすでに構築されている場合は、WebLogic Workshop のマッパー機能でクエリを (XQuery 言語で) 作成して、必要な値を抽出できます。マッパー機能を使用してクエリを作成する方法については「XQuery を使用したデータの変換」を参照してください。

setProperties メソッドを使用してビジネス ID を動的に設定するには
  1. DynamicProperties.xsd ファイルをもつスキーマ プロジェクトがアプリケーションに含まれており、スキーマがすでに構築されていることを確認します。
  2. ビジネス プロセスにコントロール送信ノードを作成します。
  3. データ パレットから setProperties メソッドをドラッグし、コントロール送信ノードにドロップします。
  4. [データの送信] タブで [トランスフォーメーション] を選択し、to および from 値を格納している変数を指定します。次にそれらを ebXMLPropertiesDocument 内の対応する要素にマップするトランスフォーメーションを作成します。

現在のプロパティ設定を表示するには、getProperties() メソッドを使用します。

関連トピック

概要 : ebXML コントロール

ebXML コントロールを作成する

サンプル : ebXML コントロール

サンプル : ebXML コントロール

ebXML コントロールの使用方法の例については、『チュートリアル : ebXML ソリューションの構築』(以下の URL) を参照してください。

http://edocs.beasys.co.jp/e-docs/wli/docs81/tptutorial/ebxml.html


  ページの先頭       前  次