receiveAction.setEndpoint(endpoint);
receiveAction.setValidator(validator);
PayloadTemplateMessageBuilder controlMessageBuilder = new PayloadTemplateMessageBuilder();
XmlMessageValidationContext validationContext = new XmlMessageValidationContext();
validationContext.setMessageBuilder(controlMessageBuilder);
controlMessageBuilder.setPayloadData("<TestRequest xmlns=\"http://citrusframework.org/unittest\">" +
"<Message>Hello World!</Message></TestRequest>");
Map<String, String> extractMessageElements = new HashMap<String, String>();
extractMessageElements.put("/:TestRequest/:Message", "messageVar");
XpathPayloadVariableExtractor variableExtractor = new XpathPayloadVariableExtractor();
variableExtractor.setxPathExpressions(extractMessageElements);
receiveAction.addVariableExtractors(variableExtractor);
Message controlMessage = new DefaultMessage("<TestRequest xmlns=\"http://citrusframework.org/unittest\">" +
"<Message>Hello World!</Message></TestRequest>");
reset(endpoint, consumer, endpointConfiguration);
expect(endpoint.createConsumer()).andReturn(consumer).anyTimes();
expect(endpoint.getEndpointConfiguration()).andReturn(endpointConfiguration).anyTimes();
expect(endpointConfiguration.getTimeout()).andReturn(5000L).anyTimes();
expect(consumer.receive(anyObject(TestContext.class), anyLong())).andReturn(controlMessage).once();
expect(endpoint.getActor()).andReturn(null).anyTimes();
replay(endpoint, consumer, endpointConfiguration);
validationContext.setSchemaValidation(false);
List<ValidationContext> validationContexts = new ArrayList<ValidationContext>();
validationContexts.add(validationContext);
receiveAction.setValidationContexts(validationContexts);
receiveAction.execute(context);