Error handling

The FIX data handler responds to configuration, I/O, and data validation errors as described below.

configuration errors

If the data handler child meta-object lacks required values or if the FIX business object does not follow the predefined structure, the data handler throws the following exception:

com.crossworlds.DataHandlers.Exceptions.ConfigurationException 
 

Specifically this exception means that the type property in the attribute application-specific text is not a supported FIX message type and also not one listed in any of the STATIC_LOOKUP_TYPES_LIST configuration files. (See "Configuring the data handler child meta-object".) The connnector catches this exception and logs a fatal error.

I/O errors

A fatal error occurs when any of the java.io classes throws an IOException.

validation errors

The data handler detects data validation errors during FIX-message-to-business-object processing. Data validation errors are detected after the data handler successfully populates a message header business object. The data handler makes use of the message header information to create an error report. However, if a message header business object is not populated properly and does not pass validation, the following exception is thrown: com.crossworlds.DataHandlers.Exceptions.MalformedDataException

This is a fatal error.

The FIX message data is validated against the contents of:

Data validation errors are reported via an error report business object. An error report business object is shipped in the \samples directory. The name of the error report business object is FIXnn_ErrorReport, where nn is the FIX release version. ("ErrorReport" is the value specified in the data handler child meta-object, and can be changed. See "Configuring the data handler child meta-object".)

Note:
For data validation error reporting to function properly, you must create a business process ( a collaboration for ICS adapters) that subscribes to the FIXnn_ErrorReport business object. The business process picks up this business object from the connector, converts it into a reject message, and then sends the reject message to the sender of the FIX message. To create such a collaboration when using ICS as an integration broker, see the Collaboration Development Guide.

Table 20 shows the structure of the error report business object.

Table 20. Error Report business object Structure

Attribute Name AtributeType Comment
Header FIXnn_StandardMessageHeaderCardinality = 1 The header from the message that failed validation
ErrorMsg
String
 
FIX Error Message
ErrorCode
String
 
FIX Error Code
ErrorTag
String
 
Number of the FIX field that failed validation

FIX error codes

The ErrorCode values returned in an error code business object are described in the sections below. For more information on FIX errors, see the the Financial Information Exchange Protocol (FIX) documentation available at:

http://www.fixprotocol.org/cgi-bin/Welcome.cgi

Errors are handled by by the data handler. Table 21 summarizes these errors.

Note:
Error code values 12 and higher are for FIX version 4.3 only. FIX 4.1 defines error message text and does not make use of numeric error codes.

Table 21. FIX error codes

Error Code Description
0 Invalid tag number. Checked by the FIX parser.
1 Required tag missing. Checked by the data handler, after the business object mapping, by the isRequired attribute property.
2 Tag undefined for message type. Checked by the data handler during business object mapping.
3 Tag undefined for message version. Data handler checks this when ErrorCode 2 is detected.
4 Tag specified without a value. Detected by the FIX parser as tag=[SOH]
5 Value is incorrect (out of range) for this tag. The data handler checks the value against those listed in theVALUES=<comma-separated list> application-specific text property of the business object definition. The data handler also checks the value against those in files pointed to by the data handler child meta-object attributes.
6 Incorrect data format for value. FIX stipulates that all formats (int, float, char, UTCDatetime, and so on) except for string and custom be validated. Data of type custom is compared to types listed in the STATIC_LOOKUP_TYPES_LIST attribute of the data handler child meta-object. If the data format cannot be validated, a configuration exception is thrown.
7 N.A.
8
9
10
11 Invalid message type. Detected by data handler using the FIXnnMessages attribute in the data handler child meta-object, which points to a lookup file that contain valid values.
12 XML validation error. Not supported
13 Tag appears more than once. This error does not occur if the data is of the repeating group
14 Tag specified out of required sequence.
15 Repeating group fields are out of order.
16 Incorrect NumInGroup count for repeating group; the NumInGroup value does not match the number of business objects in the corresponding container.
17 Non "data" value includes field delimiter (SOH character)

Copyright IBM Corp. 1997, 2003