Integration Server 10.15 | Web Services Developer’s Guide | Transient Error Handling for Provider Web Service Descriptors | Transient Error Handling for an Operation Invoked via SOAP over HTTP
 
Transient Error Handling for an Operation Invoked via SOAP over HTTP
The following table describes how Integration Server handles transient errors for an operation in a provider web service descriptor when the following items are true:
*The service used as the operation contains logic to catch and wrap a transient error and re-throw it as an ISRuntimeException.
*The web service is invoked via SOAP over HTTP or HTTPS.
Note:Integration Server ignores any transient error handling properties configured for the service handlers. Integration Server does not perform any transient error handling for handler services. The handler services need to be coded to handle any errors or exceptions that may occur and return the appropriate status code. For more information about request handlers and status codes, see About Handlers and Handler Services
Note:
Any provider web service descriptor for which the Pre-8.2 compatibility mode property is set to true functions like an In-Out operation.
Step
Description
1
Integration Server receives the message from the web service client.
2
Integration Server uses the endpoint URL, SOAP message header, and/or the contents of the message to route the message to the correct provider web service descriptor and operation. For more information about Integration Server determines which operation to invoke, see Determining the Operation for an HTTP/S Request.
3
Integration Server executes the request handler services assigned to the provider web service descriptor.
One of the following occurs:
*If the request handlers execute successfully (all handlers return a status of 0), Integration Server continues to step 4.
*If a request handler ends in failure and returns a status of 1, 2, or 3, Integration Server suspends execution of the handler chain. The status code returned by the handler service determines what action Integration Server takes next. However, Integration Server considers web service execution to be complete at this point.
*If Integration Server throws an exception that is not caught or handled by the request handler service, Integration Server proceeds as if the request handler returned a status code of 2. Integration Server considers web service execution to be complete at this point.
For more information about request handlers and status codes, see About Request Handler Services.
4
If the service executes successfully, Integration Server does one of the following based on the operation MEP:
*For an In-Only operation, Integration Server considers web service execution to be complete.
*For a Robust In-Only operation, Integration Server considers web service execution to be complete.
*For an In-Out operation, Integration Server executes the response handlers and sends a SOAP response to the web service client. Integration Server considers web service execution to be complete.
5
If the service fails because of a ServiceException, Integration Server logs the ServiceException to the error log and then does one of the following:
*For an In-Only operation, Integration Server considers web service execution to be complete.
*For a Robust In-Only operation, Integration Server creates a SOAP response that contains the SOAP fault which, in turn, contains the ServiceException. Integration Server executes the response handlers and sends a SOAP response to the web service client. Integration Server considers web service execution to be complete.
*For an In-Out operation, Integration Server creates a SOAP response that contains the SOAP fault which, in turn, contains the ServiceException. Integration Server executes the response handlers and sends a SOAP response to the web service client. Integration Server considers web service execution to be complete.
6
If the service fails because of an ISRuntimeException and the service used as the operation has a Max retry attempts set to 1 or greater, Integration Server re-executes the service. Integration Server continues to re-execute the service until the service executes to completion or Integration Server makes the maximum retry attempts.
7
If Integration Server makes the final retry attempt and the service fails because of an ISRuntimeException, retry failure occurs. Integration Server treats the last service failure as a ServiceException. Integration Server logs the ServiceException to the error log and then does one of the following:
*For an In-Only operation, Integration Server considers web service execution to be complete.
*For a Robust In-Only operation, Integration Server creates a SOAP response that contains the SOAP fault which, in turn, contains the ServiceException. Integration Server executes the response handlers and sends a SOAP response to the web service client. Integration Server considers web service execution to be complete.
*For an In-Out operation, Integration Server creates a SOAP response that contains the SOAP fault which, in turn, contains the ServiceException. Integration Server executes the response handlers and sends a SOAP response to the web service client. Integration Server considers web service execution to be complete.