Mule:在功能测试用例运行期间没有接收器注册错误
我试图为我的mule配置开发一个功能测试用例。代码如下:Mule:在功能测试用例运行期间没有接收器注册错误,mule,Mule,我试图为我的mule配置开发一个功能测试用例。代码如下: protected String getConfigResources() { // TODO Auto-generated method stub return "src/test/resources/employee-get-functionalTestCase-config.xml"; } @Test public void testMessage() throws Exce
protected String getConfigResources() {
// TODO Auto-generated method stub
return "src/test/resources/employee-get-functionalTestCase-config.xml";
}
@Test
public void testMessage() throws Exception {
MuleClient client = muleContext.getClient();
client.dispatch("vm://in", "70009", null);
MuleMessage result = client.request("vm://out", 60000);
Assert.assertNotNull("Response payload was null", result);
Assert.assertNull(result.getExceptionPayload());
Assert.assertFalse(result.getPayload() instanceof NullPayload);
&以下是我的XMl文件的上下文:
<spring:beans>
<context:property-placeholder location="classpath:mule-app.properties"/>
</spring:beans>
<flow name="testFlow">
<vm:inbound-endpoint path="in"/>
<logger message="in functional-test-config.xml (v4)" level="INFO" doc:name="Logger"/>
<set-payload value="70010" doc:name="Use fixed employeeId 70010"/>
<vm:outbound-endpoint exchange-pattern="request-response" path="employee-profile-get" doc:name="VM"/>
<logger message="after employee-profile-get; payload: #[payload]" level="INFO" doc:name="Logger"/>
<vm:outbound-endpoint path="out"/>
</flow>
但是,当我执行此代码时,会出现以下错误:
org.mule.api.transport.NoReceiverForEndpointException:endpointUri VM://employee profile get的连接器“connector.VM.mule.default”上没有注册接收器
我在哪里注册vm端点?对于每个exchange pattern=“request-response”vm端点,必须有一个入站端点 当应用程序在mule studio中运行时,您可能不会得到任何错误(在编译时),但是当消息通过流时,您将得到上述类型的错误 这是因为VM是一个内存队列,在内存队列中,一旦您放入消息,应该有一个接收者来拾取消息。因此,当不在内存队列中时,此错误将弹出,并且仅适用于exchange模式=“请求-响应”,因为您放入消息的流(具有请求-响应的出站端点)将等待来自vm端点“employee profile get”的响应 要描述相同的错误,请使用localhost http端点替换,然后尝试调用http端点 为了避免这种情况,使用path=“employee profile get”创建另一个入站端点为vm的流,并使用set payload component返回一个字符串。然后您的测试用例就可以工作了 问候,, 纳文拉杰