Сначала, чтобы установить тело xml для SOAPBody, вам необходимо предоставить полную структуру xml (узел конверта и т. Д.), Позже вам нужно удалить только узел заголовка и его дочерние узлы.
Во-вторых, вы устанавливаете тело XML в неправильном слое.Ниже приведен пример:
//This needs be your body xml that you want to set on SOAPBody
InputStream is = new ByteArrayInputStream(xmlResponse.getBytes());
//convert inputStream to Source
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
dbFactory.setNamespaceAware(true);
DocumentBuilder builder = dbFactory.newDocumentBuilder();
Document document = builder.parse(is);
DOMSource domSource = new DOMSource(document);
//create new SOAPMessage instance
MessageFactory mf = MessageFactory.newInstance(javax.xml.soap.SOAPConstants.SOAP_1_1_PROTOCOL);
SOAPMessage message = mf.createMessage();
SOAPPart part = message.getSOAPPart();
//Set the xml in SOAPPart
part.setContent(domSource);
message.saveChanges();
//access the body
SOAPBody body = message.getSOAPPart().getEnvelope().getBody();
//for you to access the values inside body, you need to access the node childs following the structures.
//example
body.getFirstChild();
Я думаю, что это решит вашу проблему.