我需要记录XML消息。 我使用这段代码:
//From object to xml
public String createMarshalerDealInfoType(DealInfoType dealInfoType) {
StringWriter contactStr = null;
try {
JAXBContext jaxbContext = JAXBContext.newInstance(DealInfoType.class);
Marshaller jaxbUnmarshaller = jaxbContext.createMarshaller();
contactStr = new StringWriter();
jaxbUnmarshaller.marshal(dealInfoType, contactStr);
} catch (JAXBException e) {
log.error(e.getMessage());
}
return contactStr.toString();
}
在测试课程中:
ResponseType ResponseType = woNspDealWS.createRequestWS(DealRequestType);
String DealResponce = updateDealEsb.createMarshalerDealInfoType(ResponseType.getDealInfo());
log.debug("Response: \n " + DealResponce);
问题:在日志输出中,我只看到第一行的响应,而不是整个消息
18:01:42,975 DEBUG updateDeal_Test:73 - Response: <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
如何以XML格式打印所有响应?
解决: 解决了使用注释@XmlRootElement进行测试的问题。
答案 0 :(得分:1)
您在测试类中传递的对象可能为空 ResponseType.getDealInfo()
答案 1 :(得分:1)
要解决此问题,需要在测试类中使用注释@XmlRootElement