Spring MVC 3.0: избегание явной оболочки JAXBElement <> в методе arg - PullRequest
1 голос
/ 23 апреля 2010

У меня есть следующий метод, и я хочу избежать явного отображения синтаксиса JAXBElement <>. Есть ли какая-то аннотация, которая позволила бы появиться методу для приема необработанных объектов MessageResponse, но в действительности работает так, как показано ниже? Я не уверен, насколько ясно это было, поэтому я скажу следующее: я ищу какой-то синтаксический сахар:)

    @ServiceActivator
public void handleMessageResponse(JAXBElement<MessageResponse> jaxbResponse) {
    MessageResponse response = jaxbResponse.getValue();
    MessageStatus status = messageStatusDao.getByStoreIdAndMessageId(response.getStoreId(), response.getMessageId());
    status.setStatusTimestamp(response.getDate());
    status.setStatus("Complete");
}

1 Ответ

0 голосов
/ 14 мая 2010

Вы можете использовать демарширующий трансформатор, описанный в справочном руководстве здесь .

Адаптировано из документации (используется в цепочке):

<si-xml:unmarshalling-transformer unmarshaller="unmarshaller" />

Это должно дать вам объект домена в качестве полезной нагрузки сообщения.

...