Package javax.xml.soap

Examples of javax.xml.soap.SOAPHeaderElement


            try
            {
                MessageFactory messageFactory = MessageFactory.newInstance();
                SOAPMessage message = messageFactory.createMessage();
                SOAPHeader soapHeader = message.getSOAPHeader();
                SOAPHeaderElement soapHeaderElement = soapHeader.addHeaderElement( NameUtils.toName( new QName( AbstractSushiService.TARGET_NSURI, "ResourceID", AbstractSushiService.TARGET_NSPREFIX ) ) );
                soapHeaderElement.addTextNode( ID_KEY );
                m_key = new SimpleTypeResourceKey( soapHeaderElement );
            }
            catch ( SOAPException e )
            {
                e.printStackTrace();
View Full Code Here


     * @throws SOAPException
     *         error in the SOAP message.
     */
    static String getHeaderValue(SOAPMessage message, String key)
        throws SOAPException {
        SOAPHeaderElement headerElement = null;

        SOAPHeader header = message.getSOAPHeader();
        for (Iterator i = header.getChildElements(); i.hasNext();) {
            Node node = (Node)i.next();
            if (node instanceof SOAPHeaderElement) {
                headerElement = (SOAPHeaderElement) node;
                break;
            }
        }

        for (Iterator i = headerElement.getChildElements(); i.hasNext();) {
            Node node = (Node)i.next();
            if (node instanceof SOAPElement) {
                SOAPElement element = (SOAPElement) node;
                String name = element.getElementName().getLocalName();
                if (name.equals(key)) {
View Full Code Here

        MessageFactory messageFactory = MessageFactory.newInstance();
        SOAPMessage message = messageFactory.createMessage();
       
        SOAPEnvelope env = message.getSOAPPart().getEnvelope();
        SOAPHeader header = env.getHeader ();
        SOAPHeaderElement req = header.addHeaderElement
            (env.createName("Request", "as", Consts.ASAP_NS));
        SOAPElement receiverkey
            = req.addChildElement("ReceiverKey", Consts.ASAP_PREFIX);
        receiverkey.addTextNode(observer);
        SOAPElement senderkey = req.addChildElement("SenderKey",
                Consts.ASAP_PREFIX);
        senderkey.addTextNode(getResourceReference().getResourceKey());
        SOAPElement responseRequired = req.addChildElement("ResponseRequired",
                Consts.ASAP_PREFIX);
        responseRequired.addTextNode("No");
       
        SOAPBody body = env.getBody();
        Name respName = env.createName(Consts.STATE_CHANGE_REQUEST,
View Full Code Here

        MessageFactory messageFactory = MessageFactory.newInstance();
        SOAPMessage message = messageFactory.createMessage();
       
        SOAPEnvelope env = message.getSOAPPart().getEnvelope();
        SOAPHeader header = env.getHeader ();
        SOAPHeaderElement req = header.addHeaderElement
            (env.createName("Request", "as", Consts.ASAP_NS));
        SOAPElement receiverKey
            = req.addChildElement("ReceiverKey", Consts.ASAP_PREFIX);
        receiverKey.addTextNode(observer);
        SOAPElement senderKey = req.addChildElement("SenderKey",
                Consts.ASAP_PREFIX);
        senderKey.addTextNode(getResourceReference().getResourceKey());
        SOAPElement responseRequired = req.addChildElement("ResponseRequired",
                Consts.ASAP_PREFIX);
        responseRequired.addTextNode("No");
       
        SOAPBody body = env.getBody();
        Name respName = env.createName(Consts.COMPLETED_REQUEST,
View Full Code Here

     * @throws SOAPException
     *             error evaluating the message.
     */
    private String getReceiverKey(SOAPMessage message)
        throws SOAPException, ASAPException {
        SOAPHeaderElement headerElement = null;

        SOAPHeader header = message.getSOAPHeader();
        for (Iterator i = header.getChildElements(); i.hasNext();) {
            Node node = (Node) i.next();
            if (node instanceof SOAPHeaderElement) {
                headerElement = (SOAPHeaderElement) node;

                Name headerElementName = headerElement.getElementName();
                String localName = headerElementName.getLocalName();
                if (localName.equals(Consts.REQUEST_HEADER)) {
                    String headerUri = headerElementName.getURI();
                    if (headerUri.equals(Consts.ASAP_NS)
                            || headerUri.equals(Consts.WFXML_NS)) {
                        break;
                    }
                }
            }
        }

        if (headerElement == null) {
            throw new ASAPException(ASAPException.ASAP_ELEMENT_MISSING,
                "ASAP request header not found.");
        }

        for (Iterator i = headerElement.getChildElements(); i.hasNext();) {
            Node node = (Node) i.next();
            if (node instanceof SOAPElement) {
                SOAPElement element = (SOAPElement) node;
                String name = element.getElementName().getLocalName();
                if (name.equals(Consts.RECEIVER_KEY)) {
View Full Code Here

     * @param soapHeader
     */
    public MuleSoapHeaders(SOAPHeader soapHeader)
    {
        Iterator iter = soapHeader.examineHeaderElements(MULE_10_ACTOR);
        SOAPHeaderElement headerElement;
        while (iter.hasNext())
        {
            headerElement = (SOAPHeaderElement)iter.next();

            // checking that the elements are part of the mule namespace
            if (org.mule.util.StringUtils.equals(MULE_10_ACTOR, headerElement.getNamespaceURI()))
            {
                Iterator iter2 = headerElement.getChildElements();
                readElements(iter2);
            }
        }
    }
View Full Code Here

     * @throws SOAPException
     */
    public void addHeaders(SOAPEnvelope env) throws Exception
    {
        SOAPHeader header = env.getHeader();
        SOAPHeaderElement muleHeader;
        if (correlationId != null || replyTo != null)
        {
            if (header == null)
            {
                header = env.addHeader();
            }
            Name muleHeaderName = env.createName(MULE_HEADER, MULE_NAMESPACE, MULE_10_ACTOR);
            muleHeader = header.addHeaderElement(muleHeaderName);
            muleHeader.setActor(MULE_10_ACTOR);
        }
        else
        {
            return;
        }

        if (correlationId != null)
        {
            SOAPElement e = muleHeader.addChildElement(MuleProperties.MULE_CORRELATION_ID_PROPERTY,
                MULE_NAMESPACE);
            e.addTextNode(correlationId);
            e = muleHeader.addChildElement(MuleProperties.MULE_CORRELATION_GROUP_SIZE_PROPERTY,
                MULE_NAMESPACE);
            e.addTextNode(correlationGroup);
            e = muleHeader.addChildElement(MuleProperties.MULE_CORRELATION_SEQUENCE_PROPERTY, MULE_NAMESPACE);
            e.addTextNode(correlationSequence);
        }
        if (replyTo != null)
        {
            SOAPElement e = muleHeader.addChildElement(MuleProperties.MULE_REPLY_TO_PROPERTY, MULE_NAMESPACE);
            // String enc = (String)encoder.transform(replyTo);
            // e.addTextNode(enc);
            e.addTextNode(replyTo);
        }
    }
View Full Code Here

     * @throws SOAPException
     *         error inspecting the SOAP message.
     */
    protected String getHeaderValue(SOAPMessage message, String key)
        throws SOAPException {
        SOAPHeaderElement headerElement = null;
       
        SOAPHeader header = message.getSOAPHeader();
        for (Iterator i = header.getChildElements(); i.hasNext();) {
            Node node = (Node)i.next();
            if (node instanceof SOAPHeaderElement) {
                headerElement = (SOAPHeaderElement) node;
               
                Name headerElementName = headerElement.getElementName();
                String localName = headerElementName.getLocalName();
                if (localName.equals(Consts.REQUEST_HEADER)
                        || localName.equals(Consts.RESPONSE_HEADER)) {
                    String headerUri = headerElementName.getURI();
                    if (headerUri.equals(Consts.ASAP_NS)
View Full Code Here

    void fillResponseHeader(SOAPMessage reqMsg, SOAPMessage respMsg)
        throws SOAPException {
               
        SOAPEnvelope respEnv = respMsg.getSOAPPart().getEnvelope();
        SOAPHeader respHeader = respEnv.getHeader();
        SOAPHeaderElement respNode
            = respHeader.addHeaderElement
            (respEnv.createName(Consts.RESPONSE_HEADER, Consts.ASAP_PREFIX,
                    Consts.ASAP_NS));
       
        // Set the sender to me. This might differ from the value, given in
        // the request as ReceiverKey. We set it to the URL under which we were
        // called.
        SOAPElement skNode = respNode.addChildElement(Consts.SENDER_KEY,
                Consts.ASAP_PREFIX);
        skNode.addTextNode(resourceReference.getResourceKey());

        // Set the receiver if it was specified in the request.
        String receiver = getHeaderValue(reqMsg, Consts.SENDER_KEY);
        if (receiver != null) {
            SOAPElement node = respNode.addChildElement(Consts.RECEIVER_KEY,
                    Consts.ASAP_PREFIX, Consts.ASAP_NS);
            node.addTextNode(receiver);
        }
       
        // Retain the RequestId if given.
        String requestId = getHeaderValue(reqMsg, Consts.REQUEST_ID);
        if (requestId != null) {
            SOAPElement node = respNode.addChildElement(Consts.REQUEST_ID,
                    Consts.ASAP_PREFIX, Consts.ASAP_NS);
            node.addTextNode(requestId);
        }
    }
View Full Code Here

                        SOAPMessage message = smc.getMessage();
                        
                        SOAPHeader soapHeader = message.getSOAPHeader();
                        Iterator it = soapHeader.getChildElements(new QName(
                            "http://apache.org/hello_world_rpclit/types", "header1"));
                        SOAPHeaderElement headerElementNew = (SOAPHeaderElement)it.next();

                        SoapVersion soapVersion = Soap11.getInstance();
                        Attr attr =
                            headerElementNew.getOwnerDocument().createAttributeNS(soapVersion.getNamespace(),
                                                                                  "SOAP-ENV:mustUnderstand");
                        attr.setValue("false");
                        headerElementNew.setAttributeNodeNS(attr);
                    }
                } catch (Exception e) {
                    throw new Fault(e);
                }
                return true;
            }

            public boolean handleFault(SOAPMessageContext smc) {
                return true;
            }

            public Set<QName> getHeaders() {
                return null;
            }

            public void close(MessageContext messageContext) {
            }
        });
        HandlerChainInvoker invoker = new HandlerChainInvoker(list);

        IMocksControl control = createNiceControl();
        Binding binding = control.createMock(Binding.class);
        expect(binding.getHandlerChain()).andReturn(list).anyTimes();
        Exchange exchange = control.createMock(Exchange.class);
        expect(exchange.get(HandlerChainInvoker.class)).andReturn(invoker).anyTimes();
        SoapMessage message = new SoapMessage(new MessageImpl());
        message.setExchange(exchange);
        // This is to set direction to outbound
        expect(exchange.getOutMessage()).andReturn(message).anyTimes();
        CachedStream originalEmptyOs = new CachedStream();
        message.setContent(OutputStream.class, originalEmptyOs);

        InterceptorChain chain = new PhaseInterceptorChain((new PhaseManagerImpl()).getOutPhases());
        //Interceptors after SOAPHandlerInterceptor DOMXMLStreamWriter to write
        chain.add(new AbstractProtocolHandlerInterceptor<SoapMessage>(binding, Phase.MARSHAL) {

            public void handleMessage(SoapMessage message) throws Fault {
                try {
                    XMLStreamWriter writer = message.getContent(XMLStreamWriter.class);
                    SoapVersion soapVersion = Soap11.getInstance();
                    writer.setPrefix("soap", soapVersion.getNamespace());
                    writer.writeStartElement("soap",
                                          soapVersion.getEnvelope().getLocalPart(),
                                          soapVersion.getNamespace());
                    writer.writeNamespace("soap", soapVersion.getNamespace());
                   
                    Object[] headerInfo = prepareSOAPHeader();
                    StaxUtils.writeElement((Element) headerInfo[1], writer, true, false);
                   
                    writer.writeEndElement();
                   
                    writer.flush();
                } catch (Exception e) {
                    // do nothing
                }
            }

        });
        chain.add(new SOAPHandlerInterceptor(binding));
        message.setInterceptorChain(chain);
        control.replay();

        chain.doIntercept(message);
       
        control.verify();

        // Verify SOAPMessage header
        SOAPMessage soapMessageNew = message.getContent(SOAPMessage.class);

        SOAPHeader soapHeader = soapMessageNew.getSOAPHeader();
        Iterator itNew = soapHeader.getChildElements(new QName("http://apache.org/hello_world_rpclit/types",
            "header1"));
        SOAPHeaderElement headerElementNew = (SOAPHeaderElement)itNew.next();
        SoapVersion soapVersion = Soap11.getInstance();
        assertEquals("false", headerElementNew.getAttributeNS(soapVersion.getNamespace(), "mustUnderstand"));
        originalEmptyOs.close();
    }
View Full Code Here

TOP

Related Classes of javax.xml.soap.SOAPHeaderElement

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.