メッセージおよびサービス オペレーションの定義
このセクションでは、次の方法について説明します。
インテグレーション ブローカーのメッセージの定義
サービス オペレーションの定義
ページ名 |
定義名 |
用途 |
---|---|---|
メッセージ定義 |
IB_MESSAGE_BUILDER |
メッセージを定義します。 |
サービス |
IB_SERVICEDEFN |
サービスを定義または更新します。 |
サービス オペレーション定義 - 一般 |
IB_SERVICE |
サービス オペレーションを定義または更新します。 |
サービス オペレーション定義 - ハンドラ |
IB_SERVICEHDLR |
ハンドラ名、ハンドラ タイプ、ハンドラの実装方法を指定します。 |
ハンドラ詳細 |
IB_SERVICEHDLR_SEC |
"サービス オペレーション定義 - ハンドラ" ページで、[詳細] リンクをクリックします。 ハンドラ詳細を指定します。 |
EMC 用に作成されたインテグレーション ブローカーのメッセージは、行セットベースのメッセージである必要があり、これには、この表に列挙する EMC レコードが含まれます。
レコード |
レベル |
説明 |
---|---|---|
EOAWEMC_HDR |
0 |
EMC のヘッダー レコード。 |
EOAWEMC_TXNDATA |
1 |
EMC のトランザクション データ レコード。 |
EOAWEMC_PROMPTS |
1 |
EMC のプロンプト レコード。アプリケーションによって、特定のプロンプト アクションのためのレコードが追加されます。 |
EOAWEMC_ERRORS |
1 |
EMC のエラー レコード。 |
アプリケーション トランザクション レコード構造は、EOAWEMC_TXNDATA の下のレベル 2 に追加されます。
次の例に、経費レポートを承認するために作成されたメッセージの [レコードのみ] ビューを示します。この例では、トランザクション データを含むアプリケーション レコードの先頭は、EX_EMC になっています。
画像: EMC に使用するメッセージの [レコードのみ] ビュー
次の例では、EMC に使用するメッセージの [レコードのみ] ビューのフィールドおよびコントロールを説明します。このページのフィールドおよびコントロールの定義は後で説明します。
![EMC に使用するメッセージの [レコードのみ] ビュー](img/i-1de106ban-7f0c.png)
全てのサービス オペレーションは、1 つ以上のサービスと関連付ける必要があります。既存のサービスのために新しいサービス オペレーションを作成する、またはサービス オペレーションと関連付けるための新しいサービスを作成できます。
『PeopleTools: PeopleSoft Integration Broker』の「Managing Services」、「Adding and Configuring New Service Operations for Services」を参照してください。
EMC メッセージ構造を使用する非同期の一方向サービスを作成する必要があります。
注: このサービス オペレーションには、メッセージと同じ名前が付けられる必要があります。
『PeopleTools: PeopleSoft Integration Broker』の「Managing Service Operations」、「Adding Service Operation Definitions」を参照してください。
さらに、ハンドラとして使用される、EMC フォームを処理するためのアプリケーション クラスも作成する必要があります。
インバウンド送信を処理するために作成されたアプリケーション クラスは、EOAW_EMC:API:emailFormManager クラスおよび EOAW_EMC:utils クラスを拡張する必要があります。
このオブジェクトを作成する際は、このオブジェクトに次の 2 つのパラメータを渡す必要があります。
完全にインスタンス化されてロードされたサービス オペレーション。
この電子メールを受け取るユーザーの言語コード。
注: フィールド ラベルなどのトランザクションは、EMC エンジンによって処理されます。しかし、メッセージ内に含まれる全ての値は、自分で翻訳する必要があります。
「EMC クラスについて」を参照してください。
EMC ランタイムインバウンド
EMC インバウンド処理は、ユーザーの送信から取得した全ての値を取得し、それらをユーザーに送信する値に結合します。このとき、アウトバウンド値よりもインバウンド値が優先されます。次に、これらの値を、フォームの定義に使用したのと同じサービス オペレーションに挿入し、パブリッシュします。パブリッシュされたメッセージを捕捉し、そのデータを処理するには、送信コードの部品を追加する必要があります。
getErrorCodesRS() ユーティリティ クラス メソッドを使用することで、インバウンド メッセージの処理時に EMC エンジンが挿入したエラー コード リストを取得できます。このコード リストは次のとおりです。
エラー コード |
説明 |
---|---|
0 |
エラーなし。 |
1 |
重複する回答が受信されました。ユーザーは 1 回を超えてフォームを送信しました。 |
2 |
送信先チェックに失敗しました。電子メールの送信先ユーザーは、受信した回答の送信元ユーザーではありませんでした。このエラーを処理するときは、ユーザーによっては、1 つ以上の電子メールの別名を持っていることに注意してください。 |
3 |
無効な日付値によるエラーが発生しました。 |
4 |
無効な数値によるエラーが発生しました。 |
エラー コード行セット内のフィールドは ERROR_CODE、ROW_PATH、RECNAME、FIELDNAME および RECEIVED_VALUE です。ただし、これら全てのフィールドが、全てのエラーに使用されるわけではありません。たとえば、ROW_PATH、RECNAME および FIELDNAME は、無効な日付値または数値が受信されたときにのみ使用されます。