Spring MVC 3.0:避免使用显式JAXBElement<>方法arg中的包装器

时间:2010-04-23 18:40:41

标签: spring jaxb spring-integration

我有以下方法,并希望避免必须明确显示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 :(得分:0)

您可以使用参考指南here中描述的解组转换器。

改编自文档(可在链中使用):

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

这应该为您提供一个域对象作为消息有效负载。