У меня есть apache верблюжье приложение, которое требует отправки файлов журнала на конечную точку, а для этого требуется Basi c Аутентификация. Я смог передать authMethod, authusername и authPassword в URL, как указано в документации верблюда, но у меня возникла проблема в том, что я получаю нулевой ответ от конечной точки после запуска приложения. Однако та же самая конечная точка возвращает код ответа и тело ответа, используя почтальон.
Ниже мой код:
from("{{routes.feeds.working.directory}}?idempotent=true")
.process(new Processor() {
@Override
public void process(Exchange exchange) throws Exception {
MultipartEntityBuilder multipartEntityBuilder = MultipartEntityBuilder.create();
multipartEntityBuilder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
String fileName = exchange.getIn().getHeader(Exchange.FILE_NAME, String.class);
File file = exchange.getIn().getBody(File.class);
multipartEntityBuilder.addPart("file",
new FileBody(file, ContentType.MULTIPART_FORM_DATA, fileName));
exchange.getOut().setBody(multipartEntityBuilder.build());
Message out = exchange.getOut();
int responseCode = out.getHeader(Exchange.HTTP_RESPONSE_CODE, Integer.class);
log.info("response code "+responseCode);
}
})
.setHeader(Exchange.HTTP_QUERY,
constant("authMethod=Basic&authUsername="+username+"&authPassword="+password+""))
.to(TARGET_WITH_AUTH +"/"+uuid+"/files")
.log(LoggingLevel.DEBUG, "response code >>>>"+Exchange.HTTP_RESPONSE_CODE)
.log(LoggingLevel.INFO, "RESPONSE BODY ${body}")
.end();
Пожалуйста, помогите рассмотреть и дать дополнительные советы