我正在使用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>
答案 0 :(得分:2)
我得到了它的工作。我的解决方案是将编码添加到编码/解码标签,如下所示:
<base64-encoder-transformer encoding="utf8"/>
...
<base64-decoder-transformer encoding="utf8"/>
还使上面的编码标签在以下标记之前声明:
<string-to-byte-array-transformer doc:name="String to Byte Array"/>