1

Talend ESBルートでxmlをjsonに、jsonをxmlに変換する方法を知っている人はいますか? ジョブで休憩メッセージを受け取ったら、「消費」と「生産」を設定できますが、ルートでこれを行う方法。EIP が Route 内にあるため、残りのメッセージを仲介する必要があるため、Route (Content Based Routing) を使用する必要があります。

例:

RestEndpoint_IN->MessageRouter->ConvertXmlToJson->RestEndpoint_Out.

それに応じて、次のものが必要です。

RestEndpoint_Out->ConvertJsonToXml->RestEndpoint_IN
4

2 に答える 2

2

これを行うには、xmljson camel コンポーネントを使用できます。

手順:

  • talend libフォルダーにXOMライブラリーがあることを確認します。(Talend ESB\Runtime_ESBSE\lib)。現在のtalendのインストールでは見つからないようです。ここから入手できます: https://mvnrepository.com/artifact/xom/xom/1.2.5 (コピーする必要がある場合はtalendを再起動してください)

  • cConfig ウィジェットがまだない場合は、ルートに追加します。Basic Settings->dependencies で、xom ライブラリを追加します。これで、コンポーネントを使用する準備が整いました。ここからはまっすぐです。

  • cMessagingEndpoint ウィジェットを追加します。

    • URI では、「dataformat:xmljson:unmarshal?」を使用します。json から xml に移行するため。xml から json に移動する必要がある場合は、「dataformat:xmljson:marshal?」を使用します。.
    • [詳細設定] タブで、xmljson を選択します。
  • ウィジェットの名前を「Convert body to XML」のような名前に変更できます。

説明:

Talend フォーラムはあまり役に立ちません。彼らは単に xmljson コンポーネントについて言及していますが、camel をよく理解していないと、非常に混乱します。cMessagingEndpoint ウィジェットは、単に Java DSL の「.to()」メソッドに変換されます。http://camel.apache.org/components.htmlにリストされているキャメル コンポーネントは、URI 識別子をサポートしています。ご覧のとおり、キャメル コアのマーシャル メソッドとアンマーシャル メソッドを使用してフォーマットを変換できる DataFormat URI フォームを使用しました。xml を json に変換する最も簡単な方法は camel-xmljson ( http://camel.apache.org/xmljson.html ) を使用することですが、2 つの jar が必要であり、そのうちの 1 つ (XOM) が現在の talend インストールにありません。そのため、cConfig ウィジェットを使用して依存関係を追加する必要があります。

于 2017-04-06T07:23:10.357 に答える