I have a built-in service (pub.db:execSQL) for which I’ve set a timeout period of 30 seconds. My understanding was that if the service does not execute within that 30 seconds, an Exception is thrown by that service. However, I am finding that pub.db:execSQL does not time out. Any ideas?
Wallace - Thanks for your thoughts. It would seem though that timeouts are allowed since many of the flow steps (like BRANCH, LOOP, INVOKE, MAP, etc.) have “timeout” as an optional property.
What’s happening in our scenario is that we are intentionally sending bad SQL to Oracle (to test Exception handling in a transaction). Instead of returning a SQLException, Oracle seems to be locking the table I want to update and never returning control back to my wM service. When this happens, I want my wM service to time out and raise an Exception after a configurable amount of time. This is not happening.
I’m guessing that someone in wmUsers has run into this scenario and may be able to shed some light. Thanks in advance.
Although it is expected that the timeout parameter would actually timeout a particular flow step, it does not work that way. According to a FAQ on webMethods support website(see below), the process will throw a time-out exception only after the flow service completes. Hung sessions are not timed-out.
I too am pretty disappointed with this unexpected timeout behaviour but there are other suggestions on this site (search for timeout) to attempt to overcome this.
Timing out a flow service
Article ID: 1611021662
Quick Access URL: [url=“http://advantage.webmethods.com/article?id=1611021662”]http://advantage.webmethods.com/article?id=1611021662[/url]
Q I have set the timeout property on an invoke step in my flow. But the service never times out and always runs to completion.
A This is working as designed. The timeout setting will not cause the service to halt execution. It will only throw a timeout exception after the service finishes execution.