0

我正在使用 mule sftp 端点在系统之间传输文件。涉及的系统已安装并运行 ftp/sftp 服务器。但我想要实现的是使用 Mule 中的转换器传输压缩/未压缩 + 编码/解码文件。到目前为止,我所拥有的内容如下,但它不起作用:

<flow name="flow1">
    <sftp:inbound-endpoint address="sftp://username:password@ip_address:22/path/to/dir1"
        responseTimeout="1000" />
    <string-to-byte-array-transformer doc:name="String to Byte Array"/>
    <base64-encoder-transformer /> 
    <gzip-compress-transformer/>
    <logger level="INFO" message="#[message.payloadAs(java.lang.String)]" />
    <file:outbound-endpoint path="/path/to/Output" />
</flow>

<flow name="flow2">
    <file:inbound-endpoint path="/path/to/Output" />
    <gzip-compress-transformer/>
    <base64-encoder-transformer /> 
    <string-to-byte-array-transformer doc:name="String to Byte Array"/>
    <logger level="INFO" message="#[message.payloadAs(java.lang.String)]" />
    <sftp:outbound-endpoint address="sftp://username:password@ip_address:22/path/to
    /dir2" responseTimeout="1000" />
</flow>
4

1 回答 1

2

我让它工作了。我的解决方案是将编码添加到编码/解码标签中,如下所示:

<base64-encoder-transformer encoding="utf8"/> 
...
<base64-decoder-transformer encoding="utf8"/> 

还将上面的编码标记声明在以下标记之前:

<string-to-byte-array-transformer doc:name="String to Byte Array"/>
于 2013-04-25T15:52:21.440 回答