2010-04-23 1 views
1

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

@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"); 
} 
+0

'@ XmlRootElement' в' MessageResponse'? – lexicore

+0

Этот вопрос никоим образом не связан с Spring MVC, пожалуйста, отредактируйте название и теги. – iwein

ответ

0

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

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

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

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