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