private Element getSoapHeaderElement(SoapMessage message) { SoapHeader header = message.getSoapHeader(); if (header.getSource() instanceof DOMSource) { DOMSource domSource = (DOMSource) header.getSource(); if (domSource.getNode() != null && domSource.getNode().getNodeType() == Node.ELEMENT_NODE) { return (Element) domSource.getNode(); } } try { DOMResult domResult = new DOMResult(); transform(header.getSource(), domResult); Document document = (Document) domResult.getNode(); return document.getDocumentElement(); } catch (TransformerException ex) { throw new AddressingException("Could not transform SoapHeader to Document", ex); } }
private Element getSoapHeaderElement(SoapMessage message) { Source source = message.getSoapHeader().getSource(); if (source instanceof DOMSource) { DOMSource domSource = (DOMSource) source; if (domSource.getNode() != null && domSource.getNode().getNodeType() == Node.ELEMENT_NODE) { return (Element) domSource.getNode(); } } try { DOMResult domResult = new DOMResult(); transform(source, domResult); Document document = (Document) domResult.getNode(); return document.getDocumentElement(); } catch (TransformerException ex) { throw new AddressingException("Could not transform SoapHeader to Document", ex); } }
private Element getSoapHeaderElement(SoapMessage message) { Source source = message.getSoapHeader().getSource(); if (source instanceof DOMSource) { DOMSource domSource = (DOMSource) source; if (domSource.getNode() != null && domSource.getNode().getNodeType() == Node.ELEMENT_NODE) { return (Element) domSource.getNode(); } } try { DOMResult domResult = new DOMResult(); transform(source, domResult); Document document = (Document) domResult.getNode(); return document.getDocumentElement(); } catch (TransformerException ex) { throw new AddressingException("Could not transform SoapHeader to Document", ex); } }
private Element getSoapHeaderElement(SoapMessage message) { Source source = message.getSoapHeader().getSource(); if (source instanceof DOMSource) { DOMSource domSource = (DOMSource) source; if (domSource.getNode() != null && domSource.getNode().getNodeType() == Node.ELEMENT_NODE) { return (Element) domSource.getNode(); } } try { DOMResult domResult = new DOMResult(); transform(source, domResult); Document document = (Document) domResult.getNode(); return document.getDocumentElement(); } catch (TransformerException ex) { throw new AddressingException("Could not transform SoapHeader to Document", ex); } }
headers.put(SpringWebserviceConstants.SPRING_WS_SOAP_HEADER, soapHeader.getSource());
/** * Populates message headers from soapHeader response * * @param message * Message * @param soapHeader * SoapHeader */ private void populateMessageHeaderFromResponse(Message message, SoapHeader soapHeader) { message.setHeader(SpringWebserviceConstants.SPRING_WS_SOAP_HEADER, soapHeader.getSource()); // Set header values for the soap header attributes Iterator<QName> attIter = soapHeader.getAllAttributes(); while (attIter.hasNext()) { QName name = attIter.next(); message.getHeaders().put(name.getLocalPart(), soapHeader.getAttributeValue(name)); } // Set header values for the soap header elements Iterator<SoapHeaderElement> elementIter = soapHeader.examineAllHeaderElements(); while (elementIter.hasNext()) { SoapHeaderElement element = elementIter.next(); QName name = element.getName(); message.getHeaders().put(name.getLocalPart(), element); } } /**
/** * Transform the header * @param context * @param inOrOut * @param webServiceMessage */ private void processHeader(CamelContext context, Message inOrOut, WebServiceMessage webServiceMessage) { if (webServiceMessage instanceof SoapMessage) { SoapMessage soapMessage = (SoapMessage) webServiceMessage; try { XsltUriResolver resolver = new XsltUriResolver(context, xslt); Source stylesheetResource = resolver.resolve(xslt, null); TransformerFactory transformerFactory = getTransformerFactory(context); Transformer transformer = transformerFactory.newTransformer(stylesheetResource); addParameters(inOrOut, transformer); transformer.transform(soapMessage.getSoapHeader().getSource(), soapMessage.getSoapHeader().getResult()); } catch (TransformerException e) { throw new RuntimeException("Cannot transform the header of the soap message", e); } } }