1

Base64 でエンコードされたファイルを含む XML ファイルを受け入れるプロキシがあります。たとえば、XML は次のようになります。

<message>
  <content>Hello World</content>
  <attachements>
     <attachement>*Base64 code here*</attachement>
     <attachement>*Base64 code here*</attachement>
     <attachement>*Base64 code here*</attachement>
  </attachements>
</message>

私の問題: メッセージからデコードされたファイルを、ESB を実行しているサーバーのファイルシステムのフォルダーに保存したいと考えています。しかし、どうすればこれを行うことができますか? 「Hello World」のような単純なテキストを Base64 でエンコードすると、スクリプト メディエーターと Javascript でデコードできますが、ファイル システムにファイルを書き込むにはどうすればよいでしょうか? 独自のメディエーターを作成する必要がありますか、それとも私が知らない別の解決策がありますか?

あなたが私を助けてくれたらうれしいです:)私は学士論文にWSO2 ESBを使用しています。だから私はまだプロではありません:)

ありがとうございました

4

2 に答える 2

2

いくつかのオプションがありますが、

  1. ファイル サイズが小さい場合は、<attachments>添付ファイルごとに繰り返し、スクリプト メディエーターを使用してデコードし、次のような構文でファイルに書き込みます。

    <プロパティ名="transport.vfs.ReplyFileName"
              式="計算式ファイル名"
              スコープ="輸送"/>
    <property action="set" name="OUT_ONLY" value="true"/>
    <送信>
        <エンドポイント>
            <address uri="vfs:file:///home/user/test/out"/>
        </エンドポイント>
    </send>
    
  2. ファイルが大きい場合は、独自のクラス メディエータを作成する方が効率的です

于 2013-06-07T07:04:55.703 に答える
0

ファイルをローカル ファイル システムに送信します。VFS プロキシを使用する

于 2013-06-06T12:05:15.300 に答える