Extension Invocation
Once a service is defined and the message template is constructed, the extension needs to be configured in OIPA. There are several configurable extension points in OIPA.
Transaction Math Extension (TYPE="PROCESS")
The math extension point relies on creating a new math variable of type PROCESS and setting certain values to initiate the extension call.
Node | Required | Description |
---|---|---|
MathVariable/@VARIABLENAME | Yes | The request variable name |
MathVariable/@TYPE | Yes | Must be "PROCESS" |
MathVariable/@NAMESPACE | Yes | Must be "com.oi.osc" |
MathVariable/@OBJECT | Yes | Must be "MathPlugin" |
MathVariable/@DATATYPE | Yes | Must be "OBJECT" |
Once the call is configured, variables from the current execution can be passed into the plugin. It is important to note that the parameter name specified maps to the name used in the message template. Also, the Parameter element's text maps to the variable name in the transaction.
Node | Required | Description |
---|---|---|
MathVariable/Parameters/Parameter/@NAME | Yes | Defines the variable reference used in the template. |
MathVariable/Parameters/Parameter/@TYPE | Yes | Valid values are INPUT and OUTPUT. |
MathVariable/Parameters/Parameter | Yes | Defines the name of the MathVariable to be passed to the plugin. |
OIPA Variable Datatypes
The message template language provides full support for interacting with complex objects. For this reason, it is highly recommended that arrays and maps be passed directly to the template for manipulation.
The OSC requires three specific parameters be defined in addition to those required for data mapping.
Parameter Name | Parameter Type | Parameter Value |
---|---|---|
service.id | INPUT | The name of service to be invoked. This value corresponds to the id attribute of the <Service> definition. |
returnValue | OUTPUT | The name of a predefined TEXT variable to hold the return value from the service. |
errorValue | OUTPUT | The name of a predefined TEXT variable to hold any possible error value that may be returned from the service. |
Output Values
If any error arises during processing, then the text of the error will be placed in errorValue. The configuration should check to ensure this variable is blank before processing is continued.
Tip : One possible consideration to ensure an OSC call does not go through without the transaction being successfully processed (transaction integrity requirement) is to consider spawning a separate transaction whose primary purpose is to call OSC. This will ensure all post-execution details from the transaction are also available on the OSC call.