I have a service which is invoked using the mule client. The service operation is long running - 45sec or more. Depending on the amount of data processed this could be signficantly longer. It seems as though the operation is timing out. Is there away that I can remove the timeout value or is there is a better way to do this?
I have pasted below the relevant configurations and the error that I am getting.
thanks for your help
*Client code to initiate the service:*
MuleContextFactory muleContextFactory = new DefaultMuleContextFactory();
ConfigurationBuilder builder = new SpringXmlConfigurationBuilder("mule-service-client-config.xml");
MuleContextBuilder contextBuilder = new DefaultMuleContextBuilder();
MuleContext context = muleContextFactory.createMuleContext(builder, contextBuilder);
context.start();
Map<String,String> msgPropMap = new HashMap<String,String>();
msgPropMap.put("SERVICE_HOST", serviceHost);
msgPropMap.put("SERVICE_CONTEXT", serviceContext);
MuleClient client = new MuleClient(context);
client.sendAsync("vm://synchronizationMessage", (SynchConfig)config, msgPropMap);
Flow configuration:
<flow name="synchronizationClient">
<vm:inbound-endpoint path="synchronizationMessage" exchange-pattern="one-way" >
</vm:inbound-endpoint>
<outbound-endpoint
address="http://#[header:INBOUND:SERVICE_HOST]/#[header:INBOUND:SERVICE_CONTEXT]IdentitySynchWebService" exchange-pattern="request-response" >
<cxf:jaxws-client serviceClass="org.openiam.idm.srvc.synch.ws.IdentitySynchWebService" operation="startSynchronization" >
</cxf:jaxws-client>
</outbound-endpoint>
</flow>
<model name="IdentitySynchServiceModel">
<service name="IdentitySynchWebService">
<inbound>
<inbound-endpoint address="${webservice.path}IdentitySynchWebService" exchange-pattern="request-response">
<cxf:jaxws-service />
</inbound-endpoint>
</inbound>
<component>
<spring-object bean="synchServiceWS" />
</component>
</service>
</model>
*Error:*
org.apache.cxf.interceptor.Fault: Could not send message to Mule.
at org.mule.module.cxf.transport.MuleUniversalConduit$2.handleMessage(MuleUniversalConduit.java:191)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:247)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:516)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:322)
at org.mule.module.cxf.CxfOutboundMessageProcessor.doSendWithClient(CxfOutboundMessageProcessor.java:234)
at org.mule.module.cxf.CxfOutboundMessageProcessor.process(CxfOutboundMessageProcessor.java:127)
....
Caused by: org.mule.api.transport.DispatchException: Failed to route event via endpoint: org.mule.endpoint.DynamicOutboundEndpoint@5c5f3b. Message payload is of type: PostMethod
at org.mule.transport.http.HttpClientMessageDispatcher.execute(HttpClientMessageDispatcher.java:152)
at org.mule.transport.http.HttpClientMessageDispatcher.doSend(HttpClientMessageDispatcher.java:260)
at org.mule.transport.AbstractMessageDispatcher.process(AbstractMessageDispatcher.java:80)
at org.mule.transport.AbstractConnector$DispatcherMessageProcessor.process(AbstractConnector.java:2452)
at org.mule.module.cxf.CxfOutboundMessageProcessor.processNext(CxfOutboundMessageProcessor.java:151)
at org.mule.module.cxf.transport.MuleUniversalConduit.processNext(MuleUniversalConduit.java:346)
at org.mule.module.cxf.transport.MuleUniversalConduit.dispatchMuleMessage(MuleUniversalConduit.java:246)
... 38 more
Caused by: java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:129)
2011-02-15 23:28:20,279 ERROR [org.mule.exception.DefaultServiceExceptionStrategy]
********************************************************************************
Message : Failed to route event via endpoint: org.mule.endpoint.DynamicOutboundEndpoint@5c5f3b. Message payload is of type: PostMethod
Code : MULE_ERROR-42999
--------------------------------------------------------------------------------
Exception stack is:
1. Read timed out (java.net.SocketTimeoutException)
java.net.SocketInputStream:-2 (null)
2. Failed to route event via endpoint: org.mule.endpoint.DynamicOutboundEndpoint@5c5f3b. Message payload is of type: PostMethod (org.mule.api.transport.DispatchException)
org.mule.transport.http.HttpClientMessageDispatcher:152 (http://www.mulesoft.org/docs/site/current3/apidocs/org/mule/api/transport/DispatchException.html)
--------------------------------------------------------------------------------
Root Exception stack trace:
java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:129)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
+ 3 more (set debug level logging or '-Dmule.verbose.exceptions=true' for everything)
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email
Is there something that I am doing wrong in the way that I am using the mule client or the configuration of my flows? I am using mule 3.1
How can I troubleshoot this.
thanks
Thanks!