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());
  }