Camel ftp 根据需要从 ftp 位置获取文件

Camel ftp get file from ftp location on demand

您好,我有一个场景,通过 soap 服务调用通知我从远程选择文件 ftp location.The ftp 服务器详细信息是相同的,但文件夹名称和文件将被动态发送, 我如何使用 apache camel 来实现它? 任何建议或想法都可能有所帮助。

我认为你应该使用 headers。因此,您会将动态信息加载到 headers 并在 ftp 组件中使用它们 toD.

所以你可以有类似下面的东西

<toD uri="sftp:username:password@ftp.server.com/${header.CamelFolder}?fileName=${header.CamelDownloadFile}"/>

但是由于您想从路线中间的 FTP 获取,您可以尝试 Content Enricher EIP

<route>
  <from uri="..."/>
  <!-- set your dynamic values as headers -->
  <setHeader headerName="CamelFolder">
     <simple>...</simple>
  </setHeader>
  <setHeader headerName="CamelDownloadFile">
     <simple>...</simple>
  </setHeader>

  <pollEnrich>
    <simple>sftp:username:password@ftp.server.com/${header.CamelFolder}?fileName=${header.CamelDownloadFile}</simple>
  </pollEnrich>
  ...
</route>