![]() ![]() ![]() ![]() |
注意 : | 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
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)
開始者ビジネス プロセスで 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 コントロール インスタンスは、1 つの ebXML 会話を表します。ビジネス プロセス内の異なる ebXML 会話ごとに、異なる ebXML コントロール インスタンスを追加する必要があります。ebXML コントロールについては、「ebXML コントロール」を参照してください。
注意 : | [データ パレット] ビューが BEA Workshop for WebLogic Platform に表示されない場合は、メニュー バーから [ウィンドウ![]() ![]() |
[Insert control: Ebxml] ダイアログ ボックスが表示されます (図 5-1)。
|
|||||
|
|||||
|
|||||
eb:Action 要素で指定される値を決定する。この値は、同じ会話の中で複数のメッセージ交換が行われるときに重要になる。次のいずれかの値になる。
|
|||||
コントロール ファイルを作成すると、BEA Workshop for WebLogic Platform の [サービス] タブでそのコントロール ファイルの名前がサービスとして使用できるようになります。
XmlObject[]
および RawData[]
ペイロード オプションはソース ビューでのみ使用できます。ebXML コントロールを作成した後で、これらのオプションを使用するようにコンフィグレーションできます。
注意 : | コントロール定義ファイルで使用した引数の順序と、メッセージをリスンする参加者ビジネス プロセスのノードにある引数の順序は、一致していなければなりません。 |
request
および response
メソッドの詳細については、EBXMLControl インタフェースを参照してください。
すべての WebLogic Workshop コントロールは一貫したモデルに従います。ebXML コントロールもその他の WebLogic Workshop コントロールを使用する場合とほぼ同じです。
開始者ビジネス プロセスに ebXML コントロールを追加したら、コントロールでメソッドを使用して参加トレーディング パートナと ebXML メッセージを交換できます。デザイン ビューのデータ パレットで ebXML コントロールのノードを展開し、そのメソッドを表示します。次に、目的のメソッドをビジネス プロセスにドラッグ アンド ドロップします。一般的な作業は以下のとおりです。
メソッドの詳細については、EBXMLControl インタフェースを参照してください。
参加者に ebXML メッセージを送信するには、コントロール送信ノードでメッセージ送信メソッドを使用します。デフォルトでは、コントロール ファイル インスタンスには、生成された送信メソッド request
が含まれています。ビジネス プロセスにコントロール送信ノードを追加するには、このメソッドをデータ パレットからビジネス プロセスにドラッグします。複数のやり取りを伴うビジネス プロセスの場合には、参加者への ebXML メッセージ送信を含む処理ごとに個別のコントロール送信ノードを作成する必要があります。
注意 : | request メソッドのデフォルトの戻り値の型は void です。ただし、戻り値の型を XmlObject に指定することもできます。戻り値の型として XmlObject を使用する場合、XmlObject の内容は ebXML エンベロープ データです。 |
コントロール送信ノードを作成したら、ペイロード パートとその Java データ型を指定する必要があります (表 5-2 を参照)
XmlObject データ型) と非 XML データ (RawData データ型) がある。異なる種類のペイロード (XML と非 XML) を同じメッセージで送信するときに使用される。メッセージ部分の実際の数は、処理されるまで不明なことがある。MessageAttachment[] オブジェクトの操作については、「メッセージ添付ファイルを使用する」を参照。
|
型付き XML データや型付き MFL データを添付ファイルにすることもできますが、その場合は対応する XML Bean クラス名や MFL クラス名をパラメータ内で指定する必要があります。
添付ファイルの型として配列を使用する場合は、引数の順序に一定の制限が適用されます。詳細については、「XmlObject および RawData 配列のペイロードを指定する」を参照してください。
ビジネス ID は (@EBXMLControl.EBXML アノテーションを使用して) 静的に、または動的に指定できます。ビジネス ID の動的な指定については、「ビジネス ID を動的に指定する」を参照してください。
参加者からの応答を処理するには、開始者ビジネス プロセスで以下のコールバック メソッドを使用します (表 5-3 を参照)。
参加者から ebXML メッセージを受信するには、適切なメソッドを使用します。ビジネス プロセスにメソッドを追加するには、データ パレットからビジネス プロセスまで、そのメソッドをドラッグします。これにより、コントロール受信ノードが作成されます。複数のやり取りを伴うビジネス プロセスの場合には、参加者からの ebXML メッセージ受信を含む処理ごとに個別のコントロール受信ノードを作成する必要があります。
response
メソッドで、ebxml-action-node
に non-default
が指定されている場合には、コントロール受信ノードの名前を getInvoice
などわかりやすい名前に変更できます。ただし、ebxml-action-node
に default
が指定されている場合には、デフォルト名 (onMessage
) を使用する必要があり、ビジネス プロセスは 1 つの onMessage
コントロール受信ノードしかもつことができません。
response
メソッドでは、コントロール受信ノードの作成後、受信メッセージのペイロード パートとその Java データ型を指定する必要があります。有効なデータ型については、「参加者にメッセージを送信する」を参照してください。
onError
メソッドと onAck
メソッドは、システムレベルのメソッドです。どちらも、メッセージの受信時に ebXML エンベロープを格納する EnvelopeDocument
引数を使用します。システムレベルのメソッドなので、これらの引数はデフォルトのコントロールでは表示されませんが、データ パレットからビジネス プロセスにドラッグできます。envelope.xsd
ファイルをもつスキーマ プロジェクトがアプリケーションに含まれており、スキーマがすでに構築されている場合は、WebLogic Workshop のマッパー機能でクエリを (XQuery 言語で) 作成して、必要な値を抽出できます。マッパー機能を使用してクエリを作成する方法については「XQuery を使用したデータの変換」を参照してください。
@jc:ebxml-method
タグで message-envelope
アノテーションを使用して、受信 ebXML メッセージのメッセージ エンベロープを取得できます。envelope
アノテーションの詳細については、EBXMLControl.EbxmlMethod アノテーションを参照してください。
ebXML コントロールでは、コントロールの開始者 (from
プロパティ) および参加者 (to
プロパティ) のビジネス ID を動的にバインドする機能を追加できます。プロパティの動的バインディングは以下の方法で行うことができます。
最も優先順位の高い方法から挙げると、プロパティ設定の階層は次のようになります。
DynamicProperties.xml
ファイルを使用して動的にバインドされるプロパティsetProperties()
メソッドを使用して設定されるプロパティ
動的なセレクタの方が静的なセレクタよりも優先順位が高くなります。
動的なセレクタを使用することで、ebXML コントロールでは実行時に、複数のトレーディング パートナからビジネス メッセージの送信先になる 1 つを決定できます。動的なセレクタを指定するときには、必要なビジネス ID を取得する XQuery を構築してテストします。
setProperties
メソッドは ebXMLPropertiesDocument
パラメータを取ります。ebXMLPropertiesDocument
型は、DynamicProperties.xsd
で定義された対応するスキーマ要素から生成される XML Beans クラスです。DynamicProperties.xsd
ファイルは、新しいプロセス アプリケーションのシステム フォルダ内、またはスキーマ プロジェクトのシステム フォルダ内にあります。
DynamicProperties.xsd
ファイルをもつスキーマ プロジェクトがアプリケーションに含まれており、スキーマがすでに構築されている場合は、WebLogic Workshop のマッパー機能でクエリを (XQuery 言語で) 作成して、必要な値を抽出できます。マッパー機能を使用してクエリを作成する方法については「XQuery を使用したデータの変換」を参照してください。
現在のプロパティ設定を表示するには、getProperties()
メソッドを使用します。
ebXML コントロールの使用方法の例については、『チュートリアル : ebXML ソリューションの構築』(以下の URL) を参照してください。
http://edocs.beasys.co.jp/e-docs/wli/docs81/tptutorial/ebxml.html
![]() ![]() ![]() |