Верблюжья биржа дает пустые вложения для многочастного запроса - PullRequest
0 голосов
/ 29 мая 2019

Я отправляю запрос multipart / form-data (txt файл) через почтальона конечной точке отдыха верблюда. При проверке объекта обмена, attachmenstMap появляется как ноль

Верблюд Контекст:

<camelContext id="batch2" xmlns="http://camel.apache.org/schema/spring">
<!-- List of Beans which extend RouteBuilder class-->
<routeBuilder ref="miscRoute"/>
<routeBuilder ref="batchRoute"/>

<!-- REST Configuration -->
<!-- Make sure your contextPath here matches web.xml -->
<restConfiguration component="servlet" bindingMode="json" contextPath="rest" port="8080" enableCORS="true">
  <dataFormatProperty key="prettyPrint" value="true"/>
</restConfiguration>

</camelContext>

BatchRoute расширяет AbstractRouteBuilder:

@Override
public void configure() {

    super.configure();

    rest("/batch")
    .id("createBatch").tag("createBatch")
    .produces(MediaType.APPLICATION_JSON)
    .consumes(MediaType.MULTIPART_FORM_DATA)
    .description("Create Batch")
    .post()
    .bindingMode(RestBindingMode.off)
    .param()
        .name(ApiParameter.BATCH_FILE.toString())
        .type(RestParamType.formData)
        .description(ApiParameter.BATCH_FILE.getDescription())
        .dataType(ApiParameter.BATCH_FILE.getType())
        .endParam()
    .outType(CreateBatchResponse.class)
    .route().removeHeader(Exchange.HTTP_PATH)
    .streamCaching("false")
    .process(new CreateBatchRequestProcessor())
    .process(exchange -> {
        Map<String, DataHandler> attachmentsMap = exchange.getIn().getAttachments();

    })
    .to(ENDPOINT_REQUEST_BATCH2_CREATE_BATCH)
    .endRest();

AbstractRouteBuilder расширяет RouteBuilder:

@Override
public void configure() {

    restConfiguration()
    .component("servlet")
    .port("8080")
    .contextPath("rest")
    .endpointProperty("attachmentMultipartBinding", "true");

Пожалуйста, предложите, как мы можем извлечь вложение из объекта обмена. Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...