0
をメールを送信:PDFを作成し、私たちは、次のシナリオを持っているApacheのラクダを通じて
- お客様には、XMLの2つの部分
- を含むXMLメッセージ最初の部分は、の作成に使用されなければならない情報が含まれている送信等、被験者、XMLのFOP成分とXSLT
- 第2の部分は、メール本文に使用される情報が含まれているラクダコロラド
を使用してPDF nfiguration:
- 、受信したXMLをXSLに変換することができます:FO(XSLTを使用して)
- は、FOPのコンポーネントが呼び出されることができ、PDF文書が
- 利用可能であるよりも、メール・コンポーネントはなく、より呼び出すことができます私は次の問題があります
- メールの情報を含む元のメッセージは利用できなくなりました。 1つの可能性は、元のボディをヘッダーまたはプロパティ内に格納することです。
- 添付ファイルとしてPDFを追加する必要があります。私は、本体、添付ファイルを移動するためのデフォルトのプロセッサ、フィルタなどがないと思う。だから私は自分のプロセッサ
質問
- を記述する必要が持っている誰もが同様のユースケースのための一例のラクダの設定?
- スプリッタパターンの場合がありますが、現在の例ではXMLファイルに複数の注文があり、XMLファイルには複数の項目は含まれていませんが、データが含まれています。このユースケースでうまくいく別のパターンがありますか?
非常に助かります。
私は以下のラクダの設定で試しましたが、マージ戦略ではジップは決して存在しません。 createZipルート
<camel:multicast strategyRef="mergeStrategy">
<camel:to uri="direct:createZip"/>
<camel:to uri="direct:createRequestMessage"/>
</camel:multicast>
<camel:to uri="smtp://[email protected]"></camel:to>
</camel:route>
<camel:route>
<camel:from uri="direct:createZip" />
<camel:from uri="file:////data/tmp/zip/input">
<camel:description>Reading files from the input folder</camel:description>
</camel:from>
<camel:aggregate strategyRef="zipStrategy" eagerCheckCompletion="true" completionFromBatchConsumer="true">
<camel:correlationExpression>
<camel:constant>true</camel:constant>
</camel:correlationExpression>
<camel:setHeader headerName="dummybody">
<camel:simple>${body}</camel:simple>
</camel:setHeader>
</camel:aggregate>
<camel:setHeader headerName="Strategy-Attachment">
<camel:constant>true</camel:constant>
</camel:setHeader>
</camel:route>
<camel:route>
<camel:from uri="direct:createRequestMessage" />
<camel:to uri="create_request.xslt?saxon=true" />
<camel:setHeader headerName="Content-Type">
<camel:constant>text/html</camel:constant>
</camel:setHeader>
<camel:setHeader headerName="Strategy-Body">
<camel:constant>true</camel:constant>
</camel:setHeader>
</camel:route>