[mule-user] Problem sending message to a remote Mule instance.

8 views
Skip to first unread message

rdriskill

unread,
Jun 4, 2008, 12:10:55 PM6/4/08
to us...@mule.codehaus.org

The Background:

I have a webapp running a mule instance that sends messages. I also have
another webapp running a mule instance that acts as a message router. It
receives messages and looks up the recipient's endpoint for the received
message and resends to the intended recipient. All recipient webapps also
run a mule instance. All webapps run remotely to one another in production.
The messages being sent have attachments. RemoteDispatcher doesn't supply a
method that accepts a MuleMessage as a parameter, which is used to send
attachments. So to send message with attachments I have to use Axis
directly.

The Problem:

When I test these webapps on my local machine it works fine. When the
webapps are all deployed on the same server or all remotely deployed,
sending messages with Axis fails. Messages being sent never reach the
message router. Below is the error.


2008-05-20 14:30:54,463 DEBUG [org.apache.axis.SOAPPart] - Enter: SOAPPart
ctor(FORM_SOAPENVELOPE)
2008-05-20 14:30:54,465 DEBUG [org.apache.axis.i18n.ProjectResourceBundle] -
org.apache.axis.i18n.resource::handleGetObject(setMsgForm)
2008-05-20 14:30:54,465 DEBUG [org.apache.axis.SOAPPart] - Setting current
message form to: FORM_SOAPENVELOPE (currentMessage is now
org.apache.axis.message.SOAPEnvelope)
2008-05-20 14:30:54,465 DEBUG [org.apache.axis.SOAPPart] - Exit: SOAPPart
ctor()
2008-05-20 14:30:54,469 DEBUG [org.apache.axis.i18n.ProjectResourceBundle] -
org.apache.axis.i18n.resource::handleGetObject(addBody00)
2008-05-20 14:30:54,469 DEBUG [org.apache.axis.message.SOAPBody] - Adding
body element to message...
2008-05-20 14:30:54,474 DEBUG [org.apache.axis.client.Call] - Enter:
Call::invoke()
2008-05-20 14:30:54,477 DEBUG [org.apache.axis.MessageContext] -
MessageContext: setTargetService(miprRouter)
2008-05-20 14:30:54,478 DEBUG [org.apache.axis.i18n.ProjectResourceBundle] -
org.apache.axis.i18n.resource::handleGetObject(noService10)
2008-05-20 14:30:54,480 DEBUG [org.apache.axis.ConfigurationException] -
Exception:
org.apache.axis.ConfigurationException: No service named miprRouter is
available
org.apache.axis.ConfigurationException: No service named miprRouter is
available
at
org.apache.axis.configuration.FileProvider.getService(FileProvider.java:233)
at org.apache.axis.AxisEngine.getService(AxisEngine.java:311)
at
org.apache.axis.MessageContext.setTargetService(MessageContext.java:756)
at org.apache.axis.client.Call.invoke(Call.java:2690)
at org.apache.axis.client.Call.invoke(Call.java:2443)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at org.apache.axis.client.Call.invoke(Call.java:1812)
at
com.nmt.client.finance.core.MiprRouterSoapBindingStub.sendMIPR(MiprRouterSoapBindingStub.java:290)
at com.nmt.mule.MuleMIPRRouter.sendMIPR(MuleMIPRRouter.java:69)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
at
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:198)
at $Proxy104.sendMIPR(Unknown Source)
at
com.nmt.web.mipr.outgoing.OutgoingMIPRFormController.onSubmit(OutgoingMIPRFormController.java:169)
at
org.springframework.web.servlet.mvc.SimpleFormController.processFormSubmission(SimpleFormController.java:267)
at
org.springframework.web.servlet.mvc.AbstractFormController.handleRequestInternal(AbstractFormController.java:265)
at
org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
at
org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
at
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
at
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:809)
at
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:523)
at
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:463)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
at
org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200)
at
org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:773)
at
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:703)
at
org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:895)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:619)

at
org.apache.axis.configuration.FileProvider.getService(FileProvider.java:233)
at org.apache.axis.AxisEngine.getService(AxisEngine.java:311)
at
org.apache.axis.MessageContext.setTargetService(MessageContext.java:756)
at org.apache.axis.client.Call.invoke(Call.java:2690)
at org.apache.axis.client.Call.invoke(Call.java:2443)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at org.apache.axis.client.Call.invoke(Call.java:1812)
at
com.nmt.client.finance.core.MiprRouterSoapBindingStub.sendMIPR(MiprRouterSoapBindingStub.java:290)
at com.nmt.mule.MuleMIPRRouter.sendMIPR(MuleMIPRRouter.java:69)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
at
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:198)
at $Proxy104.sendMIPR(Unknown Source)
at
com.nmt.web.mipr.outgoing.OutgoingMIPRFormController.onSubmit(OutgoingMIPRFormController.java:169)
at
org.springframework.web.servlet.mvc.SimpleFormController.processFormSubmission(SimpleFormController.java:267)
at
org.springframework.web.servlet.mvc.AbstractFormController.handleRequestInternal(AbstractFormController.java:265)
at
org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
at
org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
at
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
at
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:809)
at
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:523)
at
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:463)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
at
org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200)
at
org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:773)
at
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:703)
at
org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:895)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:619)
2008-05-20 14:30:54,482 DEBUG [org.apache.axis.MessageContext] -
MessageContext: setServiceHandler(null)
2008-05-20 14:30:54,482 DEBUG [org.apache.axis.i18n.ProjectResourceBundle] -
org.apache.axis.i18n.resource::handleGetObject(targetService)
2008-05-20 14:30:54,482 DEBUG [org.apache.axis.client.Call] - Target
service: miprRouter

The code that sends messages to message router:

OutgoingMIPR newOutgoingMIPR =
MIPRConversionUtil.copyOutgoingMIPR(outgoingMIPR);
MiprRouter service = new MiprRouterLocator();
Proxy port = service.getMiprRouter(new
java.net.URL("https://localhost:60506/miprRouter"));
return port.sendMIPR(newOutgoingMIPR);

Message Router's Mule Config:

<mule:mule>
<mule:configuration defaultSynchronousEndpoints="true"/>
<client:remote-dispatcher-agent>
<client:remote-endpoint address="https://localhost:60505"/>
</client:remote-dispatcher-agent>
<https:connector name="httpConnector">
<https:tls-client path="sslKeyStore.key" storePassword="letmein"/>
<https:tls-key-store path="sslKeyStore.key" keyPassword="letmein"
storePassword="letmein"/>
<https:tls-server path="sslKeyStore.key" storePassword="letmein"
requireClientAuthentication="false"/>
</https:connector>
<mule:model name="mipr-router">
<mule:service name="miprRouter">
<mule:inbound>
<axis:inbound-endpoint address="https://localhost:60506"
remoteSync="true"/>
</mule:inbound>
<mule:component>
<mule:spring-object bean="routerUMO"/>
</mule:component>
</mule:service>
</mule:model>
</mule:mule>

Sender's Mule Config:

<mule:mule>
<mule:configuration defaultSynchronousEndpoints="true"/>
<client:remote-dispatcher-agent>
<client:remote-endpoint address="https://localhost:60507"/>
</client:remote-dispatcher-agent>
<https:connector name="httpsConnector">
<https:tls-client path="sslKeyStore.key" storePassword="letmein"/>
<https:tls-key-store path="sslKeyStore.key" keyPassword="letmein"
storePassword="letmein"/>
<https:tls-server path="sslKeyStore.key" storePassword="letmein"
requireClientAuthentication="false"/>
</https:connector>
<mule:model name="mipr-client">
<mule:service name="miprClient">
<mule:inbound>
<axis:inbound-endpoint address="https://localhost:60508"
remoteSync="true"/>
</mule:inbound>
<mule:component>
<mule:spring-object bean="miprClientUMO"/>
</mule:component>
</mule:service>
</mule:model>
</mule:mule>

Thanks in Advance!
--
View this message in context: http://www.nabble.com/Problem-sending-message-to-a-remote-Mule-instance.-tp17650429p17650429.html
Sent from the Mule - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

http://xircles.codehaus.org/manage_email


rdriskill

unread,
Jun 10, 2008, 10:02:07 AM6/10/08
to us...@mule.codehaus.org

I have done more testing and they all work on one of our servers. If deployed
to another server, then they do not work. What server environment factors
could contribute to this behavior?
--
View this message in context: http://www.nabble.com/Problem-sending-message-to-a-remote-Mule-instance.-tp17650429p17756221.html

rdriskill

unread,
Jun 10, 2008, 5:42:39 PM6/10/08
to us...@mule.codehaus.org

I tried to send a message using Mule instead just for kicks and received an
error.

Instead of:

MiprRouter service = new MiprRouterLocator();
Proxy port = service.getMiprRouter(new
java.net.URL("https://localhost:60506/miprRouter"));
return port.sendMIPR(newOutgoingMIPR);

I now have:

RemoteDispatcher dispatcher = new
MuleClient().getRemoteDispatcher(miprRouterURL);
MuleMessage message =
dispatcher.sendRemote("axis:https://localhost:60506/miprRouter?method=sendMIPR",
newOutgoingMIPR, null);
return message.getPayloadAsString();

The Error:

2008-06-10 15:08:53,140 DEBUG [org.apache.commons.httpclient.HttpConnection]
- An error occurred while reading from the socket, is appears to be stale
java.net.SocketException: Socket Closed
at java.net.PlainSocketImpl.setOption(PlainSocketImpl.java:201)
at java.net.Socket.setSoTimeout(Socket.java:996)
at
com.sun.net.ssl.internal.ssl.SSLSocketImpl.setSoTimeout(SSLSocketImpl.java:2047)
at
org.apache.commons.httpclient.HttpConnection.isStale(HttpConnection.java:514)
at
org.apache.commons.httpclient.HttpConnection.closeIfStale(HttpConnection.java:430)
at
org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.closeIfStale(MultiThreadedHttpConnectionManager.java:1273)
at
org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:381)
at
org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:170)
at
org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:396)
at
org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:346)
at
org.mule.transport.http.HttpClientMessageDispatcher.execute(HttpClientMessageDispatcher.java:109)
at
org.mule.transport.http.HttpClientMessageDispatcher.doSend(HttpClientMessageDispatcher.java:243)
at
org.mule.transport.AbstractMessageDispatcher.send(AbstractMessageDispatcher.java:157)
at org.mule.transport.AbstractConnector.send(AbstractConnector.java:1889)
at
org.mule.endpoint.DefaultOutboundEndpoint.send(DefaultOutboundEndpoint.java:76)
at
org.mule.module.client.RemoteDispatcher.dispatchAction(RemoteDispatcher.java:379)
at
org.mule.module.client.RemoteDispatcher.doToRemote(RemoteDispatcher.java:327)
at
org.mule.module.client.RemoteDispatcher.sendRemote(RemoteDispatcher.java:239)
at com.nmt.mule.MuleMIPRRouter.sendMIPR(MuleMIPRRouter.java:73)

What's causing this error and how do i fix it?

--
View this message in context: http://www.nabble.com/Problem-sending-message-to-a-remote-Mule-instance.-tp17650429p17765407.html

rdriskill

unread,
Jun 13, 2008, 1:25:06 PM6/13/08
to us...@mule.codehaus.org

My problem was a result of an old commons-httpclient jar. Updated the jar to
the one packaged in the Mule distribution.

--
View this message in context: http://www.nabble.com/Problem-sending-message-to-a-remote-Mule-instance.-tp17650429p17828442.html

Reply all
Reply to author
Forward
0 new messages