private void addHeaders(Document document, SOAPHeader soapHeader, Set<SoapHeader> headers) { if (headers.isEmpty()) { soapHeader.detachNode(); // Clean up the empty header tag. return; } final String namespace = soapHeaders.extractNamespace(document); headers.forEach(header -> soapHeaders.addHeader(soapHeader, namespace, header)); } }
/** * Create a SOAP message with this jibx message in it. * @param jibxMessage * @return * @throws SOAPException */ public static SOAPMessage createSOAPMessage(Object jibxMessage) throws SOAPException { SOAPMessage soapMessage = MessageFactory.newInstance().createMessage(); SOAPHeader header = soapMessage.getSOAPHeader(); header.detachNode(); SOAPBody body = soapMessage.getSOAPBody(); DOMResult result = new DOMResult(body); Element resElement = marshalObjectToDOM(jibxMessage); DOMSource source = new DOMSource(resElement); copyTreeToResult(source, result); return soapMessage; } /**
/** * Create a SOAP message with this jibx message in it. * @param jibxMessage * @return * @throws SOAPException */ public static SOAPMessage createSOAPMessage(Object jibxMessage) throws SOAPException { SOAPMessage soapMessage = MessageFactory.newInstance().createMessage(); SOAPHeader header = soapMessage.getSOAPHeader(); header.detachNode(); SOAPBody body = soapMessage.getSOAPBody(); DOMResult result = new DOMResult(body); Element resElement = marshalObjectToDOM(jibxMessage); DOMSource source = new DOMSource(resElement); copyTreeToResult(source, result); return soapMessage; } /**
private SOAPMessage createSOAPMessage(Element elem) throws Exception { String prefix = ""; MessageFactory msgFactory = MessageFactory.newInstance(); SOAPFactory factory = SOAPFactory.newInstance(); SOAPMessage message = msgFactory.createMessage(); message.getSOAPHeader().detachNode(); SOAPPart soapPart = message.getSOAPPart(); SOAPBody soapBody = soapPart.getEnvelope().getBody(); //Create the outer body element Name bodyName = factory.createName(elem.getNodeName(), prefix, UDDI_V2_NAMESPACE); SOAPBodyElement bodyElement = soapBody.addBodyElement(bodyName); bodyElement.addNamespaceDeclaration(prefix, UDDI_V2_NAMESPACE); appendAttributes(bodyElement, elem.getAttributes(), factory); appendElements(bodyElement, elem.getChildNodes(), factory); return message; }
envelope.getHeader().detachNode(); SOAPHeader soapHeader = envelope.addHeader();
envelope.getHeader().detachNode();
soapResponseMessage.getSOAPHeader().detachNode();
soapResponseMessage.getSOAPHeader().detachNode();