@Endpoint public class Service{ private SaajSoapMessageFactory saajMessageFactory; // dependency inject this @PayloadRoot(namespace = "http://foo.com/coffee", localPart = "order") @ResponsePayload public Coffee getCoffee(@RequestPayload Order order, MessageContext context){ DataHandler handler = new DataHandler( new URLDataSource( Service.class.getResource("coffee.jpg"))); SaajSoapMessage message = saajMessageFactory.createWebServiceMessage(); message.addAttachment("picture", handler); context.setResponse(message); return new Coffee("Hot Joe"); } public void setSaajMessageFactory(SaajMessageFactory saajMessageFactory){ this.saajMessageFactory = saajMessageFactory; } public SaajMessageFactory getSaajMessageFactory(){ return saajMessageFactory; } }
messageContext.setResponse((WebServiceMessage) replyPayload);
public void receive(MessageContext context) throws Exception { validate(request); context.setResponse(responseCreator.createResponse(uri, request, messageFactory)); } });
public void receive(MessageContext messageContext) throws Exception { MockHttpServletResponse response = new ExtendedMockHttpServletResponse(); servlet.service(request, response); if (LOG.isDebugEnabled()) { LOG.debug("Received response:"+response.getContentAsString()); } messageContext.setResponse(messageFactory.createWebServiceMessage(new ByteArrayInputStream(response.getContentAsByteArray()))); } });
public void receive(MessageContext context) throws Exception { validate(request); context.setResponse(responseCreator.createResponse(uri, request, messageFactory)); } });
public class MessageInterceptor extends EndpointInterceptor { private static final transient Logger log = LoggerFactory.getLogger(NCOssNinasAttachmentInterceptor.class); private SoapMessageFactory soapMessageFactory; @Autowired private NCOssNinasAttachmentInterceptor(SoapMessageFactory soapMessageFactory) { this.soapMessageFactory = soapMessageFactory; } @Override public void afterCompletion(MessageContext messageContext, Object endpoint, Exception ex) throws Exception { SaajSoapMessage message = (SaajSoapMessage) messageContext.getResponse(); final OutputStream s = new ByteArrayOutputStream(); message.writeTo(s); log.info("SOAP RESPONSE: " + s.toString()); String modifiedMsg = faultCodeModifier(s.toString()); log.info("MODIFIED RESPONSE: " + modifiedMsg); final InputStream is1 = new ByteArrayInputStream(modifiedMsg.getBytes()); SoapMessage m = soapMessageFactory.createWebServiceMessage(is1); if (messageContext.hasResponse()) messageContext.clearResponse(); messageContext.setResponse(m); log.info("NEW RESPONSE WAS SET"); }
messageContext.setResponse(response);
messageContext.setResponse(response);
messageContext.setResponse(response);
messageContext.setResponse(response);