public void invoke(MessageContext context) throws Exception { Service service = context.getService(); if (service == null) return; String action = (String) context.getInMessage().getProperty(SoapConstants.SOAP_ACTION); if (action == null || action.length() == 0) return; AbstractSoapBinding binding = (AbstractSoapBinding) context.getBinding(); OperationInfo op = binding.getOperationByAction(action); if (op != null) { context.getExchange().setOperation(op); } } }
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()); } }
public void invoke(MessageContext context) throws Exception { Service service = context.getService(); if (service == null) return; OperationInfo op = context.getExchange().getOperation(); AbstractSoapBinding binding = (AbstractSoapBinding) context.getBinding(); String action = binding.getSoapAction(op); if (action != null) context.getOutMessage().setProperty(SoapConstants.SOAP_ACTION, action); } }
public MessageExchange(MessageContext context) { this.context = context; if (context.getExchange() != null) { setInMessage(context.getExchange().getInMessage()); } context.setExchange(this); }
protected MessageContext createMessageContext( HttpServletRequest request, HttpServletResponse response, String service) { XFireHttpSession session = new XFireHttpSession(request); MessageContext context = new MessageContext(); context.setXFire(getXFire()); context.setSession(session); context.setService(getService(service)); context.setProperty(HTTP_SERVLET_REQUEST, request); context.setProperty(HTTP_SERVLET_RESPONSE, response); if (servletContext != null) context.setProperty(HTTP_SERVLET_CONTEXT, servletContext); return context; }
ByteArrayOutputStream out = new ByteArrayOutputStream(); Channel c = t.createChannel(); MessageContext ctx = new MessageContext(); ctx.setXFire(xfire); ctx.setService(service); ctx.setProperty(Channel.BACKCHANNEL_URI, out); ctx.setExchange(new org.codehaus.xfire.exchange.MessageExchange(ctx)); InMessage msg = new InMessage(); ctx.getExchange().setInMessage(msg); if (exchange.getOperation() != null) { OperationInfo op = service.getServiceInfo().getOperation(exchange.getOperation().getLocalPart()); if (op != null) { ctx.getExchange().setOperation(op); ctx.setCurrentMessage(msg); NormalizedMessage in = exchange.getMessage("in"); msg.setXMLStreamReader(transformer.toXMLStreamReader(in.getContent())); if (ctx.getExchange().hasFaultMessage() && ctx.getExchange().getFaultMessage().getBody() != null) { String charSet = ctx.getExchange().getFaultMessage().getEncoding(); Fault fault = exchange.getFault(); if (fault == null) { 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_SUBCODE, xFault.getSubCode()); } else {
public void invoke(MessageContext context) throws Exception { Object value = context.getProperty(RESPONSE_VALUE); if (context.getExchange().hasOutMessage()) OutMessage outMsg = context.getExchange().getOutMessage(); ServiceInvocationHandler.writeHeaders(context, value); context.setCurrentMessage(outMsg); outMsg.setBody(new Object[] {value}); outMsg.setSerializer(context.getBinding().getSerializer(context.getExchange().getOperation())); context.getOutPipeline().invoke(context); context.setProperty(DefaultFaultHandler.EXCEPTION, fault); context.getCurrentPipeline().pause(); context.getCurrentPipeline().handleFault(fault, context); context.getInPipeline().handleFault(fault, context); context.getFaultHandler().invoke(context);
if (context.getExchange() == null) context.setCurrentMessage(msg); HandlerPipeline pipeline = new HandlerPipeline(context.getXFire().getInPhases()); pipeline.addHandlers(context.getXFire().getInHandlers()); pipeline.addHandlers(msg.getChannel().getTransport().getInHandlers()); pipeline.addHandlers(getInHandlers()); if (context.getService() != null) pipeline.addHandlers(context.getService().getInHandlers()); context.setProperty(SERVICE_HANDLERS_REGISTERED, Boolean.TRUE); context.setInPipeline(pipeline); if (context.getFaultHandler() == null) context.setFaultHandler(createFaultHandler()); context.setProperty(DefaultFaultHandler.EXCEPTION, fault); context.getFaultHandler().invoke(context);
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); } } }
Object val = getProperty(key); if (val == null && getExchange() != null && getExchange().getOperation() != null) val = getExchange().getOperation().getProperty(key); if (val == null && getClient() != null) val = getClient().getProperty(key); if (val == null && getService() != null) val = getService().getProperty(key);
public void readMessage(InMessage message, MessageContext context) throws XFireFault { Service endpoint = context.getService(); DepthXMLStreamReader dr = new DepthXMLStreamReader(context.getInMessage().getXMLStreamReader()); if ( !STAXUtils.toNextElement(dr) ) throw new XFireFault("There must be a method name element.", XFireFault.SENDER); OperationInfo op = context.getExchange().getOperation(); if (!isClientModeOn(context) && op == null) { op = endpoint.getServiceInfo().getOperation( dr.getLocalName() ); if (op != null) { setOperation(op, context); JAXWSOperationBinding opBinding = getOperationBinding(op); opBinding.readMessage(message, context); return; } } delegate.readMessage(message, context); }
InMessage msg = context.getInMessage(); Element header = msg.getHeader(); msg.setProperty(ADRESSING_FACTORY, factory); context.setId(headers.getRelatesTo()); if (service != null) context.setService(service); service = context.getService(); OperationInfo op = context.getExchange().getOperation(); AddressingOperationInfo aop = AddressingOperationInfo.getOperationByInAction(service.getServiceInfo(), headers .getAction()); if (aop != null) context.setId(headers.getRelatesTo()); return; MessageExchange exchange = context.getExchange(); exchange.setOperation(aop.getOperationInfo()); AbstractMessage faultMsg = context.getExchange().getFaultMessage(); AddressingHeaders outHeaders = (AddressingHeaders) faultMsg.getProperty(ADRESSING_HEADERS); if (outHeaders == null)
public void invoke(MessageContext context) throws Exception { Throwable e = (Throwable) context.getProperty(EXCEPTION); XFireFault fault = XFireFault.createFault(e); // get the root cause so we know what level to log if (fault.getCause() != null) e = fault.getCause(); if (e instanceof RuntimeException) { log.error("Fault occurred!", e); } else if (log.isInfoEnabled()) { log.info("Fault occurred!", e); } context.setCurrentMessage(context.getExchange().getFaultMessage()); Service service = context.getService(); if (service == null || service.getFaultSerializer() == null || !context.getExchange().hasFaultMessage()) { sendToDeadLetter(fault, context); } else { sendFault(fault, context); } }
MessageContext context = new MessageContext(); context.setService(xfire.getServiceRegistry().getService(getService(ctx))); context.setXFire(xfire); context.setProperty(Channel.BACKCHANNEL_URI, resultStream); AbstractMessage fault = context.getExchange().getFaultMessage(); if (fault != null && fault.getBody() != null) ctx.getMessage().setExceptionPayload(exceptionPayload); else if (context.getExchange().hasOutMessage()) result = resultStream.toString(context.getExchange().getOutMessage().getEncoding());
public void invoke(MessageContext context) throws Exception { if (context.getCurrentMessage().equals(context.getExchange().getInMessage())) { List body = (List) context.getCurrentMessage().getBody(); Binding binding = context.getBinding(); MessageInfo msgInfo = context.getExchange().getOperation().getOutputMessage(); Object result = ServiceInvocationHandler.readHeaders(context, binding.getHeaders(msgInfo), (Object[]) context.getOutMessage().getBody()); if (result != null) { body.add(result); } call.receive(body); } else if (context.getCurrentMessage().equals(context.getExchange().getFaultMessage())) call.receiveFault((Exception) context.getCurrentMessage().getBody()); } }
msg.setSoapVersion(Soap12.getInstance()); context = new MessageContext(); context.setService(client.getService()); context.setXFire(client.getXFire()); context.setBinding(binding); context.setProperty(Client.CLIENT_MODE, Boolean.TRUE); context.setClient(client); context.setProperty(CONTEXT_KEY, this); context.setCurrentMessage(msg); outPipe.addHandlers(client.getTransport().getOutHandlers()); context.setOutPipeline(outPipe);
MessageContext context = new MessageContext(); context.setXFire(getXFire()); context.setProperty(Channel.BACKCHANNEL_URI, out); return context.getInMessage();
public void readMessage(InMessage message, MessageContext context) throws XFireFault final Service service = context.getService(); OperationInfo operation = context.getExchange().getOperation(); if (context.getExchange().getOperation() == null) if (context.getClient() != null) Binding binding = context.getBinding(); for (Iterator itr = msg.getMessageParts().iterator(); itr.hasNext();)
public void invoke(MessageContext context) throws Exception if (context.getBinding() != null) return; Channel c = context.getInMessage().getChannel(); Service service = context.getService(); context.setBinding(binding);
public void writeMessage(OutMessage message, XMLStreamWriter writer, MessageContext context) throws XFireFault { OperationInfo op = context.getExchange().getOperation(); } }