用Camel上传数据文件
我试图在Java应用程序中设置一个Apache Camel路由,其中消费者端点是一个restlet组件,它将HTTP文件上载作为多部分表单数据的POST进行处理,然后生产者端点将该请求转发给还接受多部分表单数据。 我是骆驼新手,无法完全弄清楚如何正确连线。 以下是我的路线看起来如何。 我是否需要对正文进行任何转换,或者将多部分表单数据按原样转发? 有人能为我提供一些正确的方法来做到这一点,或指向我正确的文件?
<route id="createentityattachment">
<from uri="restlet:/EntityAttachments?restletMethod=POST&restletBinding=#queryStringToHeadersRestletBinding"/>
<camel:recipientList>
<camel:simple>
${header.apigateway}/entityattachments/1.0.0.0/api/v1/EntityAttachments
</camel:simple>
</camel:recipientList>
</route>
我能够通过下面的路由定义得到这个工作。 请注意路径上的streamCache="true"
属性。 此设置对于在Exchange中正确处理InputStream是必需的。 查看骆驼文档以获取更多信息。
<route id="createentityattachment" streamCache="true">
<from uri="restlet:/EntityAttachments?restletMethod=POST&restletBinding=#queryStringToHeadersRestletBinding"/>
<removeHeaders excludePattern="X-eviCore-EntityAttachments*" pattern="^(Camel|Backbase|User-|Accept|Cache|Cookie|breadcrumbId|Host|Connection|DNT|Upgrade-Insecure-Requests|org.restlet.startTime).*$"/>
<setHeader headerName="CamelHttpMethod">
<constant>POST</constant>
</setHeader>
<to uri="http4://api.innovate.lan:8280/entityattachments/1.0.0.0/api/v1/EntityAttachments"/>
</route>
链接地址: http://www.djcxy.com/p/22193.html
上一篇: data file upload with Camel
下一篇: Upload file with multipart POST request using Apache Http Async Client