用Camel上传数据文件

我试图在Java应用程序中设置一个Apache Camel路由,其中​​消费者端点是一个restlet组件,它将HTTP文件上载作为多部分表单数据的POST进行处理,然后生产者端点将该请求转发给还接受多部分表单数据。 我是骆驼新手,无法完全弄清楚如何正确连线。 以下是我的路线看起来如何。 我是否需要对正文进行任何转换,或者将多部分表单数据按原样转发? 有人能为我提供一些正确的方法来做到这一点,或指向我正确的文件?

    <route id="createentityattachment">
        <from uri="restlet:/EntityAttachments?restletMethod=POST&amp;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&amp;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