ServiceMix 4.4.2通过Rest代理FTP,无法从ftp读取文件

时间:2013-01-04 14:54:06

标签: java apache-camel esb apache-servicemix

我正在处理如何在SMX 4.4.2中使用Camel读取文件的问题,但仅限于以下情况 无法在Camel路由中执行读取操作。 我需要从文件中读取数据将其转换为XML,然后将其返回给请求者(请求者通过REST服务命中SMX)。 我在REST调用后读取文件时遇到了严重问题。

路线是这样的:

<jaxrs:server id="restService" address="http://localhost:9000/REST/"
                    staticSubresourceResolution="true">
                    <jaxrs:serviceBeans>
                            <ref bean="restFtpBean" />
                    </jaxrs:serviceBeans>
</jaxrs:server>

<bean id="restFtpBean" class="poc.rest.RESTFtpProxyService" />


<cxf:rsServer id="rsServer" address="http://localhost:9000/REST/"
        serviceClass="poc.rest.RESTFtpProxyService" />


<camel:camelContext xmlns="http://camel.apache.org/schema/spring">
<endpoint id="ftpProvider" uri="ftp://localhost:21/?fileName=test.xml" />
        <route>
                <from uri="cxfrs://bean://rsServer" />               
                <to ref="ftpProvider" />
        </route>
</camel:camelContext>

在这种情况下,Camel尝试写入文件! 我做错了什么?

1 个答案:

答案 0 :(得分:0)

始终建议学习并熟悉EIP http://camel.apache.org/content-enricher.html

您需要在路由中使用文件的用例,并且有一个EIP模式:http://camel.apache.org/content-enricher.html。请参阅有关使用pollEnrich使用/轮询文件的部分。