/** * Adds a wsa:RelatesTo SOAP header if the incoming invocation had a * wsa:MessageID SOAP header present - note that OASIS SCA requires that the * RelationshipType attribute is set to a particular SCA value * * @param sh - the SOAP headers * @param msg - the message * @throws SOAPException */ private void addWSARelatesTo(SOAPHeader sh, Message msg) throws SOAPException { // // Note that the 'core' (loosely speaking) part of the invocation chain // will have already copied the forward message msgId to the RELATES_TO header. // String idValue = (String)msg.getHeaders().get(Constants.RELATES_TO); if (idValue != null) { SOAPHeaderElement relatesToH = sh.addHeaderElement(QNAME_WSA_RELATESTO); relatesToH.addAttribute(new QName(null, "RelationshipType"), SCA_CALLBACK_REL); relatesToH.setTextContent(idValue); // OMElement relatesToOM = sh.getOMFactory().createOMElement( // QNAME_WSA_RELATESTO ); // OMAttribute relType = // sh.getOMFactory().createOMAttribute("RelationshipType", null, // SCA_CALLBACK_REL); // relatesToOM.addAttribute( relType ); // relatesToOM.setText( idValue ); // sh.addChild( relatesToOM ); } } // end method addWSARelatesTo
public class LogMessageHandler implements SOAPHandler<SOAPMessageContext> { @Override public boolean handleMessage(SOAPMessageContext context){ try { if ((Boolean) context.get(SOAPMessageContext.MESSAGE_OUTBOUND_PROPERTY)) { SOAPMessage message = context.getMessage(); SOAPEnvelope envelope = message.getSOAPPart().getEnvelope(); SOAPHeader header = envelope.getHeader(); if (null == header) header = envelope.addHeader(); QName credential = new QName("http://soap.header.test.com", "Credential"); SOAPHeaderElement headerElement = header.addHeaderElement(credential); QName username = new QName("username"); headerElement.addAttribute(username, "ashok"); QName password = new QName("password"); headerElement.addAttribute(password, "123"); message.writeTo(System.out); return true; } } catch (Exception e) { System.err.println("An error in handler occurs."); } return false; }
se.addAttribute(soapFactory.createName("S:mustUnderstand"),"1"); //S: or s: depending on xmlns
private void createPaosRequestHeader(SOAPEnvelope envelope) throws SOAPException { SOAPHeader headers = envelope.getHeader(); SOAPHeaderElement paosRequestHeader = headers.addHeaderElement(envelope.createQName(JBossSAMLConstants.REQUEST.get(), NS_PREFIX_PAOS_BINDING)); paosRequestHeader.setMustUnderstand(true); paosRequestHeader.setActor("http://schemas.xmlsoap.org/soap/actor/next"); paosRequestHeader.addAttribute(envelope.createName("service"), JBossSAMLURIConstants.ECP_PROFILE.get()); paosRequestHeader.addAttribute(envelope.createName("responseConsumerURL"), getResponseConsumerUrl()); }
/** * Serialize the reference properties/parameters in the SOAP Header. * * @param env Envelope to modify * @param refPs List of reference properties * @param actorURI Actor URI * @param addAttribute Whether to mark elements as reference properties (W3C version) */ private void serializeReferencePs(SOAPEnvelope env, List<MessageElement> refPs, String actorURI, boolean addAttribute) throws SOAPException { // If no referenceProps are available, we are done if (refPs == null || refPs.size() == 0) { return; } SOAPHeaderElement element; SOAPHeader header = env.getHeader(); if (header == null) { header = env.addHeader(); } // Add each ref property to SOAP Header for (MessageElement refProp : refPs) { element = this.makeSOAPHeader(refProp); element.setActor(actorURI); // If we're supposed to mark this as a refP, do so (W3C version) if (addAttribute) { element.addAttribute(Constants.ATTR_REFP, "true"); } header.addChildElement(element); } }
@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); } }
@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); } }
@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); } }
OMAttribute attr = (OMAttribute)attribIter.next(); final QName attrQName = attr.getQName(); headerEle.addAttribute(env.createName(attrQName.getLocalPart(), attrQName .getPrefix(), attrQName.getNamespaceURI()), attr.getAttributeValue());
OMAttribute attr = (OMAttribute)attribIter.next(); final QName attrQName = attr.getQName(); headerEle.addAttribute(env.createName(attrQName.getLocalPart(), attrQName .getPrefix(), attrQName.getNamespaceURI()), attr.getAttributeValue());
private void createEcpRequestHeader(SOAPEnvelope envelope) throws SOAPException { SOAPHeader headers = envelope.getHeader(); SOAPHeaderElement ecpRequestHeader = headers.addHeaderElement(envelope.createQName(JBossSAMLConstants.REQUEST.get(), NS_PREFIX_PROFILE_ECP)); ecpRequestHeader.setMustUnderstand(true); ecpRequestHeader.setActor("http://schemas.xmlsoap.org/soap/actor/next"); ecpRequestHeader.addAttribute(envelope.createName("ProviderName"), deployment.getEntityID()); ecpRequestHeader.addAttribute(envelope.createName("IsPassive"), "0"); ecpRequestHeader.addChildElement(envelope.createQName("Issuer", "saml")).setValue(deployment.getEntityID()); ecpRequestHeader.addChildElement(envelope.createQName("IDPList", "samlp")) .addChildElement(envelope.createQName("IDPEntry", "samlp")) .addAttribute(envelope.createName("ProviderID"), deployment.getIDP().getEntityID()) .addAttribute(envelope.createName("Name"), deployment.getIDP().getEntityID()) .addAttribute(envelope.createName("Loc"), deployment.getIDP().getSingleSignOnService().getRequestBindingUrl()); }
headerElement.addAttribute(name, "1"); } else { getHandlerInfoList(ctx).add(getHandlerId());