Я пытаюсь создать веб-сервис, который при вызове просматривает локальный каталог, забирает файлы оттуда и загружает на ftp-сервер.
Я могу создать простой маршрут, который выбирает файл из локального каталога и загружает его на 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, я пробовал использовать следующий код, но это не сработало:
<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>
Вышеупомянутый маршрут вызывается рестлетом из следующего маршрута:
<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);
}
Пожалуйста, помогите мне и предложите внести изменения, чтобы он работал так.