public void writeTo(SOAPMessage saaj) throws SOAPException { SOAPHeader header = saaj.getSOAPHeader(); if (header == null) header = saaj.getSOAPPart().getEnvelope().addHeader(); SOAPHeaderElement she = header.addHeaderElement(av.faultDetailTag); she = header.addHeaderElement(new QName(av.nsUri, wrapper)); she.addTextNode(problemValue); }
SOAPHeader header = envelope.getHeader(); if (header == null) header = envelope.addHeader(); final SOAPElement security = header.addChildElement("Security", "wsse", "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"); final SOAPElement userToken = security.addChildElement("UsernameToken", "wsse");
SOAPHeader head = SAAJUtils.getHeader(msg); if (head != null) { Iterator<Node> it = CastUtils.cast(head.getChildElements()); while (it != null && it.hasNext()) { Node nd = it.next(); if (isRequestor(message) && msg.getSOAPPart().getEnvelope().getBody() != null && msg.getSOAPPart().getEnvelope().getBody().hasFault()) { return null;
public Object[] getHeaders(QName name, JAXBContext context, boolean allRoles) { SOAPMessage msg = getMessage(); SOAPHeader header; try { header = msg.getSOAPPart().getEnvelope().getHeader(); if (header == null || !header.hasChildNodes()) { return new Object[0]; } List<Object> ret = new ArrayList<>(); Iterator<SOAPHeaderElement> it = CastUtils.cast(header.examineAllHeaderElements()); while (it.hasNext()) { SOAPHeaderElement she = it.next(); if ((allRoles || roles.contains(she.getActor())) && name.equals(she.getElementQName())) { ret.add(JAXBUtils.unmarshall(context, she)); } } return ret.toArray(new Object[0]); } catch (SOAPException | JAXBException e) { throw new WebServiceException(e); } }
SOAPHeader header = message.getSOAPHeader(); NodeList idSessaoNode = header.getElementsByTagNameNS("*", "IdSessao"); String idSess = idSessaoNode.item(0).getChildNodes().item(0).getNodeValue(); String guid = header.getTextContent();
/** * Get the WS-A MessageID from the envelope. * * @param soapEnvelope The SOAPEnvelope * @return The message id if found, null otehrwise * @throws SOAPException If the envelope could not be read */ public static String getMessageID(SOAPEnvelope soapEnvelope) throws SOAPException { NodeList headers = soapEnvelope.getHeader().getElementsByTagNameNS(WSA_ACTION_QNAME.getNamespaceURI(), WSA_ACTION_QNAME.getLocalPart()); if (headers.getLength() == 1) { return ((javax.xml.soap.Node)headers.item(0)).getValue(); } return null; }
SOAPMessage message = MessageFactory.newInstance(); private void buildHeader(String userName, String password) throws SOAPException{ SOAPHeader header = message.getSOAPHeader(); QName authHeader = new QName(SCHEMA, "AuthenticationHeader", SCHEMA_PREFIX); SOAPHeaderElement authElement = header.addHeaderElement(authHeader); QName userNameHeader = new QName(SCHEMA, "UserName", SCHEMA_PREFIX); SOAPElement userElement = authElement.addChildElement((userNameHeader)); userElement.setTextContent(userName); QName passwordHeader = new QName(SCHEMA, "Password", SCHEMA_PREFIX); SOAPElement passwdElement = authElement.addChildElement(passwordHeader); passwdElement.setTextContent(password); }
try{ final SOAPElement se = msg.getSOAPBody(); QName name = QName.valueOf(targetValue); if(!headersOnly){ if("".equals(name.getNamespaceURI())){ nodes =msg.getSOAPPart().getElementsByTagName(name.getLocalPart()); }else{ if(!"".equals(name.getLocalPart())) nodes = msg.getSOAPPart().getElementsByTagNameNS(name.getNamespaceURI(), name.getLocalPart()); else nodes = msg.getSOAPPart().getElementsByTagNameNS(name.getNamespaceURI(), "*"); NodeList hdrChilds = msg.getSOAPHeader().getChildNodes(); for(int i = 0; i < hdrChilds.getLength(); i++){ Node child = hdrChilds.item(i); se.printStackTrace(); NodeList headers = soapHeader.getChildNodes(); Reference reference = null; for(int i=0;i<headers.getLength();i++){
QName name = QName.valueOf(value); if(!headersOnly){ if ("".equals(name.getNamespaceURI())) { retValue = this.getSOAPPart().getElementsByTagNameNS("*", name.getLocalPart()); } else { retValue = this.getSOAPPart().getElementsByTagNameNS(name.getNamespaceURI(), name.getLocalPart()); NodeList hdrChilds = this.getSOAPHeader().getChildNodes(); for(int i = 0; i < hdrChilds.getLength(); i++){ Node child = hdrChilds.item(i);
private static final QName QNAME_WSSE_USERNAMETOKEN = new QName(WSSE_NS_URI, "UsernameToken"); private static final QName QNAME_WSSE_USERNAME = new QName(WSSE_NS_URI, "Username"); private static final QName QNAME_WSSE_PASSWORD = new QName(WSSE_NS_URI, "Password"); String wssePassword = null; try { SOAPHeader header = context.getMessage().getSOAPHeader(); Iterator<?> headerElements = header.examineAllHeaderElements(); while (headerElements.hasNext()) { SOAPHeaderElement headerElement = (SOAPHeaderElement) headerElements
node = NodeUtils.getChildElementNode(msg.getSOAPBody()); } catch (SOAPException e) { return null; firstNodeName = new QName(node.getNamespaceURI(), node.getLocalName()); if (ops.containsKey(firstNodeName)) { DataBindingCallback cb = ops.get(firstNodeName); NodeList nl = msg.getSOAPBody().getChildNodes(); NodeList hl = null; if (msg.getSOAPHeader() != null) { hl = msg.getSOAPHeader().getChildNodes(); && firstNodeName.equals(cb.getRequestWrapperQName())) { return entry.getKey();
private void addSOAPHeaderAttributes(SOAPHeader header, QName elName, boolean mustUnderstand) { // Set mustUnderstand Attribute on header parts. NodeList children = header.getElementsByTagNameNS(elName.getNamespaceURI(), elName.getLocalPart()); assert children.getLength() == 1; // Set the mustUnderstand attribute if (children.item(0) instanceof Element) { Element child = (Element)(children.item(0)); String n = header.lookupPrefix(HEADER_MUSTUNDERSTAND.getNamespaceURI()); n += ":" + HEADER_MUSTUNDERSTAND.getLocalPart(); child.setAttributeNS(HEADER_MUSTUNDERSTAND.getNamespaceURI(), HEADER_MUSTUNDERSTAND.getLocalPart(), mustUnderstand ? "true" : "false"); } // TODO Actor/Role Attribute. }
public void checkMustUnderstand(OperationMetaData opMetaData) throws Exception { CommonMessageContext msgContext = MessageContextAssociation.peekMessageContext(); assert(msgContext != null); SOAPMessage soapMessage = (SOAPMessage)msgContext.getSOAPMessage(); SOAPEnvelope soapEnvelope = soapMessage.getSOAPPart().getEnvelope(); if (soapEnvelope == null || soapEnvelope.getHeader() == null) return; Iterator<?> it = soapEnvelope.getHeader().examineAllHeaderElements(); while (it.hasNext()) { SOAPHeaderElement soapHeaderElement = (SOAPHeaderElement)it.next(); Name name = soapHeaderElement.getElementName(); QName xmlName = new QName(name.getURI(), name.getLocalName()); ParameterMetaData paramMetaData = (opMetaData != null ? opMetaData.getParameter(xmlName) : null); boolean isBoundHeader = (paramMetaData != null && paramMetaData.isInHeader()); if (!isBoundHeader && soapHeaderElement.getMustUnderstand()) verifyUnderstoodHeader(soapHeaderElement); } }
getWebServiceTemplate() .marshalSendAndReceive( new JAXBElement<>(new QName(Constants.BROKER_CONNECTION_SERVICE_NAMESPACE_URI, Constants.BROKER_CONNECTION_SERVICE_LOCAL_PART), ConnectionRequestType.class, connectionRequestType), new WebServiceMessageCallback() { @Override public void doWithMessage(WebServiceMessage message) throws IOException, TransformerException { SOAPMessage soapMessage = ((SaajSoapMessage) message).getSaajMessage(); SOAPHeader soapHeader = soapMessage.getSOAPHeader(); SOAPHeaderElement actionElement = soapHeader.addHeaderElement(new QName("http://schemas.xmlsoap.org/ws/2004/08/addressing", "Action", "wsa")); actionElement.setMustUnderstand(false); actionElement.setTextContent("ConnectionService"); } });
private void copyToSOAPHeader(SOAPHeader soapHeader, Property property) throws IOException, SOAPException { if ((property != null) && (matches(property.getName(), getIncludeRegexes(), new ArrayList<Pattern>()))) { String v = property.getValue().toString(); QName qname = new QName(HEADER_NAMESPACE_PROPAGATION, property.getName()); if (SOAPHeadersType.XML.equals(_soapHeadersType)) { try { Element xmlElement = new ElementPuller().pull(new StringReader(v)); Node xmlNode = soapHeader.getOwnerDocument().importNode(xmlElement, true); soapHeader.appendChild(xmlNode); } catch (Throwable t) { soapHeader.addChildElement(qname).setValue(v); } } else { soapHeader.addChildElement(qname).setValue(v); } } } }
@Override public boolean handleMessage(SOAPMessageContext smc) { if (isOutgoingMessage(smc)) { try { SOAPHeader header = getSOAPHeader(smc); SOAPElement vcsessionHeader = header.addChildElement(new javax.xml.namespace.QName("#", "vcSessionCookie")); vcsessionHeader.setValue(this.vcSessionCookie); } catch (DOMException e) { throw new RuntimeException(e); } catch (SOAPException e) { throw new RuntimeException(e); } } return true; }
/** * Determines if the envelope has addressing action header. * * @param soapMessage The SOAPMessage * @return The action addressing header * @throws SOAPException If the envelope could not be read */ public static String getAddressingAction(SOAPMessage soapMessage) throws SOAPException { String action = null; Iterator<SOAPHeaderElement> headers = soapMessage.getSOAPPart().getEnvelope().getHeader().examineAllHeaderElements(); while (headers.hasNext()) { SOAPHeaderElement element = headers.next(); if (element.getElementQName().equals(WSA_ACTION_QNAME)) { action = element.getValue(); break; } } return action; }
public void writeTo(SOAPMessage saaj) throws SOAPException { SOAPHeader header = saaj.getSOAPHeader(); if(header == null) header = saaj.getSOAPPart().getEnvelope().addHeader(); Node clone = header.getOwnerDocument().importNode(node,true); header.appendChild(clone); }
public void writeTo(SOAPMessage saaj) throws SOAPException { SOAPHeader header = saaj.getSOAPHeader(); if(header == null) header = saaj.getSOAPPart().getEnvelope().addHeader(); SOAPHeaderElement she = header.addHeaderElement(name); if(mustUnderstand) { she.setMustUnderstand(true); } she.addTextNode(value); }
@Override public void writeTo(SOAPMessage saaj) throws SOAPException { SOAPHeader header = saaj.getSOAPHeader(); if (header == null) header = saaj.getSOAPPart().getEnvelope().addHeader(); SOAPHeaderElement she = header.addHeaderElement(name); if (type != null) she.addAttribute(typeAttributeName, type); she.addTextNode(value); } }