简体   繁体   English

Mule MSMQ流在Mule Studio中给出连接拒绝错误

[英]Mule MSMQ flow gives connection refused error in Mule Studio

I'm trying to run the sample example from Mule blog for MSMQ . 我正在尝试从Mule博客为MSMQ运行示例示例。 When I setup MSMQ as global component "Test connection" says Successful, that means MSMQ is setup. 当我将MSMQ设置为全局组件时,“测试连接”表示成功,这意味着已设置MSMQ。 Well and good till now.. Now using the following flow to test sending a message into queue: 好吧,直到现在。.现在,使用以下流程测试将消息发送到队列中:

<msmq:config name="MSMQ" serviceAddress="machinename/localhost:9000" accessToken="XZodtPym+v6NeZs+Sr4+GK9EGdA=" rootQueueName=".\private$\msmq-demo" doc:name="MSMQ"   >
    <msmq:connection-pooling-profile initialisationPolicy="INITIALISE_ONE" exhaustedAction="WHEN_EXHAUSTED_GROW"/>
</msmq:config>
<flow name="testingFlow1" doc:name="testingFlow1">
    <http:inbound-endpoint exchange-pattern="one-way" host="localhost" port="8091" doc:name="HTTP"/>
    <set-payload value="#[header:INBOUND:http.relative.path]" doc:name="Set Payload"/>
    <logger message=" Sending message: #[payload]" level="INFO" doc:name="Logger"/>
    <msmq:send config-ref="MSMQ" doc:name="MSMQ"/>
</flow>

When the flow hits MSMQ in console I see this error: 当流程在控制台中到达MSMQ时,我看到此错误:

INFO  2014-08-07 18:00:41,299 [[testing].testingFlow1.stage1.02] org.mule.api.processor.LoggerMessageProcessor:  Sending message: test
    ERROR 2014-08-07 18:00:42,888 [[testing].testingFlow1.stage1.02] org.mule.retry.notifiers.ConnectNotifier: Failed to connect/reconnect: Work Descriptor. Root Exception was: Connection refused: connect. Type: class java.net.ConnectException
    ERROR 2014-08-07 18:00:42,894 [[testing].testingFlow1.stage1.02] org.mule.exception.DefaultMessagingExceptionStrategy:
********************************************************************************
Message               : Failed to invoke send. Message payload is of type: String
Code                  : MULE_ERROR--2
--------------------------------------------------------------------------------
    Exception stack is:
    1. Connection refused: connect (java.net.ConnectException)
    java.net.DualStackPlainSocketImpl:-2 (null)
    2. java.net.ConnectException: Connection refused: connect (com.sun.jersey.api.client.ClientHandlerException)
    com.sun.jersey.client.urlconnection.URLConnectionClientHandler:148 (null)
    3. Failed to invoke send. Message payload is of type: String (org.mule.api.MessagingException)
    org.mule.modules.msmq.processors.SendMessageProcessor:198 (http://www.mulesoft.org/docs/site/current3/apidocs/org/mule/api/MessagingException.html)

Any help or directions is welcome! 欢迎任何帮助或指示! msmq-config picture for clarity: Test connection succeeds msmq-config图片为清晰起见: 测试连接成功

The proof of the pudding is Mule not Studio: if Mule can't connect then Studio most probably can't either, but fails to report the issue. 布丁的证明不是Mule,而是Studio:如果Mule无法连接,则Studio很可能也不能,但无法报告问题。

So you need to fix the msmq:config element until it works. 因此,您需要修复msmq:config元素,直到它起作用。

At first glance, this serviceAddress="machinename/localhost:9000" looks highly suspicious. 乍一看,这个serviceAddress="machinename/localhost:9000"看起来非常可疑。 You should either use the actual machine name and port or localhost and port if running collocated with MSMQ. 如果与MSMQ并置运行,则应该使用实际的计算机名和端口,或者使用localhost和端口。

<?xml version="1.0" encoding="UTF-8"?>

<mule xmlns:http="http://www.mulesoft.org/schema/mule/http" xmlns:msmq="http://www.mulesoft.org/schema/mule/msmq" xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
    xmlns:spring="http://www.springframework.org/schema/beans" version="EE-3.6.2"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/msmq http://www.mulesoft.org/schema/mule/msmq/current/mule-msmq.xsd
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd">
    <msmq:config name="MSMQ" serviceAddress="x.x.x.:9333" accessToken="wRuoma0PhX4ZHA1vQosdefff="  rootQueueName=".\private$\msmqdemo" ignoreSSLWarnings="true" doc:name="MSMQ"/>
    <flow name="msmqreceiveFlow">
       <set-payload value="Hello" doc:name="Set Payload"/>
    <msmq:send config-ref="MSMQ__MSMQ_Connection" queueName="msmqdemo" doc:name="MSMQ"/>
    <logger message="#[payload]" level="INFO" doc:name="Logger"/>
    </flow>
</mule>

Try this example I think service address is wrong.This example for sending message to MSMQ queue 尝试此示例,我认为服务地址是错误的。此示例用于向MSMQ队列发送消息

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM