Package org.apache.cxf.binding.soap

Examples of org.apache.cxf.binding.soap.SoapMessage


    }

    @Test
    public void testResponderOutboundNonNative() throws Exception {
        String uri = VersionTransformer.Names200408.WSA_NAMESPACE_NAME;
        SoapMessage message = setUpMessage(false, true, false, false, uri);
        codec.handleMessage(message);
        control.verify();
        verifyMessage(message, false, true, false);
    }
View Full Code Here


        verifyMessage(message, false, true, false);
    }

    @Test
    public void testRequestorInbound() throws Exception {
        SoapMessage message = setUpMessage(true, false);
        codec.handleMessage(message);
        control.verify();
        verifyMessage(message, true, false, true);
    }
View Full Code Here

    }

    @Test
    public void testRequestorInboundNonNative() throws Exception {
        String uri = VersionTransformer.Names200408.WSA_NAMESPACE_NAME;
        SoapMessage message = setUpMessage(true, false, false, false, uri);
        codec.handleMessage(message);
        control.verify();
        verifyMessage(message, true, false, false);
    }
View Full Code Here

    }

    @Test
    public void testRequestorInboundNonReply() throws Exception {
        nonReplyRelationship = "wsat:correlatedOneway";
        SoapMessage message = setUpMessage(true, false);
        codec.handleMessage(message);
        control.verify();
        verifyMessage(message, true, false, true);
    }
View Full Code Here

    @Test
    public void testRequestorInboundNonNativeNonReply() throws Exception {
        nonReplyRelationship = "wsat:correlatedOneway";
        String uri = VersionTransformer.Names200408.WSA_NAMESPACE_NAME;
        SoapMessage message = setUpMessage(true, false, false, false, uri);
        codec.handleMessage(message);
        control.verify();
        verifyMessage(message, true, false, false);
    }
View Full Code Here

    }
   
    private SoapMessage setUpMessage(boolean requestor, boolean outbound, boolean invalidMAP,
                                     boolean preExistingSOAPAction, Boolean generateRelatesTo,
                                     String exposeAs) throws Exception {
        SoapMessage message = new SoapMessage(new MessageImpl());
        setUpOutbound(message, outbound);
        expectRelatesTo = generateRelatesTo != null ? generateRelatesTo
            : (requestor && !outbound) || (!requestor && outbound);
        message.put(REQUESTOR_ROLE, Boolean.valueOf(requestor));
        String mapProperty = getMAPProperty(requestor, outbound);
        AddressingPropertiesImpl maps = getMAPs(requestor, outbound, exposeAs);
        final Element header = control.createMock(Element.class);
        codec.setHeaderFactory(new MAPCodec.HeaderFactory() {
            public Element getHeader(SoapVersion version) {
                return header;
            }
        });
        List<Header> headers = message.getHeaders();
        JAXBContext jaxbContext = control.createMock(JAXBContext.class);
        ContextUtils.setJAXBContext(jaxbContext);
        VersionTransformer.Names200408.setJAXBContext(jaxbContext);
        VersionTransformer.Names200403.setJAXBContext(jaxbContext);
        if (outbound) {
View Full Code Here

    }

    public void onMessage(Message message) {
        try {
            contentType = (String) message.get(Message.CONTENT_TYPE);
            SoapMessage soapMessage = new SoapMessage(message);

            // create XmlStreamReader
            BindingOperationInfo boi = providerEndpoint.getEndpointInfo()
                    .getBinding().getOperation(messageExchange.getOperation());
            if (boi.getOperationInfo().isOneWay()) {
                return;
            }
            XMLStreamReader xmlStreamReader = createXMLStreamReaderFromMessage(soapMessage);
            soapMessage.setContent(XMLStreamReader.class, xmlStreamReader);
            soapMessage
                    .put(org.apache.cxf.message.Message.REQUESTOR_ROLE, true);
            Exchange cxfExchange = new ExchangeImpl();
            soapMessage.setExchange(cxfExchange);

            cxfExchange.put(BindingOperationInfo.class, boi);
            cxfExchange.put(Endpoint.class, providerEndpoint.getCxfEndpoint());
            // create Interceptor chain

            PhaseChainCache inboundChainCache = new PhaseChainCache();
            PhaseManager pm = providerEndpoint.getBus().getExtension(
                    PhaseManager.class);
            List<Interceptor> inList = new ArrayList<Interceptor>();
            inList.add(new JbiInWsdl1Interceptor());

            PhaseInterceptorChain inChain = inboundChainCache.get(pm
                    .getInPhases(), inList);
            inChain.add(providerEndpoint.getOutInterceptors());
            inChain.add(providerEndpoint.getOutFaultInterceptors());
            soapMessage.setInterceptorChain(inChain);
            inChain.doIntercept(soapMessage);

            if (boi.getOperationInfo().isOneWay()) {
                messageExchange.setStatus(ExchangeStatus.DONE);
            } else if (soapMessage.get("jbiFault") != null
                    && soapMessage.get("jbiFault").equals(true)) {
                Fault fault = messageExchange.createFault();
                fault.setContent(soapMessage.getContent(Source.class));
                messageExchange.setFault(fault);
            } else if (messageExchange instanceof InOut) {
                NormalizedMessage msg = messageExchange.createMessage();
                msg.setContent(soapMessage.getContent(Source.class));
                messageExchange.setMessage(msg, "out");
            } else if (messageExchange instanceof InOptionalOut) {
                if (soapMessage.getContent(Source.class) != null) {
                    NormalizedMessage msg = messageExchange.createMessage();
                    msg.setContent(soapMessage.getContent(Source.class));
                    messageExchange.setMessage(msg, "out");
                } else {
                    messageExchange.setStatus(ExchangeStatus.DONE);
                }
            } else {
View Full Code Here

    /**
     * Convert SoapMessage headers to NormalizedMessage headers
     */
    private void toNMSHeaders(NormalizedMessage normalizedMessage,
            Message soapMessage) {
        SoapMessage message = null;
        if (!(soapMessage instanceof SoapMessage)) {
            return;
        } else {
            message = (SoapMessage) soapMessage;
        }
        Map<String, Object> headers = new HashMap<String, Object>();
        for (Header header : message.getHeaders()) {
            headers.put(QNameUtil.toString(header.getName()), header
                    .getObject());
        }

        normalizedMessage.setProperty(JbiConstants.PROTOCOL_HEADERS, headers);
View Full Code Here

    public void process(MessageExchange exchange) throws Exception {
        NormalizedMessage nm = exchange.getMessage("in");
              
        CxfBcProviderMessageObserver obs = new CxfBcProviderMessageObserver(exchange, this);
        conduit.setMessageObserver(obs);
        SoapMessage message = new SoapMessage(new MessageImpl());
        message.put(MessageExchange.class, exchange);
        Exchange cxfExchange = new ExchangeImpl();
        message.setExchange(cxfExchange);
              
        BindingOperationInfo boi = ei.getBinding().getOperation(exchange.getOperation());
        cxfExchange.put(BindingOperationInfo.class, boi);
        cxfExchange.put(Endpoint.class, ep);
        PhaseChainCache outboundChainCache = new PhaseChainCache();
        PhaseManager pm = getBus().getExtension(PhaseManager.class);
        List<Interceptor> outList = new ArrayList<Interceptor>();
        outList.add(new JbiOutWsdl1Interceptor());
        outList.add(new SoapPreProtocolOutInterceptor());
        outList.add(new SoapOutInterceptor(getBus()));
        PhaseInterceptorChain outChain = outboundChainCache.get(pm.getOutPhases(), outList);
        outChain.add(getOutInterceptors());
        outChain.add(getOutFaultInterceptors());
        message.setInterceptorChain(outChain);
        InputStream is = JBIMessageHelper.convertMessageToInputStream(nm.getContent());
       
        StreamSource source = new StreamSource(is);
        message.setContent(Source.class, source);
       
        message.setContent(InputStream.class, is);
       
        conduit.prepare(message);
        OutputStream os = message.getContent(OutputStream.class);
        XMLStreamWriter writer = message.getContent(XMLStreamWriter.class);
       

        String encoding = getEncoding(message);
       
        try {
            writer = StaxOutInterceptor.getXMLOutputFactory(message).createXMLStreamWriter(os, encoding);
        } catch (XMLStreamException e) {
            //
        }
        message.setContent(XMLStreamWriter.class, writer);
        message.put(org.apache.cxf.message.Message.REQUESTOR_ROLE, true);
        outChain.doIntercept(message);
        XMLStreamWriter xtw = message.getContent(XMLStreamWriter.class);
        if (xtw != null) {
            xtw.writeEndDocument();
            xtw.close();
        }
View Full Code Here

        // Need to copy header only if the message is going out.
        if (ctx.containsKey(Header.HEADER_LIST)
                && ctx.get(Header.HEADER_LIST) instanceof List<?>) {
            List<?> list = (List<?>) ctx.get(Header.HEADER_LIST);
            if (list != null && !list.isEmpty()) {
                SoapMessage sm = (SoapMessage) createResponseMessage(exchange);
                if (sm != null) {
                    Iterator<?> iter = list.iterator();
                    while (iter.hasNext()) {
                        sm.getHeaders().add((Header) iter.next());
                    }
                }
            }
        }
        if (exchange.getOutMessage() != null) {
View Full Code Here

TOP

Related Classes of org.apache.cxf.binding.soap.SoapMessage

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.