protected void fromSoapHeaders(MessageContext messageContext, AbstractIntegrationMessageBuilder<?> builder) { WebServiceMessage request = messageContext.getRequest(); String[] propertyNames = messageContext.getPropertyNames(); if (propertyNames != null) { for (String propertyName : propertyNames) { builder.setHeader(propertyName, messageContext.getProperty(propertyName)); } } if (request instanceof SoapMessage) { SoapMessage soapMessage = (SoapMessage) request; Map<String, ?> headers = this.headerMapper.toHeadersFromRequest(soapMessage); if (!CollectionUtils.isEmpty(headers)) { builder.copyHeaders(headers); } } }
@Test public void sendString() throws Exception { when(context.getResponse()).thenReturn(response); when(context.getRequest()).thenReturn(request); when(request.getPayloadSource()).thenReturn(stringSource); when(response.getPayloadResult()).thenReturn(stringResult); gateway.invoke(context); assertTrue(output.toString().endsWith(input)); }
@Override public boolean handleRequest(MessageContext messageContext) throws WebServiceClientException { requestFuture.set(messageContext.getRequest()); return super.handleRequest(messageContext); }
@Override public boolean handleRequest(MessageContext messageContext) throws WebServiceClientException { requestFuture.set(messageContext.getRequest()); return super.handleRequest(messageContext); }
@Override protected void doInvoke(MessageContext messageContext) throws Exception { WebServiceMessage request = messageContext.getRequest(); Assert.notNull(request, "Invalid message context: request was null.");
@Override protected void doInvoke(MessageContext messageContext) throws Exception { WebServiceMessage request = messageContext.getRequest(); Assert.notNull(request, "Invalid message context: request was null."); Object requestObject = MarshallingUtils.unmarshal(this.unmarshaller, request); AbstractIntegrationMessageBuilder<?> builder = this.getMessageBuilderFactory().withPayload(requestObject); this.fromSoapHeaders(messageContext, builder); Message<?> replyMessage = this.sendAndReceiveMessage(builder.build()); if (replyMessage != null) { WebServiceMessage response = messageContext.getResponse(); this.toSoapHeaders(response, replyMessage); MarshallingUtils.marshal(this.marshaller, replyMessage.getPayload(), response); } } }
@Before public void setup() { gateway.setRequestChannel(requestChannel); gateway.setReplyChannel(replyChannel); gateway.setBeanFactory(mock(BeanFactory.class)); gateway.start(); when(context.getResponse()).thenReturn(response); when(response.getPayloadResult()).thenReturn(payloadResult); when(context.getRequest()).thenReturn(request); }
when(response.getPayloadResult()).thenReturn(payloadResult); when(response.getSoapBody()).thenReturn(soapBody); when(context.getRequest()).thenReturn(request); when(request.getPayloadSource()).thenReturn(payloadSource); when(context.getRequest()).thenReturn(request); when(request.getPayloadSource()).thenReturn(payloadSource);
private void populateExchangeWithBreadcrumbFromMessageContext(MessageContext messageContext, Exchange exchange) { if (messageContext.getRequest() instanceof SaajSoapMessage) { SaajSoapMessage saajSoap = (SaajSoapMessage) messageContext.getRequest(); populateExchangeWithBreadcrumbFromSaajMessage(exchange, saajSoap); } else { populateExchangeWithBreadcrumbFromMessageContext(exchange, messageContext); } }
/** Returns the request payload as {@code Source}. */ private Source getRequestPayload(MessageContext messageContext) { WebServiceMessage request = messageContext.getRequest(); return request != null ? request.getPayloadSource() : null; }
@Override public Object resolveArgument(MessageContext messageContext, MethodParameter parameter) throws Exception { Unmarshaller unmarshaller = getUnmarshaller(); Assert.state(unmarshaller != null, "unmarshaller must not be null"); WebServiceMessage request = messageContext.getRequest(); Object argument = MarshallingUtils.unmarshal(unmarshaller, request); if (logger.isDebugEnabled()) { logger.debug("Unmarshalled payload request to [" + argument + "]"); } return argument; }
/** Returns the local part of the payload root element of the request. */ @Override protected String getLookupKeyForMessage(MessageContext messageContext) throws TransformerException { WebServiceMessage request = messageContext.getRequest(); QName rootQName = PayloadRootUtils.getPayloadRootQName(request.getPayloadSource(), transformerFactory); return rootQName.getLocalPart(); } }
protected String getLookupKeyForMessage(MessageContext messageContext) throws Exception { QName qName = PayloadRootUtils.getPayloadRootQName(messageContext.getRequest().getPayloadSource(), transformerFactory) ; return qName != null ? qName.toString() : null; }
@Override protected String getLookupKeyForMessage(MessageContext messageContext) throws Exception { Element payloadElement = getMessagePayloadElement(messageContext.getRequest()); return expression.evaluateAsString(payloadElement); }
private String getXPathResult(MessageContext messageContext, XPathExpression expression) throws TransformerException, XMLStreamException, ParserConfigurationException, IOException, SAXException { if (expression != null) { Node domNode = xmlConverter.toDOMNode(messageContext.getRequest().getPayloadSource()); if (domNode != null) { return expression.evaluateAsString(domNode.getFirstChild()); } } return null; }
@Override protected void invokeInternal(MessageContext messageContext, MethodEndpoint methodEndpoint) throws Exception { WebServiceMessage request = messageContext.getRequest(); Object requestObject = unmarshalRequest(request); Object responseObject = methodEndpoint.invoke(new Object[]{requestObject}); if (responseObject != null) { WebServiceMessage response = messageContext.getResponse(); marshalResponse(responseObject, response); } }
@Override protected void invokeInternal(MessageContext messageContext, MethodEndpoint methodEndpoint) throws Exception { Source requestSource = messageContext.getRequest().getPayloadSource(); Object result = methodEndpoint.invoke(requestSource); if (result != null) { Source responseSource = (Source) result; WebServiceMessage response = messageContext.getResponse(); transform(responseSource, response.getPayloadResult()); } } }
@Override public final void invoke(MessageContext messageContext) throws Exception { XMLEventReader eventReader = getEventReader(messageContext.getRequest().getPayloadSource()); XMLEventWriter streamWriter = new ResponseCreatingEventWriter(messageContext); invokeInternal(eventReader, streamWriter, getEventFactory()); streamWriter.flush(); }
@Override protected void invokeInternal(MessageContext messageContext, MethodEndpoint methodEndpoint) throws Exception { Element payloadElement = getRootElement(messageContext.getRequest().getPayloadSource()); Object[] args = getMethodArguments(payloadElement, methodEndpoint.getMethod()); Object result = methodEndpoint.invoke(args); if (result != null && result instanceof Source) { Source responseSource = (Source) result; WebServiceMessage response = messageContext.getResponse(); transform(responseSource, response.getPayloadResult()); } }
protected void invokeInternal(MessageContext messageContext, MethodEndpoint methodEndpoint) throws Exception { Element payloadElement = getRootElement(messageContext.getRequest().getPayloadSource()); Object[] args = getMethodArguments(payloadElement, methodEndpoint.getMethod()); Object result = methodEndpoint.invoke(args); if (result != null && result instanceof Source) { Source responseSource = (Source) result; WebServiceMessage response = messageContext.getResponse(); transform(responseSource, response.getPayloadResult()); } }