2

Mule 3.4.1 を使用して、ファイルを処理した後に特定のファイル名でファイルを書き出すプロセスを作成しています。入力ファイル名は次のとおりです: MMDDYYYY_sys_newhires.csv 処理されたファイル名は次のとおりです: MMDDYYYY_sys_newhires_NNN.csv

私が使用しているコードは以下のとおりです。

#[filename = message.inboundProperties.originalFilename;
  filename= com.cfa.apps.icims.mule.CounterSingleton.getInstance().getCount() 
         +  filename.substring(0,filename.length() -1 -4) + ".csv";
  filename]

問題は最初の行にあります。message.inboundProperties.originalFilename.

色々な組み合わせを試してみました

message.inboundProperties.originalFilename
message.inboundProperties['originalFilename']
message.inboundProperties.originalFileName
message.inboundProperties['originalFileName']
message.inboundProperties.sourceFilename
message.inboundProperties['sourceFilename']
message.inboundProperties.sourceFileName
message.inboundProperties['sourceFileName']

#[header:originalFilename] もネストしようとしましたが、これは単独で機能しますが、少なくとも私の知る限り、コード内で式をネストすることはできません。

何か助けはありますか?

更新:インバウンド ファイル トランスポートを使用しています

4

2 に答える 2

7

エンドポイントの構成が表示されていないため、これはファイル インバウンド エンドポイントで発生していると想定します。

想像を超える理由で、インバウンド エンドポイントの背後にあるファイル メッセージ レシーバーは、式を評価してアーカイブされたファイル名を生成するときに、originalFilenameプロパティをアウトバウンドスコープに入れます。

だから使用:message.outboundProperties.originalFilename

于 2013-09-18T20:27:35.087 に答える
-1

私はこれをテストしmel EXPRESSIONましたESB 3.7.1が、正常に動作しています!!

message.inboundProperties.originalFilename=='firstfile.txt'
于 2015-08-02T19:21:09.557 に答える