private void setExchangeThroughNMR() { NMR nmr = OsgiSupport.getReference(bundleContext, NMR.class); assertNotNull(nmr); ExchangeImpl exchange = new ExchangeImpl(Pattern.InOut); exchange.setSource(((ChannelImpl) endpointService1.getChannel()).getEndpoint()); exchange.getIn(true).setBody(new StringSource("<Hello/>")); exchange.setOperation(operation); exchange.setProperty(MessageExchangeImpl.INTERFACE_NAME_PROP, service2Interface); Map<String, Object> props = new HashMap<String, Object>(); props.put(Endpoint.ENDPOINT_NAME, "JustDummyEndpointName"); exchange.setTarget(nmr.getEndpointRegistry().lookup(props)); assertEquals(endpointService2.getQueue().size(), 0); assertEquals(endpointService1.getQueue().size(), 0); assertTrue(nmr.createChannel().sendSync(exchange)); assertEquals(endpointService2.getQueue().size(), 1); assertEquals(endpointService1.getQueue().size(), 0); List<Exchange> exchanges = new ArrayList<Exchange>(); for (MessageExchange messageExchangeIt : mockInterceptor.getExchanges()) { Exchange innerExchange = ((MessageExchangeImpl) messageExchangeIt).getInternalExchange(); if (innerExchange == exchange) { exchanges.add(innerExchange); } } assertEquals(2, exchanges.size()); }