Контекст:
Я получаю уведомления от MWS
в SQS
.Я хочу прослушивать очередь и обрабатывать сообщения для получения информации.
Пример уведомления:
<Notification>
<NotificationMetaData>
<NotificationType>ReportProcessingFinishedNotification</NotificationType>
<PayloadVersion>1.0</PayloadVersion>
<UniqueId>rwf00-dvSDC-DFAB-sd3frw</UniqueId>
<PublishTime>2019-03-05T12:55:08.965Z</PublishTime>
<SellerId>111111</SellerId>
</NotificationMetaData>
<NotificationPayload>
<ReportProcessingFinishedNotification>
<SellerId>111111</SellerId>
<ReportRequestId>11111111111</ReportRequestId>
<ReportType>_GET_FBA_FULFILLMENT_REMOVAL_ORDER_DETAIL_DATA_</ReportType>
<ReportProcessingStatus>DONE_NO_DATA</ReportProcessingStatus>
</ReportProcessingFinishedNotification>
</NotificationPayload>
</Notification>
Вопрос:
В данный моментЯ слушаю очередь следующим образом:
@SqsListener(value = "notification-test-queue", deletionPolicy = SqsMessageDeletionPolicy.ON_SUCCESS)
public void processSubscription(String xmlNotification) { /*TODO: Some action in here*/}
Как правильно разобрать xmlNotification
?Основная проблема в том, что все парсеры ожидают получить идентификатор xml
со ссылкой сверху.Я экспериментировал с JAXB
и DOMParser
.Я также попытался изучить примеры из Github