Отсутствует прикрепленное свойство FileName — Apache Camel AS2 в качестве сервера — Spring BootJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Отсутствует прикрепленное свойство FileName — Apache Camel AS2 в качестве сервера — Spring Boot

Сообщение Anonymous »

Я создаю приложение с функцией передачи файлов на/с моего сервера с использованием протокола AS2. Он создан с использованием Apache Camel и SpringBoot.
Я начал с отправки файла через AS2 с помощью Apache Camel. Я использовал онлайн-приложение Мендельсона для проверки своих запросов AS2. (https://mendelson-e-c.com/as2_testserver)
Все работало хорошо, мне удалось передать файл на сервер AS2 Mendelson. Я проверил их консоль и также подтвердил имя отправленного файла.
Теперь я пытаюсь построить логику для сервера AS2, поскольку мое приложение также должно принимать файлы через AS2.
Теперь я пытаюсь построить логику для сервера AS2. p>
Вот как я отправляю файл. Он работает нормально, поскольку я тестировал сервер Mendelson, и ему также удалось получить имя файла.
exchange.setProperty("FileName", exchange.getIn().getHeader("FileName"));

.toD("inhouseas2://client/send?targetHostName=" + targetHostName
+ "&targetPortNumber="// + targetPort
+ "&inBody=ediMessage"
+ "&ediMessageContentType=" + XML_CONTENT_TYPE
+ "&attachedFileName=${exchangeProperty.FileName}" --- sending the file name here.

Теперь я также построил логику для работы в качестве сервера AS2. Я могу правильно получить тело сообщения, но не могу получить свойство AttachFileName.
Все остальные свойства сообщений доступны, как показано ниже.
.process(exchange -> {
System.out.println("Message in: " + exchange.getIn().getBody().getClass() + "headers:" + exchange.getIn().getHeaders() + "header-file-name:" + exchange.getIn().getHeader("FileName") + "message-header-file-name:" + exchange.getMessage().getHeader("FileName") + "exchange-property-file-name:" + exchange.getProperty("FileName"));

System.out.print("All Query Params" + exchange.getIn().getHeader(Exchange.HTTP_QUERY, String.class));

HttpCoreContext context = exchange.getProperty(org.apache.camel.component.as2.internal.AS2Constants.AS2_INTERCHANGE, HttpCoreContext.class);
String ediMessage = exchange.getIn().getBody(String.class);
String as2From = "", as2To = "";
if (context != null) {
HttpRequest request = context.getRequest();
BasicHttpRequest basicRequest = (BasicHttpRequest) context.getRequest();
LOGGER.info("Pre Processer valdiation - Headers.." + request.getHeaders().toString() + "..params..." + request.getRequestUri() + context.getEndpointDetails());
for (org.apache.hc.core5.http.Header header : request.getHeaders()) {
System.out.println(header.getName() + ": " + header.getValue());
if(AS2Header.AS2_FROM.equals(header.getName())) {
as2From = header.getValue();
} else if(AS2Header.AS2_TO.equals(header.getName())) {
as2To = header.getValue();
}
}
}


Подробнее здесь: https://stackoverflow.com/questions/793 ... springboot
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»