Service Requirements for Retrying a Trigger Service for a webMethods Messaging Trigger
To be eligible for retry, the trigger service must do one of the following to catch a transient error and reissue it as an ISRuntimeException:
If the trigger service is a flow service, the trigger service must invoke
pub.flow:throwExceptionForRetry. For more information about the
pub.flow:throwExceptionForRetry, see the
webMethods Integration Server Built-In Services Reference.
If the trigger service is written in Java, the service can use com.wm.app.b2b.server.ISRuntimeException(). For more information about constructing ISRuntimeExceptions in Java services, see the
webMethods Integration Server Java API Reference for the com.wm.app.b2b.server.ISRuntimeException class.
If a transient error occurs and the trigger service does not use pub.flow:throwExceptionForRetry or ISRuntimeException() to catch the error and throw an ISRuntimeException, the trigger service ends in error. Integration Server will not retry the trigger service.
Adapter services built on Integration Server 6.0 or later, and based on the ART framework, detect and propagate exceptions that signal a retry if a transient error is detected on their back-end resource. This behavior allows for the automatic retry when the service functions as a trigger service.
Note: | Integration Server does not retry a trigger service that fails because a ServiceException occurred. A ServiceException indicates that there is something functionally wrong with the service. A service can throw a ServiceException using the EXIT step. |