10-23-2013 08:20 AM
Does anybody know how to decrease timeout for Service Link Agents when they wait for a response from remote system in outbound http adapter?
There are some situations when Service Link Agent sends outbound xml message to some external system and there is no any response from external system. In this case Service Link task looks like it's stuck.
And after some very long timeout Service Link Agents gets "Message Routing Exception"
So the question is to decrease timeout for this situation? Where can I change it?
10-25-2013 03:53 PM
In your ServiceLink agent definition (Under Manage Integrations), go to the outbound properties for the HTTP adapter and change the default timeout value of 180,000 milliseconds (3 minutes) to a smaller value.
10-28-2013 02:07 AM
Thank you , Derek. I know this parameter. But the question is about very long timeout that can lasts hours. The request can be in status "Ongoing" very long time before it become "failed".
I need to know how to set this very long timeout ?
10-28-2013 05:35 AM
Are you sayting that it can take hours before your agent returns in ServiceLink with a failure of "message routing exception"? That is pretty unusual; usually that error occurs pretty quickly due to a faulty URL or bad credentials (401, 403 and 404 errors). Can you provide further details about the HTTP request and the full exception message? Are you able to see if the request was received by the endpoint and processed at all?
10-29-2013 04:09 AM
Yes. It can take hours before agent returns in ServiceLink with a failure of "message routing exception".
Error from Websphere log:
10/28/13 10:32:57:523 EDT] 00000050 SystemOut O 10:32:57,523 INFO [HttpMethodDirector] I/O exception caught when processing request: The server 10.X.X.X failed to respond
[10/28/13 10:32:57:539 EDT] 00000050 SystemOut O 10:32:57,539 INFO [HttpMethodDirector] Retrying request
And :
[10/28/13 17:30:26:303 EDT] 0000003b SystemOut O 17:30:26,303 ERROR [MessageRouter] routing of message failed
com.newscale.is.adk.exceptions.AdapterException: Connection refused: connect caused by: Connection refused: connect
at com.newscale.is.adapter.http.HTTPOutboundAdapter.processMessage(HTTPOutboundAdapter.java:116)
at com.newscale.is.core.MessageRouter.routeMessage(MessageRouter.java:115)
at com.newscale.is.core.MessageExecutor.processOutboundMessage(MessageExecutor.java:326)
at com.newscale.is.core.MessageExecutor.processMessage(MessageExecutor.java:104)
at com.newscale.is.core.NSMessageReceiver.handleTextMessage(NSMessageReceiver.java:128)
at com.newscale.bfw.jms.JMSListener.onMessage(JMSListener.java:1533)
at com.newscale.bfw.jms.JMSListener.listenWithPollingReceive(JMSListener.java:2016)
at com.newscale.bfw.jms.JMSListener.listen(JMSListener.java:1943)
at com.newscale.is.core.ListenerThread.run(ListenerThread.java:108)
Look It took 5 hours beetwen first request and message routing exception.
Endpoint doesn't see anything coming.
There is some parameter in HTTP Adapter :
Maximum Attempts - it was set to 0/ Maybe it's the root of such long timeout.
I will set it to 10 and will try to test again.
11-01-2013 01:00 PM
Hi Donald,
A ltitle details about "Retry Interval (in milliseconds)" and "Maximum Attempts" settings. This might or might not be useful to you.
When the outbound transaction cannot reach its destination, the Status field is set to "Scheduled for Retry", and the Status Text field is set to "Message Routing Exception".
I agre with Derek, your use case is highly unusual. Typically it does not take that long for the message to fail. This might be something your environment?..
Thanks,
Max.
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide