cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1167
Views
0
Helpful
5
Replies

Service Link timeout

Sean Moreland
Cisco Employee
Cisco Employee

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?

5 Replies 5

derevan
Level 4
Level 4

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.

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 ?

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?

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.

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".

  • At each retry interval, the message is resent automatically. If it still fails to connect to the destination, the Status field stays as "Scheduled for Retry" and the Status Text field stays as "Message Routing Exception".  When the user clicks the "Message Routing Exception" link, he can see the exception in the popup view.
  • The process is repeated at each retry interval.  If the maximum number of retry is reached, then the Status field for the transaction is set to "Failed", and there is no more retry.  The Status Text field stays as "Message Routing Exception".  When the user clicks the "Message Routing Exception" link, he can see the exceptions for ALL of the failed attempts.
  • If one of the retries is successful, the Status field for the transaction is changed to "Completed", and the Status Text field is changed to "Message sent".
  • The retry can only be set on the adapter level, not on individual agents.  That means, if you use the HTTP/WS adapter to integrate with CPO and some HR system, and you turn on retry, Service Link will retry the messages to both CPO and the HR system, which can have unintended effect on the HR system.   In most cases when CPO is used, the integration is done through CPO only, so turning on the retry should not affect other agents.

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.

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: