機械翻訳について

データのマップ

マッパーを使用して、ソース・データ構造とターゲット・データ構造間でデータをマップします。

「Oracle Integration 3でのOracle Mapperの使用」「マップ・データ」を参照してください。

マッパーにアクセス

統合でマッピングを作成するには、まずマッパーにアクセスする必要があります。

「Oracle Integration 3でのOracle Mapperの使用」「マッパーにアクセス」を参照してください。

ファイル添付コンテンツのエンコードおよびデコード

仮想ファイルシステム(VFS)を使用すると、ファイルを保存し、これらのファイルへの参照をメッセージ・ペイロードに内部的に使用できます。 VFSファイルのコンテンツを文字列要素にマップすることもできます。

たとえば、次のようにしてVFSにファイルを格納し、参照を使用することができます:
  • RESTアダプタは、マルチパートの添付とapplication/octet-streamの機能をサポートしています。 添付ファイルはステージング領域に格納され、attachmentReference (文字列キー)が生成されます。 attachmentReferenceキーは、メッセージ・ペイロードの一部として送信され、後でステージング領域から添付ファイル・インスタンスを取得します。

  • FTPアダプタは、スキーマなしでファイルを読み書きするためにfileReferenceを使用します。fileReferenceは、VFSに格納されているファイルへの参照です。

さらに、VFSファイルのコンテンツを文字列要素にマップすると、次のことが可能になります:
  • ステージングされた添付ファイルの内容を、文字列要素にマップするには、内容をbase64文字列に変換します。

  • base64文字列を添付ファイルとして保存し、VFSリファレンスを生成します。

これらのタスクを実行するための2つのXPath関数が用意されています。 これらの関数は、どのアダプタでも動作します。

  • encodeReferenceToBase64(String reference): VFSのファイル参照を入力として受け入れ、ファイルのbase64エンコード・コンテンツを戻り値として返します。 この関数のファイル・サイズの上限は10 MBです。 ファイルが10 MBより大きい場合、Maximum file size supported is 10 MBの例外メッセージが表示されます。

  • decodeBase64ToReference(String base64String): base64でエンコードされたコンテンツを入力として受け取り、デコードし、base64でデコードされた値をVFS内のファイルに格納し、このファイルへの参照を返します。 コンテンツはすでにメモリーに入っているためサイズ制限はありません。

    エンコードされたbase64文字列の先頭にある77u/テキストは、バイト順マークに関連し、使用されたエンコーディング方式(UTF-8)を示します。 これは、base64文字列をバイナリにデコードするために必要ありません。

    これは、文字列内のバイナリ・データを表すために必要です。 このテキストは、デコードの問題が発生しないように、元のbase64文字列から抽出および削除する必要があります。 エンコードされた文字列から削除されない場合は、文字列に変換されると、デコードされたデータに追加の領域があります。

    これは、文字列に対する標準的なマッパー関数を使用して、base64でエンコードされた文字列から抽出および削除できます。 この情報は、base64でエンコードされた文字列をバイナリ・データにデコードする際には必要ありません。 これは、UTF-8エンコーディングを使用してバイナリ・データを読み取るために必要です。

このロケーションは、Oracle Integrationに格納されているファイルの相対パス(参照)です。 相対パスは、次の要素のいずれかです:
  • fileReference

  • attachmentReference

  • streamReference

Oracle Integrationでは、2つのXPath関数を使用できます:
  • 式ビルダー(統合で次のアクションを構成する場合):

    • 通知

    • ロギング

    • スイッチ

    • 割当て

  • マッパー(関数リンク>「関数」>「上級」を選択した後に表示されます)

添付ファイルは、ドキュメント・ファイルのタイプに限定されません。 たとえば、イメージをベース64でエンコードし、後で元のファイルにデコードすることができます。

添付ファイルがVFSに保存されると、後で添付ファイルを取得するためのキーが生成されます。 キーはマッパーにattachmentReference/fileReference/streamReferenceとして表示されます。 このキーは、ペイロードの一部としてOracle Integration内に伝播されます。 添付ファイルは、必要なときにのみ要求されます。 attachmentReferencefileReference、およびstreamReferenceの名前は、アダプタのタイプに基づいています。 たとえば、RESTアダプタでは、streamReferenceが使用されます。 参照のデータ型は文字列です。

マルチパート機能では、HTTPリクエストのペイロードに境界で区切られた複数の部分があります。 個々のパーツのそれぞれは添付ファイルとみなされます。 生のバイトの場合は、streamReferenceが使用されます。 FTPはfileReferenceを使用します。

時には、エンドポイントはbase64でエンコードされた値のみを受け入れます。 このような場合、参照はencodeReferenceToBase64への入力として渡され、ファイルのbase64でコード化されたコンテンツを取得します。 ここでもbase64でエンコードされた値をdecodeBase64ToReferenceへの入力として渡して、デコードされたコンテンツを含むファイルへの参照(ロケーション)を取得することができます。

マップ・ファイルのインポート

次のトピックを参照して、マップ・ファイルをOracle JDeveloperおよびOracle Integrationにインポートする方法を学習します。

ノート:

かわりに、マッパーでXSLTコードを直接編集することもできます。 これにより、XSLTコードをOracle Integrationからエクスポートし、テキスト・エディタまたはEclipseやOracle JDeveloperなどの別のグラフィカル・ツールでコードを手動で編集し、Oracle Integrationのマッパーにコードを再インポートする必要がなくなります。 「Oracle Integration 3でのOracle Mapperの使用」「マッパーでのXSLTコードの編集」を参照してください。

Oracle JDeveloperで編集するマップ・ファイルを含む統合をエクスポートできます。 「統合のエクスポート」を参照してください。

Oracle JDeveloperへのマップ・ファイルのインポート

Oracle Integrationアーカイブ・ファイルをOracle JDeveloperのOracle Service Busプロジェクトにインポートできます。 アーカイブ・ファイルには、内容がほぼ完成しているマップ・ファイルも空のマップ・ファイルも含めることができます。 このアクションにより、Oracle Integrationマッパーで実行できない拡張XSLTタスク(変数の作成、テンプレートの使用など)をOracle JDeveloperで実行できます。 Oracle JDeveloperでこれらの高度なタスクを完了した後、マップ・ファイルを保存し、Oracle Integrationに再インポートできます。

  1. 編集するマップ・ファイルを含む統合をOracle JDeveloperにエクスポートする手順については、統合のエクスポートを参照してください。
  2. Oracle JDeveloperで、プロジェクトを含むOracle Service Busアプリケーションを作成します。
  3. アプリケーション・ナビゲータで、Oracle Service Busプロジェクトを右クリックして「Import」を選択します。
    「Import」ダイアログが表示されます。
  4. 「Service Bus Resources」を選択し、「OK」をクリックします。
    Service Busリソースのインポート・ウィザードが表示されます。
  5. 「Zipped/Archived Resources」を選択し、「Next」をクリックします。
  6. 「Zip Source」フィールドの右側の「Browse Zip Source」アイコンをクリックします。
    「Select ZIP File」ダイアログが表示されます。
  7. Oracle JDeveloper 12.2.1.xを使用している場合、次のステップを実行します。
    1. 「File Type」メニューで「ICS Archive (*.iar)」を選択します。
    2. 以前にエクスポートしたOracle Integration IARアーカイブ・ファイルを参照して選択します。
  8. Oracle JDeveloper 12.1.3を使用している場合は、次のステップを実行します。
    1. 最初に、.iarファイル拡張子の名前を.zipに変更します。
    2. インポートするZIPファイルを探して選択します。
  9. ウィザード・ページで「OK」をクリックしてから「Next」をクリックします。
    JARファイルの内容が表示され、インポートするために選択できます。
  10. アーカイブ・ファイルをインポートする「resources」フォルダを選択します。 デフォルトでは、「Resource」ツリー全体が選択されています。これには、選択する階層ノードの上にあるものすべてが含まれます。 関連する階層ノードの上にある部分の選択を解除し、「終了」をクリックします。

    リソースがOracle Service Busプロジェクトにインポートされます。 これで、Oracle JDeveloperのXSLTマップ・エディタで編集するためにマップ・ファイルを開くことができます。

Oracle Integrationへのマップ・ファイルのインポート

Oracle Integrationマッパーで実行できない高度なXSLTタスク(変数の作成、テンプレートの使用など)を実行する必要がある場合があります。 このような場合、統合をエクスポートし、統合をOracle JDeveloperにインポートし、Oracle JDeveloperのXSLTマップ・エディタのマップ・ファイルでこれらの拡張タスクを実行し、マップ・ファイルを保存してOracle Integrationに再インポートできます。 マップ・ファイルは、Oracle JDeveloperのOracle Service Projectに基づく必要があります。

  1. ナビゲーション・ペインで、「設計」「統合」の順にクリックします。
  2. マップ・ファイルのインポート先の統合をクリックします。
  3. マッパー・アイコンをクリックし、「アクション」アイコン「インポート」の順に選択します。
  4. 「Browse」をクリックして、マップ・ファイル(.xslファイル)を選択します。 統合全体をエクスポートしても、統合全体をOracle Integrationにインポートしなおさないことに注意してください。 エクスポートされた統合のマップ・ファイルをOracle Integrationにインポートするだけです。
  5. 「インポート」をクリックします。