I have one flow calling another flow via a VM endpoint. The call fails with the exception NoReceiverForEndpointException
. The message in the logs is:
There is no receiver registered on connector "connector.VM.mule.default" for endpointUri vm://inner
Does anyone know why? This is Mule 3.3.0 enterprise edition.
Thanks.
The config file:
<mule ...>
<vm:endpoint name="inner" path="inner" />
<flow name="inner.flow">
<inbound-endpoint ref="inner" exchange-pattern="request-response" />
<logger level="INFO" message="in inner flow" />
</flow>
<vm:endpoint name="outer" path="outer" />
<flow name="outer.flow">
<inbound-endpoint ref="outer" exchange-pattern="one-way" />
<logger level="INFO" message="in outer flow" />
<outbound-endpoint ref="inner" exchange-pattern="request-response" />
</flow>
</mule>
The test case to exercise it:
import org.junit.Test;
import org.mule.api.MuleException;
import org.mule.module.client.MuleClient;
import org.mule.tck.junit4.FunctionalTestCase;
public class VMEndpointTest extends FunctionalTestCase {
@Test
public void innerIsCalled() throws MuleException {
final MuleClient client = new MuleClient(muleContext);
client.sendNoReceive("outer", new Object(), null);
}
@Override
protected String getConfigResources() {
return "test.xml";
}
}