} else { try { Fault jbiFlt = jbiMex.getFault(); if (jbiFlt != null) { javax.wsdl.Fault wsdlFlt = mapper.toFaultType(jbiFlt, (Collection<javax.wsdl.Fault>) pmex.getOperation().getFaults().values());
fail(exchange, me.getError()); return; } else if (me.getFault() != null) { Fault fault = MessageUtil.copyFault(me); MessageUtil.transferToFault(fault, exchange);
public Object request(org.apache.servicemix.jbi.api.EndpointResolver resolver, Map exchangeProperties, Map inMessageProperties, Object content) throws JBIException { InOut exchange = createInOutExchange(resolver); populateMessage(exchange, exchangeProperties, inMessageProperties, content); boolean answer = sendSync(exchange); if (!answer) { throw new JBIException("Exchange aborted"); } Exception error = exchange.getError(); if (error != null) { throw new JBIException(error); } if (exchange.getFault() != null) { done(exchange); throw FaultException.newInstance(exchange); } NormalizedMessage outMessage = exchange.getOutMessage(); if (outMessage == null) { throw new NoOutMessageAvailableException(exchange); } Object result = getMarshaler().unmarshal(exchange, outMessage); done(exchange); return result; }
public Object request(EndpointResolver resolver, Map exchangeProperties, Map inMessageProperties, Object content) throws JBIException { InOut exchange = createInOutExchange(resolver); populateMessage(exchange, exchangeProperties, inMessageProperties, content); boolean answer = sendSync(exchange); if (!answer) { throw new JBIException("Exchange aborted"); } Exception error = exchange.getError(); if (error != null) { throw new JBIException(error); } if (exchange.getFault() != null) { done(exchange); throw FaultException.newInstance(exchange); } NormalizedMessage outMessage = exchange.getOutMessage(); if (outMessage == null) { throw new NoOutMessageAvailableException(exchange); } Object result = getMarshaler().unmarshal(exchange, outMessage); done(exchange); return result; }
public Object request(EndpointResolver resolver, Map exchangeProperties, Map inMessageProperties, Object content) throws JBIException { InOut exchange = createInOutExchange(resolver); populateMessage(exchange, exchangeProperties, inMessageProperties, content); boolean answer = sendSync(exchange); if (!answer) { throw new JBIException("Exchange aborted"); } Exception error = exchange.getError(); if (error != null) { throw new JBIException(error); } if (exchange.getFault() != null) { done(exchange); throw FaultException.newInstance(exchange); } NormalizedMessage outMessage = exchange.getOutMessage(); if (outMessage == null) { throw new NoOutMessageAvailableException(exchange); } Object result = getMarshaler().unmarshal(exchange, outMessage); done(exchange); return result; }
MessageExchange me = getExchangeFactory().createExchange(exchange.getPattern()); (faultsTarget != null ? faultsTarget : target).configureTarget(me, getContext()); MessageUtil.transferToIn(tme.getFault(), me); copyPropertiesAndAttachments(exchange.getMessage("in"), me.getMessage("in")); sendSync(me); String fault = new SourceTransformer().contentToString(tme.getFault()); done(tme); fail(exchange, new FaultException(fault, null, null));
} else if (tme.getFault() != null) { processFault(exchange, tme);
public void onMessageExchange(MessageExchange exchange) throws MessagingException { // Skip done exchanges if (exchange.getStatus() == ExchangeStatus.DONE) { return; // Handle error exchanges } else if (exchange.getStatus() == ExchangeStatus.ERROR) { return; } // lets create an endpoint DeliveryChannel deliveryChannel = getDeliveryChannel(); MessageExchangeFactory rpcFactory = deliveryChannel.createExchangeFactory(requestResponseEndpoint); InOut rpc = rpcFactory.createInOutExchange(); rpc.setInMessage(exchange.getMessage("in")); boolean answer = deliveryChannel.sendSync(rpc); MessageExchangeFactory outputFactory = deliveryChannel.createExchangeFactory(outputEndpoint); InOnly inOnly = outputFactory.createInOnlyExchange(); if (answer) { inOnly.setInMessage(rpc.getOutMessage()); deliveryChannel.send(inOnly); done(exchange); } else if (!(exchange instanceof InOnly)) { inOnly.setError(rpc.getError()); Fault fault = rpc.getFault(); fail(exchange, fault); } else { // terminate the exchange done(exchange); } done(rpc); }