shrinathM shrinathM - 5 months ago 105
Java Question

Mule MSMQ flow gives connection refused error in Mule Studio

I'm trying to run the sample example from Mule blog for MSMQ.
When I setup MSMQ as global component "Test connection" says Successful, that means MSMQ is setup. 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:


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

Answer

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.

So you need to fix the msmq:config element until it works.

At first glance, this serviceAddress="machinename/localhost:9000" looks highly suspicious. You should either use the actual machine name and port or localhost and port if running collocated with MSMQ.