Я пытаюсь создать веб-сервис, который при вызове просматривает локальный каталог и отгружает файлы на FTP-сервер.Apache Camel - Передача файла на определенном маршрутном вызове
Я могу создать простой маршрут, который выбирает файл из локального каталога и загрузки на FTP-сервер ниже код:
<route>
<from uri="file://D:\\FTPTest?noop=true&delay=2000" />
<to uri="ftp://[email protected]:21/public_html/EnterpriseProject?password=password123#"/>
<to uri="bean:myBean?method=test" />
</route>
Но я хочу эту передачу файла будет называться, когда конкретный маршрут называется через Restlet WebService называется, я попытался с помощью следующего кода, но он не работает:
<route>
<from uri="direct:fileTransferRoute" />
<to uri="file://D:\\FTPTest?noop=true&delay=2000" />
<to uri="ftp://[email protected]:21/public_html/EnterpriseProject?password=password123#"/>
</route>
выше маршрут вызывается Restlet из следующего маршрута:
<route>
<from
uri="restlet:http://0.0.0.0:9080/csitec/{serviceName}?restletMethod=post" />
<process ref="serviceRouteProcessor" />
<toD uri="direct:${in.header.nextRoute}" />
</route>
Вот код моего serviceRouteProcessor:
public void process(Exchange exchange) throws Exception {
String body = exchange.getIn().getBody(String.class);
String serviceName = exchange.getIn().getHeader(Constants.SERVICE_NAME).toString();
String nextRoute = serviceName+Constants.NEXT_ROUTE_APPENDER;
exchange.getOut().setHeader(Constants.NEXT_ROUTE, nextRoute);
exchange.getOut().setBody(body);
}
Пожалуйста, помогите мне и предложить изменения нужно сделать, чтобы заставить его работать, как это.
Не могли бы вы объяснить немного @soilworker –
Я добавил ваш маршрут в качестве примера к моему ответу. – soilworker
Атрибут 'uri' не разрешается появляться в элементе 'pollEnrich'. Его странная ошибка. Тем не менее, его работы хорошо с: \t \t \t \t файл: // D: \\ FTPTest Noop = истинная & задержка = 2000;? \t \t \t Это то, что я был на самом деле ищет большое спасибо –