我有以下方法,并希望避免必须明确显示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");
}
答案 0 :(得分:0)
您可以使用参考指南here中描述的解组转换器。
改编自文档(可在链中使用):
<si-xml:unmarshalling-transformer unmarshaller="unmarshaller" />
这应该为您提供一个域对象作为消息有效负载。