protected Service getService(AddressingHeaders headers, MessageContext context) { String serviceName = null; if (headers.getTo() != null) { int i = headers.getTo().lastIndexOf('/'); serviceName = headers.getTo().substring(i + 1); } if (serviceName == null) { return null; } return context.getXFire().getServiceRegistry().getService(serviceName); }
public Channel getDeadLetterChannel() { TransportManager tm = getContext().getXFire().getTransportManager(); Transport transport = tm.getTransport(DeadLetterTransport.NAME); try { return transport.createChannel(); } catch (Exception e) { e.printStackTrace(); return null; } }
public void invoke(MessageContext context) throws XFireFault { Boolean b = (Boolean) context.getProperty(DefaultEndpoint.SERVICE_HANDLERS_REGISTERED); if ((b == null || b.equals(Boolean.FALSE)) && context.getService() != null) { context.getInPipeline().addHandlers(context.getService().getInHandlers()); } if (context.getExchange().hasOutMessage()) { HandlerPipeline pipeline = new HandlerPipeline(context.getXFire().getOutPhases()); pipeline.addHandlers(context.getService().getOutHandlers()); pipeline.addHandlers(context.getXFire().getOutHandlers()); OutMessage msg = context.getExchange().getOutMessage(); pipeline.addHandlers(msg.getChannel().getTransport().getOutHandlers()); context.setOutPipeline(pipeline); } } }
public void send(final MessageContext context, final OutMessage message) throws XFireException { if (message.getUri().equals(Channel.BACKCHANNEL_URI)) { final OutputStream out = (OutputStream)context.getProperty(Channel.BACKCHANNEL_URI); if (out != null) { final XMLStreamWriter writer = STAXUtils.createXMLStreamWriter(out, message.getEncoding(), context); message.getSerializer().writeMessage(message, writer, context); } else { MessageContext oldContext = (MessageContext)context.getProperty(OLD_CONTEXT); sendViaNewChannel(context, oldContext, message, (String)context.getProperty(SENDER_URI)); } } else { MessageContext receivingContext = new MessageContext(); receivingContext.setXFire(context.getXFire()); receivingContext.setService(getService(context.getXFire(), message.getUri())); receivingContext.setProperty(OLD_CONTEXT, context); receivingContext.setProperty(SENDER_URI, getUri()); receivingContext.setSession(session); sendViaNewChannel(context, receivingContext, message, message.getUri()); } }
t = context.getXFire().getTransportManager().getTransportForUri(addr); c = t.createChannel();