B2B for Oracle Integrationを使用した単純な統合の作成
単純な例を使用して、統合内のB2Bアクションを使用して受信EDI X12ドキュメントを解析する方法を確認します。
統合の作成
RESTリクエストを介してEDIドキュメントを受信し、EDIを解析して検証し、XMLに変換し、レスポンスでXMLを返す基本的なインバウンド統合フローを作成します。
ノート:
この統合フローでは、簡略化のためにRESTを使用します。 「RESTアダプタ」トリガー接続は、Oracle Integrationで使用可能な「FTPアダプタ」などの他のアダプタと置き換えることができます。 通常、FTPはEDIで使用されるトランスポート・タイプです。- ナビゲーション・ペインで、「統合」をクリックします。
- Integrationsページで、「作成」をクリックします。
- 使用するスタイルとして「アプリケーション駆動オーケストレーション」を選択します。 「Create New Integration」ダイアログが表示されます。
- 「統合とは何を呼びたいのですか?」フィールドに
Inbound EDI via RESTと入力し、「作成」をクリックします。
「RESTアダプタ」トリガー接続の構成
統合キャンバスで、開始ノードをクリックし、トリガー接続として「RESTエンドポイント・インタフェースの例」を選択します。
マッピング・アクションの構成
受信EDIメッセージを正常に解析してXMLメッセージに変換するために、EDI-TranslateアクションおよびReceive-EDIアクションのデータ・マッピングを構成します。
EDIへのマップ-変換アクションの構成
- 「EDIへのマップ-変換」アクションをクリックし、「編集」を選択します。
- 左側の
streamReferenceを右側のTranslateInput内のedi-payloadにマップします。 - 下部に表示される式ペインで「開発者ビューに切替え」
をクリックし、マッピングの式を編集します。
次のように、既存のメディア・ロード式に関数コール
encodeReferenceToBase64のプレフィクスを付けます:oraext:encodeReferenceToBase64 (/nssrcmpr:execute/ns20:streamReference )。 Save
をクリックします。

「図payload_exp.pngの説明」ノート:
ネームスペースは、ns20とは異なる場合があります。 - 「検証」をクリックし、次に「閉じる」をクリックします。
受信するマップ-EDIアクションの構成
- 「受信へのマップ-EDI」アクションをクリックし、「編集」を選択します。
- ツールバーの「開発者」をクリックします。
edi-xml-document(左側の$EDI-Translate→executeResponse→TranslateOutputの下)を、右側のresponse-wrapper内のtranslated_payloadにマップします。ノート:
このマッピングを実現するには、最初に@format変数(edi-xml-document内)をtranslated_payloadにマップします。 このマッピングの式で、/@formatを削除し、ツールバーの「トグル」
をクリックします。 コンポーネント・ペインで、「関数」の下の「文字列」を展開します。 get-content-as-stringファンクションを選択し、式エディタにドロップします。 次のように、エディタの既存の式を関数にコピー : oraext:get-content-as-string ($EDI-Translate/nsmpr0:executeResponse/ns20:TranslateOutput/ns20:edi-xml-document )。 「保存」をクリックします
- 同じ
TranslateOutput要素内のtranslation-statusを右側のtranslate_resultにマップします。 validation-errors-presentをhasErrorにマップします。validation-error-report(TranslateOutput>validation-errors)をvalidationErrorsにマップします。- 「検証」をクリックし、次に「閉じる」をクリックします。
統合のアクティブ化
エラーを確認し、統合フローを保存してアクティブ化します。
- キャンバスにエラー通知が表示されます。 これを解決するには、キャンバスの右上隅にある「アクション・メニュー」
をクリックし、「トラッキング」を選択します。
- 表示されるダイアログで、左側の
streamReferenceを選択し、右側の表に移動します。 - 「保存」をクリックします。
- 統合を保存し、「閉じる」をクリックします。
- Integrationsページで、統合に対して「アクティブ化」
ボタンをクリックします。
- 「統合のアクティブ化」ダイアログで「アクティブ化」をクリックします。
最初のEDI文書の解析
サンプル統合を実行するには、PostmanなどのRESTクライアント・ツールからリクエストを送信します。
構文検証のテスト
変換に加えて、B2Bアクションでは受信したEDIデータも検証され、見つかったエラーがレポートされます。
統合開発者は、EDI X12ドキュメントをバックエンド・アプリケーションに送信してさらに処理するために統合を構築する場合、EDIデータの解析中に検証エラーをチェックし、これらのエラーを統合フローで適切に処理できます。 エラー処理の詳細は、「インバウンドEDIメッセージの解析および変換」を参照してください。 入力データ検証を有効にするには、B2Bアクションの構成時に「入力データに対して検証を実行しますか」フィールドでYesを選択します。 「スタンドアロン・モードでのB2Bアクションの使用」を参照してください。
B2B処理の検証機能をテストするには、EDI X12購買オーダー文書に構文エラーを導入し、RESTクライアントを介してサンプルのB2Bフローに送信します。
- RESTクライアントの(EDI X12 POデータを含む)リクエスト本文の5行目で、
USDをUSD123に置き換えて、このデータをフィールドで許可されている長さより長くします。 - 更新されたリクエストをクライアントから送信します。
- 次のようなレスポンスが表示されます:
{ "translate_result": "Error", "hasError": true, "validationErrors": "[1] Error code: B2B-01752 | category: data_size | message: (Severe) Element CUR02 (element id 100) has a identifier value [USD123] of length 6, which is more than the maximum allowed length of 3. | segment-CUR > CUR02 (element id 100) | segment position 3 (starting with ST segment) | element position 2 | line 4 | character position 7\n\n", "translated_payload": ... }translate_resultがErrorとして返されるようになり、データの構文エラーがvalidationErrors要素で報告されます。 つまり、EDI X12ドキュメントは正常に処理されませんでした。




