我正在从迁移JBoss EAP 6.4到EAP 7.1. 我已将 Apache CXF 从 2.7.14 更新到 3.1.16,但现在我错过了该DOMUtils.writeXml(Node n, OutputStream os)方法。在这种情况下更换它的最佳方法是什么?SOAPMessage soapMessage = message.getContent(SOAPMessage.class);SOAPBody env = soapMessage.getSOAPPart().getEnvelope().getBody();ByteArrayOutputStream baos = new ByteArrayOutputStream(); DOMUtils.writeXml(env, baos);String soapBody = baos.toString();
1 回答

白猪掌柜的
TA贡献1893条经验 获得超10个赞
我已经替换DOMUtils.writeXml(Node n, OutputStream os)使用javax.xml.transform.TransformerFactory:
SOAPMessage soapMessage = message.getContent(SOAPMessage.class);
SOAPBody env = message.getSOAPPart().getEnvelope().getBody();
javax.xml.transform.dom.DOMSource source = new javax.xml.transform.dom.DOMSource(env);
StringWriter stringResult = new StringWriter();
javax.xml.transform.TransformerFactory.newInstance().newTransformer().transform(source, new StreamResult(stringResult));
String soapBody = stringResult.toString();
添加回答
举报
0/150
提交
取消