【发布时间】:2019-04-23 16:07:47
【问题描述】:
我正在尝试使用 org.modelmapper.ModelMapper 将 SOAP 请求映射到 Java POJO
但是,由于源的结构,它不起作用,它有一个字符串列表....
下面是 3 个主要组件的 sn-p 源 soap 消息、目标 DTO Java POJO 和服务端点映射逻辑。
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "EventRequestBodyType", propOrder = {
"content"
})
public class EventRequestBodyType {
@XmlElementRefs({
@XmlElementRef(name = "field1", namespace = "http://x.y.z.event", type = JAXBElement.class, required = false),
@XmlElementRef(name = "field2", namespace = "http://x.y.z.event", type = JAXBElement.class, required = false),
@XmlElementRef(name = "field3", namespace = "http://x.y.z.event", type = JAXBElement.class, required = false),
@XmlElementRef(name = "field4", namespace = "http://x.y.z.event", type = JAXBElement.class, required = false),
@XmlElementRef(name = "field5", namespace = "http://x.y.z.event", type = JAXBElement.class, required = false)
})
protected List<JAXBElement<? extends Serializable>> content;
/**
* Gets the rest of the content model.
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link JAXBElement }{@code <}{@link String }{@code >}
* {@link JAXBElement }{@code <}{@link String }{@code >}
* {@link JAXBElement }{@code <}{@link String }{@code >}
* {@link JAXBElement }{@code <}{@link BigInteger }{@code >}
* {@link JAXBElement }{@code <}{@link String }{@code >}
*
*
*/
public List<JAXBElement<? extends Serializable>> getContent() {
if (content == null) {
content = new ArrayList<JAXBElement<? extends Serializable>>();
}
return this.content;
}
}
这是 POJO(我要映射到的)
import lombok.Data;
@Data
public class EventDTO {
private String field1;
private String field2;
private String field3;
private String field4;
private String field5;
}
下面是我的服务中的代码 sn-p,做映射:
if(null!= soapEventRequest.getRequestBody()) {
EventRequestBodyType eventRequestBodyType =
soapEventRequest.getRequestBody();
EventDTO event = modelMapper.map(eventRequestBodyType,EventDTO.class);
eventBody.setEventRegisterAssessment(event);
}
如何将我的 EventDTO 映射到 EventRequestBodyType.getContent() 中返回的 5 个字段。任何想法都会受到欢迎。我的捐助者必须使用 RoleMapper 库,欢迎任何方法或建议。在此先感谢
【问题讨论】:
标签: java soap jackson-databind modelmapper jaxb2-maven-plugin