Package javax.jbi.messaging

Examples of javax.jbi.messaging.Fault


                    e = new Exception("Unkown error (exchange aborted ?)");
                }
                throw e;
            } else if (exchange.getStatus() == ExchangeStatus.ACTIVE) {
                try {
                    Fault fault = exchange.getFault();
                    if (fault != null) {
                        sendFault(exchange, fault, request, response);
                    } else {
                        NormalizedMessage outMsg = exchange.getMessage("out");
                        if (outMsg != null) {
View Full Code Here


       
        // Set response or DONE status
        if (isInAndOut(exchange)) {
            if (ctx.getExchange().hasFaultMessage() && ctx.getExchange().getFaultMessage().getBody() != null) {
                String charSet = ctx.getExchange().getFaultMessage().getEncoding();
                Fault fault = exchange.getFault();
                if (fault == null) {
                    fault = exchange.createFault();
                    exchange.setFault(fault);
                }
                fault.setContent(new StringSource(out.toString(charSet)));
                XFireFault xFault = (XFireFault) ctx.getExchange().getFaultMessage().getBody();
                fault.setProperty(SOAP_FAULT_CODE, xFault.getFaultCode());
                fault.setProperty(SOAP_FAULT_REASON, xFault.getReason());
                fault.setProperty(SOAP_FAULT_ROLE, xFault.getRole());
                fault.setProperty(SOAP_FAULT_SUBCODE, xFault.getSubCode());
            } else {
                String charSet = ctx.getOutMessage().getEncoding();
                NormalizedMessage outMsg = exchange.getMessage("out");
                if (outMsg == null) {
                    outMsg = exchange.createMessage();
View Full Code Here

                if (me.getStatus() == ExchangeStatus.ERROR && reportErrors) {
                    fail(exchange, me.getError());
                } else if (me.getStatus() == ExchangeStatus.DONE) {
                    done(exchange);
                } else if (me.getFault() != null && reportErrors) {
                    Fault fault = MessageUtil.copyFault(me);
                    done(me);
                    MessageUtil.transferToFault(fault, exchange);
                    sendSync(exchange);
                }
            } else {
View Full Code Here

        me.setService(new QName("wireTap"));
        me.getInMessage().setContent(createSource("<hello/>"));
        client.sendSync(me);
        assertEquals(ExchangeStatus.ACTIVE, me.getStatus());
        assertNotNull(me.getOutMessage());
        Fault fault = me.createFault();
        fault.setContent(createSource("<fault/>"));
        me.setFault(fault);
        client.sendSync(me);
        assertEquals(ExchangeStatus.DONE, me.getStatus());
       
        inReceiver.getMessageList().assertMessagesReceived(1);
View Full Code Here

        me.setService(new QName("wireTap"));
        me.getInMessage().setContent(createSource("<hello/>"));
        client.sendSync(me);
        assertEquals(ExchangeStatus.ACTIVE, me.getStatus());
        assertNotNull(me.getOutMessage());
        Fault fault = me.createFault();
        fault.setContent(createSource("<fault/>"));
        me.setFault(fault);
        client.sendSync(me);
        assertEquals(ExchangeStatus.ERROR, me.getStatus());
       
        inReceiver.getMessageList().assertMessagesReceived(1);
View Full Code Here

                e = new Exception("Unkown error");
            }
            response = endpoint.getMarshaler().toJMS(e, session);
        } else if (exchange.getStatus() == ExchangeStatus.ACTIVE) {
            // check for fault
            Fault jbiFault = exchange.getFault();
            if (jbiFault != null) {
                // convert fault to SOAP message
                SoapFault fault = new SoapFault(SoapFault.RECEIVER, null, null, null, jbiFault.getContent());
                SoapMessage soapFault = soapHelper.onFault(ctx, fault);
                Map headers = (Map) jbiFault.getProperty(JbiConstants.PROTOCOL_HEADERS);
                response = endpoint.getMarshaler().toJMS(soapFault, headers, session);
            } else {
                NormalizedMessage outMsg = exchange.getMessage("out");
                if (outMsg != null) {
                    SoapMessage out = soapHelper.onReply(ctx, outMsg);
View Full Code Here

            // As we expect a DOMResult as output, we must ensure that the input is a
            // DOMSource
            DOMSource src = sourceTransformer.toDOMSource(out.getContent());
            doValidation(validator,src,result);
            if (errorHandler.hasErrors()) {
                Fault fault = exchange.createFault();
               
                // set the schema and source document as properties on the fault
                fault.setProperty("org.apache.servicemix.schema", schema);
                fault.setProperty("org.apache.servicemix.xml", src);
               
                /*
                 * check if this error handler supports the capturing of
                 * error messages.
                 */
                if (errorHandler.capturesMessages()) {

                    /*
                     * In descending order of preference select a format to use. If
                     * neither DOMSource, StringSource or String are supported throw
                     * a messaging exception.
                     */
                    if (errorHandler.supportsMessageFormat(DOMSource.class)) {
                        fault.setContent(
                                (DOMSource)errorHandler.getMessagesAs(DOMSource.class));
                    } else if (errorHandler.supportsMessageFormat(StringSource.class)) {
                        fault.setContent(sourceTransformer.toDOMSource(
                                (StringSource)errorHandler.getMessagesAs(StringSource.class)));
                    } else if (errorHandler.supportsMessageFormat(String.class)) {
                        fault.setContent(
                                sourceTransformer.toDOMSource(
                                        new StringSource(
                                                (String)errorHandler.getMessagesAs(String.class))));
                    } else {
                        throw new MessagingException("MessageAwareErrorHandler implementation " +
                                errorHandler.getClass().getName() +
                                " does not support a compatible error message format.");
                    }
                } else {
                    /*
                     * we can't do much here if the ErrorHandler implementation does
                     * not support capturing messages
                     */
                    fault.setContent(new DOMSource(result.getNode(), result.getSystemId()));
                }
                throw new FaultException("Failed to validate against schema: " + schema, exchange, fault);
            }
            else {
                // Retrieve the ouput of the validation
View Full Code Here

        MessageExchange me = this.exchange.getInternalExchange();
        if (me instanceof InOnly) {
            me.setError(new Exception(content));
            getChannel().send(me);
        } else {
            Fault fault = me.createFault();
            fault.setContent(new StringSource(content));
            me.setFault(fault);
            getChannel().sendSync(me);
        }
        update();
    }
View Full Code Here

            if (ssn == null || ssn.length() == 0) {
                fail(exchange, new NullPointerException());
                return;
            }
            if (!ssn.startsWith("1")) {
                Fault fault = inOut.createFault();
                fault.setContent(new StringSource(
                        "<invalidSSNFault xmlns=\"urn:logicblaze:soa:creditagency:types\"><ssn>"
                        + ssn + "</ssn></invalidSSNFault>"));
                fail(inOut, fault);
            } else {
                String operation = null;
View Full Code Here

            if (logger.isDebugEnabled()) {
                logger.debug("Exception caught", e);
            }
            Object payload = e.getPartMessage(BPEComponent.PART_PAYLOAD);
            if (payload instanceof IInteraction) {
                Fault fault = exchange.createFault();
                fault.setContent(new DOMSource(getDocument((IInteraction) payload)));
                exchange.setFault(fault);
            } else if (payload instanceof IFormattableValue) {
                Fault fault = exchange.createFault();
                Document doc = (Document) ((IFormattableValue) payload).getValueAs(Document.class);
                fault.setContent(new DOMSource(doc));
                exchange.setFault(fault);
            } else {
                exchange.setError(e);
            }
            channel.send(exchange);
View Full Code Here

TOP

Related Classes of javax.jbi.messaging.Fault

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.