Mule ESB:流式传输大型文件/ Multipart / form-data

时间:2017-01-12 15:06:51

标签: ftp mule

我是一个从FTP文件夹中选取文件(大于200 MB)的批处理作业,我们正在将多部分/表单数据上传到外部服务。我们遇到的问题是内存不足,mule日志建议启用FTP连接器的流式传输。如果我在FTP连接器上启用流式传输,那么我得到一个'没有对象DCH的mime类型application / xml'错误。如何设置FTP文件流的内容类型? 以下是我的配置:

     
<ftp:inbound-endpoint host="${ftp.host}" port="${ftp.port}" path="${ftp.path}" user="${ftp.user}" password="${ftp.password}" connector-ref="FTP" responseTimeout="10000" doc:name="FTP"/>
                <set-attachment attachmentName="#[message.inboundProperties.originalFilename]" value="#[message.payload]" contentType="application/xml" doc:name="Set File"/>
                <set-payload value="#[null]" doc:name="Set Payload"/>
                <http:request config-ref="HTTP_Request_Configuration" path="${api.importPath}//${api.files}" method="POST" doc:name="HTTP-Invoke Upload ">
                    <http:request-builder>
                        <http:header headerName="${access.token}" value="${access.token.value}"/>
                        <http:header headerName="${client.secret}" value="${client.secret.value}"/>
                        <http:header headerName="${authorization.mode}" value="${authorization.mode.value}"/>
                    </http:request-builder>
                </http:request>
 <ftp:connector name="FTP" pollingFrequency="1000" validateConnections="true" doc:name="FTP" streaming="true"/>

谢谢, ROA

2 个答案:

答案 0 :(得分:0)

您有错误消息指出不支持application / xml。 尝试另一种mime类型,如text / plain here

<set-attachment attachmentName="#[message.inboundProperties.originalFilename]" value="#[message.payload]" contentType="text/plain" doc:name="Set File"/>

答案 1 :(得分:0)

尝试使用如下的mime类型:

<set-attachment attachmentName="#[message.inboundProperties.originalFilename]" value="#[message.payload]" contentType="**/**" doc:name="Set File"/>