Замените org.apache.cxf.helpers.DOMUtils.writeXml (Node n, OutputStream os), отсутствующий в Apache CXF версии 3.1.16. - PullRequest
0 голосов
/ 05 марта 2019

Я мигрирую с 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 Ответ

0 голосов
/ 20 марта 2019

Я заменил 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();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...