CloudStreams 10.5 | webMethods CloudStreams | Administering webMethods CloudStreams | Virtual Services | Creating a New Virtual Service (REST) | The Error Sequence Step (REST)
 
The Error Sequence Step (REST)
CloudStreams returns a default fault response to the consuming application, which you can customize with context variables. This fault response is used for faults returned by the native service provider as well as faults returned by internal CloudStreams exceptions, such as policy violation errors, connection timeouts, etc. In addition, you can:
*Choose whether or not to send the native service provider's service fault content, or just send the response message.
*Invoke IS services to pre-process or post-process the error messages.
You use this step to configure error messaging for each virtual service individually. If you want to configure global error responses for all virtual services, set the Service Fault Configuration options, which are located in the Integration Server Administrator (go to Solutions > CloudStreams > Administration > Service Fault Configuration). For details, see Setting the Service Fault Configuration Options.
*To configure the Error Sequence step (REST)
1. Open Software AG Designer and display the CloudStreams Development perspective by clicking Window > Open Perspective > Other > CloudStreams Development.
2. In the CloudStreams Governance view, expand your CloudStreams Governance project and click the virtual service name.
3. Expand Error Sequence.
4. Click Error Messaging and complete the fields in the General page in the Properties view as follows.
Option
Description
Name
You can optionally change the step name to any other name. There are no naming restrictions.
Type
(Read-only field.) Error Messaging.
Error Message
Select one or both of the following options:
Custom Failure Response Message: When you select this option, CloudStreams returns the following fault response to the consuming application:
CloudStreams encountered an error:$ERROR_MESSAGE while executing operation:$OPERATION service:$SERVICE at time:$TIME on date:$DATE. The client ip was:$CLIENT_IP. The current user:$USER. The consumer application:$CONSUMER_APPLICATION".
Note:
When $CLIENT_IP is used, CloudStreams will replace $CLIENT_IP with the IP address of the client. For privacy concerns or to be in compliance with General Data Protection Regulation (GDPR), delete the "The client ip was:$CLIENT_IP." string.
This fault response is returned in both of the following cases:
*When a fault is returned by the native service provider.
In this case, the $ERROR_MESSAGE variable in the fault response will contain the message produced by the provider's exception that caused the error. This is equivalent to the getMessage call on the Java Exception. For REST service calls, the message is returned inside an </Exception> tag. If the response is XML, the message is returned inside <Exception>'custom message'</Exception>. If the response is JSON, it will be returned inside {"Exception":"Invalid response"}. CloudStreams discards the native service provider's fault and does not return this content to the web service caller since it could be considered a security issue, especially if the native provider is returning a stack trace with its response.
*When a fault is returned by internal CloudStreams exceptions (policy violation errors, cloud connection errors and cloud connector service errors).
In this case, the $ERROR_MESSAGE variable will contain errors generated by CloudStreams.
The default fault response contains predefined fault handler variables ($ERROR_MESSAGE, $OPERATION, etc.), which are described in The Fault Handler Variables.
You can customize the default fault response using the following substitution variables, where CloudStreams replaces the variable reference with the real content at run time:
*The predefined context variables listed in The Predefined Context Variables.
*Custom context variables that you declare using the CloudStreams API (see The API for Context Variables).
Note:
If you want to reference a custom context variable that you have already defined in a context-based routing rule (as opposed to one you have declared using CloudStreams API for context variables), then you must add the prefix $mx to the variable name in order to reference the variable. For example, if you defined the variable TAXID, you would reference it as $mx:TAXID.
Native Provider Fault: When you select this option, CloudStreams sends the native service provider's service fault content, if one is available. CloudStreams will send whatever content it received from the native service provider.
If you select this option, the Custom Failure Response Message is ignored when a fault is returned by the native service provider. (Faults returned by internal CloudStreams exceptions will still be handled by the Custom Failure Response Message option.)
Processing Method
Optionally select either of the following:
*Pre-Processing: Select this option if you want to invoke an IS service to manipulate the response message before the Error Sequence step is invoked. The IS service will have access to the response message context (the axis2 MessageContext instance) before it is updated with the custom error message. For example, you might want to send emails or perform custom alerts based on the response payload. For more information about IS services, see The Invoke IS Service Step (Inbound, REST).
*Post-Processing: Select this option if you want to invoke an IS service to manipulate the service fault after the Error Sequence step is invoked. The IS service will have access to the entire service fault and the custom error message. You can make further changes to the fault message structure, if needed. For more information about IS services, see The Invoke IS Service Step (Inbound, REST).