INVOKE timeout does nothing

I was very surprised to read this on the advantage wishlist forum. So I thought I’d share it here. Quoting the original poster:

Posted By: ukroener.10139
Subject: Flow steps: INVOKE to be interruptable

The B2B Integrator / Developer enables programmers to write flow steps that can be limited in their invocation time. One fills in the “timeout” value with a variable or value, and if the flow step exceeds the timeout, an exception is thrown.

So far, so good. But there is no way to interrupt a hanging flow step, for instance one written in Java.

The B2B Server documentation reads:

“However, the invoke step is not interrupted when the timeout value is exceeded. Instead, the exception is raised after the INVOKE is complete.”

This makes the timeout next to useless in some very interesting cases. For instance, the built-in FTP library sometimes hangs our services, and the SMTP library can do the same thing.

And this seems to tie in to the discussion last week about Thread Management (i.e. how to kill threads).

Thanks for posting this, Sonam.