Package org.apache.axis2.soap

Examples of org.apache.axis2.soap.SOAPFaultRole


                }
            }

            workerPool.execute( new Runnable() {
                public void run() {
                    MessageReceiver mr = mc.getAxisOperation().getMessageReceiver();
                    try {
                        // This AxisFault is created to create the fault message context
                        // noinspection ThrowableInstanceNeverThrown
                        AxisFault axisFault = exceptionToRaise != null ?
                                new AxisFault(errorMessage, exceptionToRaise) :
                                new AxisFault(errorMessage);

                        MessageContext nioFaultMessageContext =
                            MessageContextBuilder.createFaultMessageContext(mc, axisFault);

                        SOAPEnvelope envelope = nioFaultMessageContext.getEnvelope();

                        if (log.isDebugEnabled()) {
                            log.debug("Sending Fault for Request with Message ID : "
                                    + mc.getMessageID());
                        }
                       
                        nioFaultMessageContext.setProperty(
                            NhttpConstants.SENDING_FAULT, Boolean.TRUE);
                        nioFaultMessageContext.setProperty(
                                NhttpConstants.ERROR_MESSAGE, errorMessage);
                        if (errorCode != -1) {
                            nioFaultMessageContext.setProperty(
                                NhttpConstants.ERROR_CODE, errorCode);
                        }
                        if (exceptionToRaise != null) {
                            nioFaultMessageContext.setProperty(
                                NhttpConstants.ERROR_DETAIL, exceptionToRaise.toString());
                            nioFaultMessageContext.setProperty(
                                NhttpConstants.ERROR_EXCEPTION, exceptionToRaise);
                            envelope.getBody().getFault().getDetail().setText(
                                exceptionToRaise.toString());
                        } else {
                            nioFaultMessageContext.setProperty(
                                NhttpConstants.ERROR_DETAIL, errorMessage);
                            envelope.getBody().getFault().getDetail().setText(errorMessage);
                        }
                        nioFaultMessageContext.setProperty(CLIENT_CONNECTION_DEBUG,
                            mc.getProperty(CLIENT_CONNECTION_DEBUG));
                        mr.receive(nioFaultMessageContext);

                    } catch (AxisFault af) {
                        log.error("Unable to report back failure to the message receiver", af);
                    }
                }
View Full Code Here


                // client. Should / would be ignored by any transport other than
                // nhttp. For example, JMS would not send a reply message for one-way
                // operations.
                MessageContext outMsgCtx =
                        (MessageContext) context.getAttribute(OUTGOING_MESSAGE_CONTEXT);
                MessageReceiver mr = outMsgCtx.getAxisOperation().getMessageReceiver();

                // the following check is to support the dual channel invocation. Hence the
                // response will be sent as a new request to the client over a different channel
                // client sends back a 202 Accepted response to synapse and we need to neglect that
                // 202 Accepted message
                if (!outMsgCtx.isPropertyTrue(NhttpConstants.IGNORE_SC_ACCEPTED)) {

                    try {
                        MessageContext responseMsgCtx = outMsgCtx.getOperationContext().
                                getMessageContext(WSDL2Constants.MESSAGE_LABEL_IN);
                        if (responseMsgCtx == null ||
                                outMsgCtx.getOptions().isUseSeparateListener()) {
                            // Since we need to notify the SynapseCallback receiver to remove the
                            // call backs registered  we set a custom property
                            if (outMsgCtx.getOperationContext().isComplete()) {
                                setHeaders(context, response, outMsgCtx, responseMsgCtx);
                                outMsgCtx.setProperty(NhttpConstants.HTTP_202_RECEIVED, "true");
                                mr.receive(outMsgCtx);
                            }
                            return;
                        }
                        setHeaders(context, response, outMsgCtx, responseMsgCtx);
                        responseMsgCtx.setServerSide(true);
                        responseMsgCtx.setDoingREST(outMsgCtx.isDoingREST());
                        responseMsgCtx.setProperty(MessageContext.TRANSPORT_IN,
                                outMsgCtx.getProperty(MessageContext.TRANSPORT_IN));
                        responseMsgCtx.setTransportIn(outMsgCtx.getTransportIn());
                        responseMsgCtx.setTransportOut(outMsgCtx.getTransportOut());

                        responseMsgCtx.setAxisMessage(outMsgCtx.getAxisOperation().
                                getMessage(WSDLConstants.MESSAGE_LABEL_IN_VALUE));
                        responseMsgCtx.setOperationContext(outMsgCtx.getOperationContext());
                        responseMsgCtx.setConfigurationContext(outMsgCtx.getConfigurationContext());
                        responseMsgCtx.setTo(null);

                        if (!outMsgCtx.isDoingREST() && !outMsgCtx.isSOAP11()) {
                            responseMsgCtx.setEnvelope(OMAbstractFactory.getSOAP12Factory().getDefaultEnvelope());
                        } else {
                            responseMsgCtx.setEnvelope(OMAbstractFactory.getSOAP11Factory().getDefaultEnvelope());
                        }
                        responseMsgCtx.setProperty(AddressingConstants.
                                DISABLE_ADDRESSING_FOR_OUT_MESSAGES, Boolean.TRUE);
                        responseMsgCtx.setProperty(NhttpConstants.SC_ACCEPTED, Boolean.TRUE);
                        mr.receive(responseMsgCtx);

                    } catch (org.apache.axis2.AxisFault af) {
                        log.debug("Unable to report back " +
                                "202 Accepted state to the message receiver");
                    }
View Full Code Here

                }
            }

            // set the message payload to the message context
            InputStream in;
            ManagedDataSource dataSource;
            if (builder instanceof DataSourceMessageBuilder && entry.isStreaming()) {
                in = null;
                dataSource = ManagedDataSourceFactory.create(
                        new FileObjectDataSource(file, contentType));
            } else {
                in = content.getInputStream();
                dataSource = null;
            }
           
            try {
                OMElement documentElement;
                if (in != null) {
                    documentElement = builder.processDocument(in, contentType, msgContext);
                } else {
                    documentElement = ((DataSourceMessageBuilder)builder).processDocument(
                            dataSource, contentType, msgContext);
                }
                msgContext.setEnvelope(TransportUtils.createSOAPEnvelope(documentElement));
               
                handleIncomingMessage(
                    msgContext,
                    transportHeaders,
                    null, //* SOAP Action - not applicable *//
                    contentType
                );
            }
            finally {
                if (in != null) {
                    try {
                        in.close();
                    } catch (IOException ex) {
                        handleException("Error closing stream", ex);
                    }
                } else {
                    dataSource.destroy();
                }
            }

            if (log.isDebugEnabled()) {
                log.debug("Processed file : " + file + " of Content-type : " + contentType);
View Full Code Here

            faultReason.serializeWithCache(omOutput);
        }

        serializeFaultNode(omOutput);

        SOAPFaultRole faultRole = getRole();
        if (faultRole != null) {
            faultRole.serializeWithCache(omOutput);
        }

        SOAPFaultDetail faultDetail = getDetail();
        if (faultDetail != null) {
            faultDetail.serializeWithCache(omOutput);
View Full Code Here

        SOAPFaultReason reason = createSOAPFaultReason(fault);
        SOAPFaultText faultText = createSOAPFaultText(reason);

        SOAPFaultNode faultNode = createSOAPFaultNode(fault);
        SOAPFaultRole faultRole = createSOAPFaultRole(fault);
        SOAPFaultDetail faultDetail = createSOAPFaultDetail(fault);

        return defaultEnvelope;
    }
View Full Code Here

            assertTrue("SOAP 1.2 :- Node value mismatch",
                    node.getText().trim().equals(
                            "http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver"));

            iteratorInFault.next();
            SOAPFaultRole role = (SOAPFaultRole) iteratorInFault.next();
            assertTrue("SOAP 1.2 :- Fault role local name mismatch",
                    role.getLocalName().equals(
                            SOAP12Constants.SOAP_FAULT_ROLE_LOCAL_NAME));
            assertTrue("SOAP 1.2 :- Fault role namespace uri mismatch",
                    role.getNamespace().getName().equals(
                            SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI));
            assertTrue("SOAP 1.2 :- Role value mismatch",
                    role.getText().trim().equals("ultimateReceiver"));

            iteratorInFault.next();
            SOAPFaultDetail detail = (SOAPFaultDetail) iteratorInFault.next();
            assertTrue("SOAP 1.2 :- Fault detail local name mismatch",
                    detail.getLocalName().equals(
                            SOAP12Constants.SOAP_FAULT_DETAIL_LOCAL_NAME));
            assertTrue("SOAP 1.2 :- Fault detail namespace uri mismatch",
                    detail.getNamespace().getName().equals(
                            SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI));

            assertTrue("SOAP 1.2 :- Text in detail mismatch",
                    detail.getText().trim().equals("Details of error"));

            Iterator iteratorInDetail = detail.getChildren();

            iteratorInDetail.next();
            OMElement element1 = (OMElement) iteratorInDetail.next();
            assertTrue("SOAP 1.2 :- MaxTime element mismatch",
                    element1.getLocalName().equals("MaxTime"));
            assertTrue("SOAP 1.2 :- MaxTime element namespace mismatch",
                    element1.getNamespace().getName().equals(
                            "http:www.sample.org"));
            assertTrue("SOAP 1.2 :- Text value in MaxTime element mismatch",
                    element1.getText().trim().equals("P5M"));

            Iterator attributeIterator = element1.getAllAttributes();
            OMAttribute attributeInMaxTime = (OMAttribute) attributeIterator.next();
            assertTrue("SOAP 1.2 :- Attribute local name mismatch",
                    attributeInMaxTime.getLocalName().equals("detail"));
            assertTrue("SOAP 1.2 :- Attribute namespace mismatch",
                    attributeInMaxTime.getNamespace().getName().equals(
                            "http:www.sample.org"));
            assertTrue("SOAP 1.2 :- Attribute value mismatch",
                    attributeInMaxTime.getAttributeValue().trim().equals("This is only a test"));

            iteratorInDetail.next();
            OMElement element2 = (OMElement) iteratorInDetail.next();
            assertTrue("SOAP 1.2 :- AveTime element mismatch",
                    element2.getLocalName().equals("AveTime"));
            assertTrue("SOAP 1.2 :- AveTime element namespace mismatch",
                    element2.getNamespace().getName().equals(
                            "http:www.sample.org"));

            Iterator iteratorInAveTimeElement = element2.getChildren();

            iteratorInAveTimeElement.next();
            OMElement element21 = (OMElement) iteratorInAveTimeElement.next();
            assertTrue("SOAP 1.2 :- Time element mismatch",
                    element21.getLocalName().equals("Time"));
            assertTrue("SOAP 1.2 :- Time element namespace mismatch",
                    element21.getNamespace().getName().equals(
                            "http:www.sample.org"));
            assertTrue("SOAP 1.2 :- Text value in Time element mismatch",
                    element21.getText().trim().equals("P3M"));

            XMLStreamReader sopa11Parser = XMLInputFactory.newInstance()
                    .createXMLStreamReader(new StringReader(soap11Message));
            OMXMLParserWrapper soap11Builder = new StAXSOAPModelBuilder(sopa11Parser, null);
            SOAPEnvelope soap11Envelope = (SOAPEnvelope) soap11Builder.getDocumentElement();
//            soap11Envelope.build();
//            writer = XMLOutputFactory.newInstance().createXMLStreamWriter(System.out);
//            soap11Envelope.serializeAndConsume(writer);
//        writer.flush();

            assertTrue("SOAP 1.1 :- envelope local name mismatch",
                    soap11Envelope.getLocalName().equals(
                            SOAPConstants.SOAPENVELOPE_LOCAL_NAME));
            assertTrue("SOAP 1.1 :- envelope namespace uri mismatch",
                    soap11Envelope.getNamespace().getName().equals(
                            SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI));

            header = soap11Envelope.getHeader();
            assertTrue("SOAP 1.1 :- Header local name mismatch",
                    header.getLocalName().equals(
                            SOAPConstants.HEADER_LOCAL_NAME));
            assertTrue("SOAP 1.1 :- Header namespace uri mismatch",
                    header.getNamespace().getName().equals(
                            SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI));

            headerBlock = (SOAPHeaderBlock) header.getFirstElement();
            assertTrue("SOAP 1.1 :- Header block name mismatch",
                    headerBlock.getLocalName().equals("echoOk"));
            assertTrue("SOAP 1.1 :- Header block name space uri mismatch",
                    headerBlock.getNamespace().getName().equals(
                            "http://example.org/ts-tests"));
            assertTrue("SOAP 1.1 :- Headaer block text mismatch",
                    headerBlock.getText().trim().equals("foo"));

            headerBlockAttributes = headerBlock.getAllAttributes();

            mustUnderstandAttribute =
                    (OMAttribute) headerBlockAttributes.next();
            assertTrue("SOAP 1.1 :- Mustunderstand attribute name mismatch",
                    mustUnderstandAttribute.getLocalName().equals(
                            SOAPConstants.ATTR_MUSTUNDERSTAND));
            assertTrue("SOAP 1.1 :- Mustunderstand value mismatch",
                    mustUnderstandAttribute.getAttributeValue().equals(
                            SOAPConstants.ATTR_MUSTUNDERSTAND_1));
            assertTrue(
                    "SOAP 1.1 :- Mustunderstand attribute namespace uri mismatch",
                    mustUnderstandAttribute.getNamespace().getName().equals(
                            SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI));

            OMAttribute actorAttribute = (OMAttribute) headerBlockAttributes.next();
            assertTrue("SOAP 1.1 :- Actor attribute name mismatch",
                    actorAttribute.getLocalName().equals(
                            SOAP11Constants.ATTR_ACTOR));
            assertTrue("SOAP 1.1 :- Actor value mismatch",
                    actorAttribute.getAttributeValue().trim().equals(
                            "http://schemas.xmlsoap.org/soap/" +
                    SOAP11Constants.ATTR_ACTOR +
                    "/" +
                    "next"));
            assertTrue("SOAP 1.1 :- Actor attribute namespace uri mismatch",
                    actorAttribute.getNamespace().getName().equals(
                            SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI));

            body = soap11Envelope.getBody();
            assertTrue("SOAP 1.1 :- Body local name mismatch",
                    body.getLocalName().equals(SOAPConstants.BODY_LOCAL_NAME));
            assertTrue("SOAP 1.1 :- Body namespace uri mismatch",
                    body.getNamespace().getName().equals(
                            SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI));

            fault = body.getFault();
            assertTrue("SOAP 1.1 :- Fault namespace uri mismatch",
                    fault.getNamespace().getName().equals(
                            SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI));

            iteratorInFault = fault.getChildren();

            iteratorInFault.next();
            code = (SOAPFaultCode) iteratorInFault.next();
            assertEquals("SOAP Fault code local name mismatch",
                    code.getLocalName(),
                    (SOAP12Constants.SOAP_FAULT_CODE_LOCAL_NAME));
            assertTrue("SOAP 1.1 :- Fault code namespace uri mismatch",
                    code.getNamespace().getName().equals(
                            SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI));
            assertEquals("SOAP 1.1 :- Fault code value mismatch", code.getValue().getText().trim(),
                    "env:Sender");

            iteratorInFault.next();
            reason = (SOAPFaultReason) iteratorInFault.next();
            assertTrue("SOAP 1.1 :- Fault string local name mismatch",
                    reason.getLocalName().equals(
                            SOAP12Constants.SOAP_FAULT_REASON_LOCAL_NAME));
            assertTrue("SOAP 1.2 :- Fault string namespace uri mismatch",
                    reason.getNamespace().getName().equals(
                            SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI));
            assertTrue("SOAP 1.1 :- Fault string value mismatch",
                    reason.getSOAPText().getText().trim().equals("Sender Timeout"));

            iteratorInFault.next();
            role = (SOAPFaultRole) iteratorInFault.next();
            assertTrue("SOAP 1.1 :- Fault actor local name mismatch",
                    role.getLocalName().equals(
                            SOAP12Constants.SOAP_FAULT_ROLE_LOCAL_NAME));
            assertTrue("SOAP 1.1 :- Fault actor namespace uri mismatch",
                    role.getNamespace().getName().equals(
                            SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI));
            assertTrue("SOAP 1.1 :- Actor value mismatch",
                    role.getText().trim().equals(
                            "http://schemas.xmlsoap.org/soap/envelope/actor/ultimateReceiver"));

            iteratorInFault.next();
            detail = (SOAPFaultDetail) iteratorInFault.next();
            assertTrue("SOAP 1.1 :- Fault detail local name mismatch",
View Full Code Here

            ((OMNodeEx)faultReason).serialize(omOutput);
        }

        serializeFaultNode(omOutput);

        SOAPFaultRole faultRole = getRole();
        if (faultRole != null) {
            ((OMNodeEx)faultRole).serialize(omOutput);
        }

        SOAPFaultDetail faultDetail = getDetail();
View Full Code Here

      ((OMNodeEx)faultReason).serialize(omOutput);
    }

    serializeFaultNode(omOutput);

    SOAPFaultRole faultRole = getRole();
    if (faultRole != null) {
      ((OMNodeEx)faultRole).serialize(omOutput);
    }

    SOAPFaultDetail faultDetail = getDetail();
View Full Code Here

        SOAPFaultReason reason = createSOAPFaultReason(fault);
        SOAPFaultText faultText = createSOAPFaultText(reason);

        SOAPFaultNode faultNode = createSOAPFaultNode(fault);
        SOAPFaultRole faultRole = createSOAPFaultRole(fault);
        SOAPFaultDetail faultDetail = createSOAPFaultDetail(fault);

        return defaultEnvelope;
  }
View Full Code Here

            ((OMNodeEx)faultReason).serialize(omOutput);
        }

        serializeFaultNode(omOutput);

        SOAPFaultRole faultRole = getRole();
        if (faultRole != null) {
            ((OMNodeEx)faultRole).serialize(omOutput);
        }

        SOAPFaultDetail faultDetail = getDetail();
View Full Code Here

TOP

Related Classes of org.apache.axis2.soap.SOAPFaultRole

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.