BEA ホーム | 製品 | デベロッパ・センタ | support | askBEA
 ドキュメントのダウンロード   サイト マップ   用語集 
検索

B2B Integration サンプルの使い方

 前 次 目次 PDFで表示  

ebXML サンプル

ebXML サンプルは、ebXML ビジネス プロトコルを使用して 2 つのトレーディング パートナがビジネス メッセージを交換する方法を示します。ebXML サンプル アプリケーションは、SAMPLES_HOME¥integration¥samples¥ebxml ディレクトリにあります(SAMPLES_HOMEは WebLogic Platform サンプル ディレクトリを表している)。

この章では、以下のトピックを取り上げます。

 


ebXML サンプルの概要

WebLogic Integration は、E ビジネス トランザクションにおけるビジネス メッセージの交換のための ebXML ビジネス プロトコルをサポートします。ebXML サンプルは、それぞれが WebLogic Integration をデプロイする 2 つのトレーディング パートナ間の ebXML ベースの会話を、2 つのワークフローを使用して管理する方法を例示します。

このサンプル中のワークフローは、ebXMLConversationInitiator および ebXMLConversationResponder と名付けられています。これらのワークフローは、トレーディング パートナに代わって、QPA(価格および在庫)会話で、開始者と参加者のロールを通じて ebXML メッセージの交換を管理します。このサンプルでは、QPA プロセスの開始と QPA 要求データおよび応答データの表示に使用できる Java Server Page (JSP) を示します。

次の図は、QPA ビジネス トランザクションに関与するトレーディング パートナ間のデータ フローを示しています。

図7-1 QPA ビジネス プロセスのデータ フロー


 

以下のタスク順序では、このサンプルのトレーディング パートナ間通信の概要を示します。

  1. バイヤは、製品、その単価、および購入する数量を選択するために提供された Web フォームを使用します。その Web フォームが掲載されている JSP は、JMS キューに XML メッセージを送信し、バイヤの(ebXMLConversationInitiator)ワークフローをトリガします。

  2. バイヤのワークフローは、QPA メッセージおよび選択された製品の詳細情報をサプライヤ トレーディング パートナに送信します。QPA メッセージは ebXML フォーマットです。

    バイヤのワークフロー(ebXMLConversationInitiator)から送信された ebXML メッセージは、サプイライヤのワークフロー(ebXMLConversationResponder)をトリガします。

  3. サプライヤのワークフローは、QPA を処理して、同じく ebXML フォーマットの応答をバイヤ トレーディング パートナに送信します。

  4. バイヤのワークフロー(ebXMLConversationInitiator)は、QPA 応答 ebXML メッセージを受け取って、XML ファイルに書き込みます。JSP は XML を解析し、QPA 応答をバイヤの Web ブラウザに表示します。

    このステップは、QPA ビジネス プロセスが終了したことを示します。

 


ebXML サンプルを実行する前に

ebXML サンプルを実行する前に、次の手順を実行します。

  1. サンプルの実行前の作業に記載の手順に従います。

  2. サンプル WebLogic Server への接続が妨げられないようにブラウザのプロキシ設定を確認します。Web ブラウザ コンフィグレーションの要件の詳細については、『WebLogic Integration の起動、停止およびカスタマイズ』の「WebLogic Integration 管理ツールと設計ツール」の「Web ブラウザ コンフィグレーションの要件」を参照してください。

 


ebXML サンプルの実行

ebXML サンプルを実行するには、次の手順を実行します。

  1. WLI_HOME(WebLogic Integrationをインストールしたディレクトリ)に移動します。
    cd WLI_HOME

  2. WebLogic Integration の上位レベルの環境変数を設定するには、お使いのプラットフォームに合った setenv スクリプトを実行します。

  3. プラットフォームに合わせて適切な手順を実行し、RunSamples スクリプトを起動します。

    警告: UNIX システムの場合、netscape 実行ファイルが入ったディレクトリが PATH 環境変数に含まれている必要があります。環境変数に含まれていない場合は、RunSamples スクリプトの実行時にサンプル起動ページが表示されません。サンプル起動ページは、現在 RunSamples スクリプトが実行されているマシンで Netscape ブラウザを起動して、次の URL を入力すると起動されます。
    http://localhost:7001/index.html

  4. RunSamples スクリプトのコンフィグレーション セクションが実行済みであることが検知されると、次のプロンプトが表示されます。
    The WebLogic Integration repository has already been
    created and populated, possibly from a previous run
    of this RunSamples script. Do you want to destroy all the
    current data in the repository and create and populate the
    WebLogic Integration repository, again? Y for Yes, N for No

    この質問に N と入力すると、RunSamples スクリプトはリポジトリを作成してデータを入れる手順を省略し、サンプル ドメインで WebLogic Server のインスタンスを起動する手順のみを実行します。

    この質問に Y と入力すると、RunSamples スクリプトはリポジトリを再度作成してデータを入れてから、サンプル ドメインで WebLogic Server のインスタンスを起動します。Y と入力した場合、その時点でリポジトリに格納されている全データが破棄され、リポジトリにサンプル データが再ロードされます。以下の状況では、Y と入力します。

    これで、RunSamples スクリプトは WebLogic Server のインスタンスをバックグラウンド プロセスとして開始し、サンプル起動ページが表示されます。

    図7-2 サンプル起動ページ


     

  5. [ebXML サンプル] リンクをクリックすると、サンプル起動ページの左ペインの [サンプル アプリケーション] の下にリストが表示されます。右ペインに ebXML サンプルが表示されます。

    図7-3 ebXML サンプル起動ページ


     

  6. このフォームの [Product ID]、[Product Unit Price]、および[Product Qunatity] の各フィールドに値を入力して、[Submit] をクリックします。

    ebXML ベースの QPA メッセージがサプライヤ トレーディング パートナに送信されます。

  7. サプライヤ トレーディング パートナは、QPA メッセージを処理して、応答 ebXML メッセージをバイヤ トレーディング パートナに送信します。

    応答はバイヤの Web ブラウザに表示されます。

    図7-4 応答メッセージ


     

  8. このとき、さらに多くの WebLogic Integration サンプルを実行する場合は、サンプル起動ページを開いた状態で、WebLogic Server のインスタンスの実行を続行します。

    この時点で、これ以上のサンプルを実行しない場合は、ブラウザを終了し、プラットフォームに合わせた適切な手順によって WebLogic Server のインスタンスをシャットダウンします。

 


サンプルの仕組み

この節では、以下のトピックを取り上げます。

概要

このサンプル アプリケーションをサポートするのに必要なデータは、サンプルの設定(ebXML サンプルの実行参照)時に RunSamples スクリプトを実行したときに WebLogic Integration リポジトリにバルク ロードされます。WebLogic Integration では、コンフィグレーション データをバルク ロードすることも、WebLogic Integration B2B Console を使用して入力することもできます。ebXML サンプルを実行する場合に B2B Console を実行する必要はありませんが、実行すると、サンプル用にバルク ロードされたリポジトリ データを表示できます。

このサンプルで使用する 2 つのワークフローは、QPA 会話における ebXML ベースのビジネス メッセージの交換を管理します。これらのワークフローは、ebXML メッセージの送信側および受信側を管理します。

B2B 統合環境のコンフィグレーション方法を詳しく説明することは、このマニュアルの範囲を越えますが、この節では、このサンプル アプリケーションで使用されている WebLogic Integration リポジトリ データについて簡単に説明します。この節ではまた、サンプルの ebXML ビジネス トランザクションの送信側および受信側でのワークフローの実装についても説明します。ワークフローの主要な設計要素、タスク、およびイベントは、特に詳しく説明されています。

リポジトリ データのロード

トレーディング パートナを統合するためにサンプルで必要なデータは、サンプルの設定(ebXML サンプルの実行参照)時に RunSamples スクリプトを実行したときに、WebLogic Integration リポジトリにバルク ロードされます。

RunSamples スクリプトは、以下の XML ファイルに格納された B2B コンフィグレーション データをリポジトリにロードします。

リポジトリ データについて

この節では、ebXML サンプル アプリケーション用として WebLogic Integration リポジトリにバルク ロードされるデータ要素に関して特に重要な情報を取り上げます。

SystemRepData.xml ファイルおよび BulkLoaderData.xml ファイルのデータは、サンプル アプリケーションをサポートするため、WebLogic Integration リポジトリにインポートされます。ebXML アプリケーションをコンフィグレーションする際、コンフィグレーションデータは、バルク ロードすることも、WebLogic Integration B2B Console を使用して入力することもできます。また、B2B Console を使用して、バルク ロードしたデータにアクセスしたり、コンフィグレーションしたりすることができます。E ビジネス トランザクションに必要なWebLogic Integrationデータのコンフィグレーションの詳細については、『B2B Integration ebXML の実装』の「ebXML の管理」を参照してください。

ビジネス プロトコル定義

SystemRepData.xml ファイルには、ebXML をはじめとする、WebLogic Integration がサポートするすべてのビジネス プロトコルの定義が格納されています。SystemRepData.xml ファイルの以下の抜粋に、ebXML ビジネス プロトコル定義が示されています。

コード リスト 7-1 ebXML ビジネス プロトコル 定義

<business-protocol-definition
name="ebXML"
business-protocol-name="ebXML"
protocol-version="1.0"
endpoint-type="PEER">
<java-class>com.bea.b2b.protocol.ebxml.EBXMLProtocol
</java-class>
<decoder>EBXML-Decoder</decoder>
<encoder>EBXML-Encoder</encoder>
</business-protocol-definition>

ロジック プラグイン

ロジック プラグインは、実行時にビジネス メッセージをインターセプトして処理する Java クラスです。各ビジネス プロトコルは、標準のルータおよびフィルタ ロジック プラグインに関連付けられています。SystemRepData.xml ファイルには、XOCP、RosettaNet、cXML の各ビジネス プロトコル用のロジック プラグインが格納されています。このサンプルでは、次の ebXML ロジック プラグインのみを使用します。

SystemRepData.xml ファイルの以下の抜粋には、ebXML エンコーダおよびデコーダのロジック プラグインが示されています。

コード リスト 7-2 ebXML ロジック プラグイン定義

<logic-plugin
name="EBXML-Decoder"
type="decoder">
<java-class>com.bea.b2b.protocol.ebxml.EBXMLDecoder
</java-class>
</logic-plugin>
<logic-plugin
name="EBXML-Encoder"
type="encoder">
<java-class>com.bea.b2b.protocol.ebxml.EBXMLEncoder
</java-class>
</logic-plugin>

トレーディング パートナ

ebXML サンプルでは、バイヤとサプライヤという 2 つのビジネス パートナが設定されています。WebLogic Integration 環境では、各ビジネス パートナごとにトレーディング パートナをコンフィグレーションする必要があります。この場合、BulkLoaderData.xml ファイルで ebXML - senderebXML - receiver という 2 つのトレーディング パートナがコンフィグレーションされています。コンフィグレーション要素、属性、およびこれらのトレーディング パートナに関連付けられた下位要素については、以下のファイルを参照してください。

SAMPLES_HOME¥samples¥ebxml¥lib¥BulkLoaderData.xml

SAMPLES_HOME は、WebLogic Platform のサンプル ディレクトリを表しています。

会話定義

BulkLoaderData.xml ファイルには、ebXML ベースの Query Price and Availability (QPA) 会話の会話定義が格納されています。その会話定義の名前は、ebxmlQPA です。この定義には、開始者と参加者という、2 つのロールが含まれています。ebXML ビジネス プロトコルでは、すべての会話定義は、開始者と参加者という定義済みの名前を持つ 2 つのロールを参照します。

次のリストは、BulkLoaderData.xml ファイルの抜粋です。ここでは、ebXMLQPA 会話を定義しています。

コード リスト 7-3 BulkLoaderData.xml ファイルの会話定義

<conversation-definition
name="ebxmlQPA"
version="1.0"
business-protocol-name="ebXML"
protocol-version="1.0">
<role
name="Initiator">
</role>
<role
name="Participant">
</role>
</conversation-definition>

コラボレーション アグリーメント

BulkLoaderData.xml ファイルには、このサンプル用の ebxml-sender トレーディング パートナおよび ebxml-receiver トレーディング パートナが使用するコラボレーション アグリーメントが格納されています。次の図は、このサンプル アプリケーションでのトレーディング パートナ間の関係、コラボレーション アグリーメントにかかわるパーティ、会話に対して定義されているロールを示しています。

図7-5 QPA 会話のトレーディング パートナ間のコラボレーション アグリーメント


 

次のリストは、BulkLoaderData.xml ファイルの抜粋です。ebxml-QPA-CA コラボレーション アグリーメントの要素を示しています。

コード リスト 7-4 BulkLoaderData.xml ファイルのコラボレーション アグリーメント

<collaboration-agreement
name="ebxml-QPA-CA"
version="1.0"
status="ENABLED"
global-identifier="sachin/172.16.15.113:2423d2:
ea8fe66b8f:-8000"
conversation-definition-name="ebxmlQPA"
conversation-definition-version="1.0">
<party
trading-partner-name="ebxml-sender"
party-identifier-name="sender-party"
delivery-channel-name="sender-dc"
role-name="Initiator"/>
<party
trading-partner-name="ebxml-receiver"
party-identifier-name="receiver-party"
delivery-channel-name="receiver-dc"
role-name="Participant"/>
</collaboration-agreement>

ワークフローについて

このサンプル QPA 会話では、2 つのワークフローが、開始者と参加者のロールで 2 つのトレーディング パートナによる ebXML メッセージの交換を管理します。これらのワークフロー(ebXMLConversationInitiator および ebXMLConversationResponder)は、サンプルの設定(ebXML サンプルの実行参照)時に RunSamples スクリプトを実行したときに、WebLogic Integration リポジトリにバルク ロードされます。

この節では、以下のトピックを取り上げます。

WebLogic Integration Studio の使い方

WebLogic Integration Studio を使用すると、新しいワークフローを設計したり、見慣れたフローチャートを使用して進行中のワークフローをモニタしたりすることができます。ebXML サンプルを実行する場合に Studio を実行する必要はありませんが、ワークフローまたはワークフロー ノードの詳細を表示したり、このサンプルに関するノードの定義およびコンフィグレーションを調べる場合には Studio が役立ちます。

Studio を起動するには、プラットフォームに合わせて適切な手順を実行します。

Studio を起動し、以下の手順を実行することで、ワークフロー テンプレートおよびそのプロパティを表示できます。

  1. Studio の左ペインで、ORG1 が [オーガニゼーション] フィールドで選択されていることを確認します。

  2. 左ペインで、[テンプレート] フォルダをダブルクリックしてワークフロー テンプレートのリストを表示します。

  3. [テンプレート] フォルダを展開して、ワークフロー テンプレートの定義リストを表示します。このサンプル アプリケーションに関与するテンプレート定義はebXMLConversationInitiator および ebXMLConversationResponder です。これらの定義は、サンプルをコンフィグレーションするときに workflow.jar ファイルでインポートされます。ebXML サンプルの実行を参照してください。

  4. テンプレート定義を右クリックして [開く] を選択すると、ワークフロー テンプレートが Studio に表示されます。

    注意: また、特定のワークフロー テンプレート定義を展開すると、そのワークフロー テンプレート定義の [タスク]、[分岐]、[イベント]、[結合]、[開始]、[完了]、および [変数] を格納するフォルダが表示されます。

  5. Studio でノードをダブルクリックすると、そのノードの [プロパティ] ダイアログ ボックスが表示されます。

Studio のツールおよび機能の詳細については、『WebLogic Integration Studio ユーザーズ ガイド』を参照してください。

ebXMLConversationInitiator ワークフローについて

この節では、ebXML サンプル シナリオにおける QPA 会話のバイヤ側を管理するワークフローについて説明します。次の図は、Studio での ebXMLConversationInitiator ワークフロー テンプレートを示しています。

図7-6 ebXMLConversationInitiator ワークフロー テンプレート


 

以下の節では、上の図に示した ebXMLConversationInitiator ワークフロー テンプレートの以下のノードの主要なタスクおよびイベントについて定義します。

開始

サンプル実行時に、QPA 要求が、HTML Web フォームの入力(図7-3参照)に基づいて、XML として作成されます。XML が、JSP( ebXML_Sample.jsp)を使用して、JMS キューに送信されます。

ebXML_Sample.jsp ファイルは、次のディレクトリ(SAMPLES_HOME は WebLogic Platform のサンプル ディレクトリ)にあります。

SAMPLES_HOME¥integration¥config¥samples¥applications¥DefaultWebApp_myserver

開始ノードは、JMS キューから XML イベントを受信したときに、この ebXMLConversationInitiator ワークフローを開始する設計になっています。次の図に、開始ノードの [開始のプロパティ] ダイアログ ボックスを示します。

図7-7 [開始のプロパティ] ダイアログ ボックス


 


 

この図の以下のプロパティ設定に注意してください。

Build XML Message Attachment

このタスク ノードでは、outXMLAttach ワークフロー変数が設定されます。この変数には、ebXML メッセージ ペイロードの一環として、サプライヤのワークフロー(ebXMLConversationResponder)に送信される QPA要求 XML メッセージ(ebXMLQPARequest)が保持されています(詳細は、このワークフローの次のノードを参照)。

ebXML メッセージの送信

このタスク ノードで定義されているアクションが、QPA 会話の最初の ebXML メッセージを送信します。ebXMLConversationInitiator ワークフローは、ebXML ベースの会話用に設計されているので、このタスク ノードでは ebXML メッセージのアクション(BPM への ebXML プラグインが提供)を使用します。

Studio で Send ebXML Message アクションを定義するには、次の手順に従います。

  1. タスク ノードをダブルクリックして、[タスクのプロパティ] ダイアログ ボックスを表示します。

  2. [アクション|追加|ebXML アクション|ebXML メッセージの送信] を選択します。

    [ebXML メッセージの送信] ダイアログ ボックスが表示されます。

このサンプル ノードに対して指定されている [ebXML メッセージの送信] プロパティを表示するには、次の手順に従います。

  1. タスク ノードをダブルクリックして、[タスクのプロパティ] ダイアログ ボックスを表示します。

  2. [アクション|アクティブ時] を選択します。

  3. [ebXML メッセージの送信] をダブルクリックして、次の図に示す [ebXML メッセージの送信] ダイアログ ボックスを表示します。

    図7-8 [ebXML メッセージの送信] ダイアログ ボックス


     

この図の以下の [ebXML メッセージの送信] プロパティに注意してください。

メッセージは、このノードでは非同期的に送信されます。すなわち、[タスクのプロパティ] ダイアログ ボックスの [アクション|アクティブ時] タブでは、以下のアクションは記載の順序で指定されています。

  1. Send ebXML Message

  2. Mark task Send ebXML Message done

Receive ebXML Response

このイベント ノードのワークフローでは、ebXMLConversationResponder ワークフローからの指定した ebXML イベントを待機します。次の図に示す [イベントのプロパティ] ダイアログ ボックスでは、[ebXML イベント] が選択されています。

図7-9 [イベントのプロパティ] ダイアログ ボックス


 

ebXML イベントが受信されると、メッセージ エンベロープは、エンベロープ変数(この場合は inEnvelope )に格納され、ペイロードは、XML 変数またはバイナリ変数のいずれか適切な方に格納されます。この場合、ペイロードには、添付ファイルが 2 つ(XMLとバイナリの添付ファイルが 1 つずつ)あります。それらは、それぞれ、inXMLAttach変数、inBinAttach 変数に割り当てられています。

Write Out Binary Attachment

このタスク ノードでは、着信QPA 応答 XML ドキュメント(ebXMLQPAResponse)からイメージ ファイルの名前を抽出する Set Workflow Variable アクションを最初に定義し、その名前を imageFileName ワークフロー変数に割り当てます。Set Workflow Variable アクションは、次の XPath 式を使用してこれらのタスクを実行します。

XPath("/ebXMLQPAResponse/ImageFileName/text()", $inXMLAttach)) 

以降は、ビジネス オペレーション(ebXMLSavePictureToWebApp)を使用するアクションがこのノードで定義されます。このアクションは、着信 ebXML メッセージのバイナリ添付ファイルを次のディレクトリに保存します(SAMPLES_HOME は WebLogic Platform サンプル ディレクトリを表す)。

SAMPLES_HOME¥integration¥config¥samples¥applications¥DefaultWebApp_myserver¥

このローカル ファイルは JSP によって処理されます(この節で次に説明する Respond to JSP ノードを参照)。

このサンプルのビジネス オペレーションを確認するには、Studio のタスク メニューから [コンフィグレーション|ビジネス オペレーション] を選択します。[ビジネス オペレーション] ダイアログ ボックスにビジネス オペレーションのリストが表示されます。ビジネス オペレーションをダブルクリックすると、詳細を確認できます。ebXMLSavePictureToWebApp ビジネス オペレーションの Java クラスは、次の場所にあります(SAMPLES_HOME はWebLogic Platform のサンプル ディレクトリを表す)。

SAMPLES_HOME¥integration¥samples¥ebxml¥src¥ebxmlsamples¥util¥EBXMLBizOp.java

Respond to JSP

このタスク ノードでは、Post XML Event アクションを定義します。このイベントをノードに対して定義するには、ノードをダブルクリックして [タスクのプロパティ] ダイアログ ボックスを表示し、[追加|統合アクション|XML イベントをポスト] を選択します。

このアクションは、応答メッセージからの XML メッセージ(前のノードで定義された inXMLAttach 変数)を内部 XML イベントとしてポストします。この XML イベントのポスト先である JMS キューは、[XML イベントをポスト] ダイアログ ボックスにある [送り先] タブで定義されます。

このノードの [XML イベントをポスト] ダイアログ ボックスを次の図に示します。

図7-10 [XML イベントをポスト] ダイアログ ボックスの [送り先] タブ


 

上の図の [送り先] で、[JMS キュー] が選択されている点に注意してください。これは、メッセージが WebLogic Server でコンフィグレーションされた内部キューにポストされることを意味しています。引用符で囲まれたキューに対して、静的 JNDI 名または実行時にキュー名を決定する式を入力できます。この場合、内部 JMS キューの JNDI 名は、com.bea.wlpi.EventQueueExt です。

JMS キューからの XML メッセージは、ebXML_Sample.jsp ファイルによって使用されます。これは、図7-4 に示したように、サンプル実行時に、QPA 応答メッセージの内容をブラウザに表示するファイルです。

ebXML_Sample.jsp ファイルは、次のディレクトリ(SAMPLES_HOME は WebLogic Platform のサンプル ディレクトリ)にあります。

SAMPLES_HOME¥integration¥config¥samples¥applications¥DefaultWebApp_myserver

完了

ワークフローの終了を示します。ebXML ベースの会話は、両方のトレーディング パートナにとって ebXML メッセージの交換が完了した時点で終了します。

この動作を、XOCP ビジネス プロトコルの場合と比較してください。WebLogic Integrationでは、XOCP 会話管理サービスをサポートしています。すなわち、会話を開始するワークフローは、会話の終了および会話に参加している各ワークフローへの会話終了メッセージの送信も担当します(『B2B Integration ワークフローの作成』の「協調的ワークフローの終了」を参照)。

XOCP 会話の場合は、会話終了プロパティを定義するには、会話を開始したワークフローの完了ノードで、[カスタム] オプションを選択しますが、ebXML ベースの会話はこの方法では終了しません。たとえば、この完了ノードに対して [カスタム] オプションは選択されていません。

ebXMLConversationResponder ワークフローについて

この節では、この ebXML サンプル シナリオにおける QPA 会話のサプライヤ側を管理するワークフローについて説明します。次の図は、Studio での ebXMLConversationResponder ワークフロー テンプレートを示しています。

図7-11 ebXMLConversationResponder ワークフロー テンプレート


 

以下の節では、上の図に示した ebXMLConversationResponder ワークフロー テンプレートの以下のノードの主要なタスクおよびイベントについて定義します。


 

開始

この ebXMLConversationResponder ワークフローは、ebXML ベースの会話での参加者ロールを担当するトレーディング パートナ用に設計されています。このワークフローは、トレーディング パートナから ebXML メッセージを受信した時点で開始します。Studio では、ebXML 会話における参加者ロールのワークフローの設計をサポートするため、開始ノードに ebXML 固有のオプションが用意されています。次の図に [開始のプロパティ] ダイアログ ボックスを示します。

図7-12 [開始のプロパティ] ダイアログ ボックス


 

この図の以下のプロパティ設定に注意してください。

Perform Message Processing

このタスク ノードは、着信 ebXML メッセージを処理します。ワークフロー変数を設定するアクションおよびビジネス オペレーションを実行するアクションが定義されています。

XPath 式により、製品 ID、数量、単価が着信 QPA ebXML メッセージから抽出され、ProductIDProductQuantity、およびProductUnitPrice の各ワークフロー変数に対して日付が割り当てられます。

このノードでは以下のビジネス オペレーションが実行されます。

  1. ebXMLGetQPAReply −このノードで、製品 ID、数量、単価に対して抽出された値を使用して XML QPA 応答ドキュメントを作成します。応答ドキュメントは、XML 変数 outXMLAttach に割り当てられます。

  2. ebXMLGetPictureForProductID −入力として製品 ID を受け取り、指定された製品のピクチャの入ったイメージ ファイルのファイル名を返します。

  3. file to binaryebXMLGetPictureForProductID ビジネス オペレーションから返されたファイルの場所にあるイメージ ファイル データからバイナリ データを読み出します。読み出されたデータは、 outBinAttach 変数に割り当てられます。

このサンプルのビジネス オペレーションを確認するには、Studio のタスク メニューから [コンフィグレーション|ビジネス オペレーション] を選択します。[ビジネス オペレーション] ダイアログ ボックスが表示されます。ビジネス オペレーションのリストが表示されます。ビジネス オペレーションをダブルクリックすると、詳細が確認できます。

ebXMLGetQPAReply および ebXMLGetPictureForProductID ビジネス オペレーションの Java クラスは、次の場所にあります(SAMPLES_HOME はWebLogic Platform のサンプル ディレクトリを表す)。

SAMPLES_HOME¥samples¥integration¥samples¥ebxml¥src¥ebxmlsamples¥util¥EBXMLBizOp.java

file to binary ビジネス オペレーションの Java クラスは、次の場所にあります。SAMPLES_HOME はWebLogic Platform のサンプル ディレクトリを表します。

SAMPLES_HOME¥samples¥integration¥samples¥wlis¥src¥examples¥wlis¥common¥util¥Utils.java

ebXML 応答の送信

このタスク ノードでは、このトレーディング パートナが QPA 会話で受信した ebXML メッセージに応答する ebXML メッセージを送信するアクションが定義されています。ebXMLConversationResponder ワークフローは、ebXML ベースの会話用に設計されているので、このタスク ノードでは ebXML メッセージのアクション(BPM への ebXML プラグインが提供)を使用します。

Studio で [ebXML メッセージの送信] アクションを定義するには、次の手順に従います。

  1. タスク ノードをダブルクリックして、[タスクのプロパティ] ダイアログ ボックスを表示します。

  2. [アクション|追加|ebXML アクション|ebXML メッセージの送信] を選択して [ebXML メッセージの送信] ダイアログ ボックスを表示します。

このサンプル ノードに対して指定されている [ebXML メッセージの送信] プロパティを表示するには、次の手順に従います。

  1. タスク ノードをダブルクリックして、[タスクのプロパティ] ダイアログ ボックスを表示します。

  2. [アクション|アクティブ時] を選択します。

  3. [ebXML メッセージの送信] をダブルクリックして、次の図に示す [ebXML メッセージの送信] ダイアログ ボックスを表示します。

    図7-13 [ebXML メッセージの送信] ダイアログ ボックス


     

上の図で、 ebXML サンプルのタスク ノードの以下のプロパティに注目してください。

完了

ワークフローの終了を示します。ebXML メッセージを交換するワークフローにおける完了ノードの詳細については、完了ebXMLConversationInitiator ワークフロー用の完了ノードについての説明を参照してください。

 

ページの先頭 前 次