public void testInOut() throws Exception {
activateComponent(new ReturnMockComponent("<from1/>"), "target1");
activateComponent(new ReturnMockComponent("<from2/>"), "target2");
activateComponent(new ReturnMockComponent("<from3/>"), "target3");
InOut me = client.createInOutExchange();
me.setService(new QName("router"));
me.getInMessage().setContent(createSource("<hello id='1' />"));
client.sendSync(me);
assertEquals(ExchangeStatus.ACTIVE, me.getStatus());
Node node = new SourceTransformer().toDOMNode(me.getOutMessage());
assertEquals("from1", node.getFirstChild().getNodeName());
client.done(me);
me = client.createInOutExchange();
me.setService(new QName("router"));
me.getInMessage().setContent(createSource("<hello id='2' />"));
client.sendSync(me);
assertEquals(ExchangeStatus.ACTIVE, me.getStatus());
node = new SourceTransformer().toDOMNode(me.getOutMessage());
assertEquals("from2", node.getFirstChild().getNodeName());
client.done(me);
me = client.createInOutExchange();
me.setService(new QName("router"));
me.getInMessage().setContent(createSource("<hello id='3' />"));
client.sendSync(me);
assertEquals(ExchangeStatus.ACTIVE, me.getStatus());
node = new SourceTransformer().toDOMNode(me.getOutMessage());
assertEquals("from3", node.getFirstChild().getNodeName());
client.done(me);
}