Mam tekst XML wygenerowany przez aplikację i muszę owinąć wokół niego kopertę SOAP, a następnie wywołać usługę sieciową.Jak dodać nieprzetworzony tekst XML do elementu SOAPBody
Poniższy kod tworzy kopertę, ale nie wiem, jak dodać istniejące dane XML do elementu SOAPBody
.
String rawXml = "<some-data><some-data-item>1</some-data-item></some-data>";
// Start the API
MessageFactory mf = MessageFactory.newInstance();
SOAPMessage request = mf.createMessage();
SOAPPart part = request.getSOAPPart();
SOAPEnvelope env = part.getEnvelope();
// Get the body. How do I add the raw xml directly into the body?
SOAPBody body = env.getBody();
Próbowałem body.addTextNode()
ale dodaje zawartość tak <
a inni uciekli.
co z 'body.appendChild (document.createTextNode (rawXml));'? Nie próbowałem tego, ale w dokumentacji zobaczyłem, że 'SOAPBody' dziedziczy z DOM Element, więc można pracować;) ' document' jest obiektem DOM Document. – rzysia
@rzysia To było blisko. Otrzymałem wyjątek WRONG_DOCUMENT_ERR podczas wykonywania, ale następnie 'body.addDocument (document);' did the trick =). Opublikuję pełny kod. – BonanzaOne