BLOB parser and domain

The BLOB message domain includes all the messages with content that cannot be interpreted and subdivided into smaller sections of information.

Messages in this domain are processed by the BLOB parser. The BLOB parser is a program that interprets a bit stream or message tree that represents a message that belongs to the BLOB domain. The parser then generates the corresponding tree from the bit stream on input, or a bit stream from the tree on output.

A BLOB message is handled as a single string of bytes, and although you can manipulate it, you cannot identify specific pieces of the byte string using a field reference, in the way that you can with messages in other domains.

You can process messages in the BLOB domain in the following ways:

  • You can refer to the message content if you know the location (offset) of particular information within the message. You can specify offset values in ESQL statements within nodes in a message flow to manipulate the information.
  • You can store the message in an external database, in whole or in part (where the part is identified by the offset of the data that is to be stored).
  • You can use the Mapping node to map to and from a predefined BLOB message, and to map to and from items of BLOB data. The BLOB message cannot be:
    • The message content in a message where Content Validation is defined as Open or Open Defined (for example, the message body of a SOAP envelope)
    • The message represented by a wildcard inside another message
    The UnknownParserName field is ignored.

The BLOB message body parser does not create a tree structure in the same way that other message body parsers do. It has a root element BLOB, which has a child element, also called BLOB, which contains the data.

For example, InputBody.BLOB.BLOB[10] identifies the tenth byte of the message body; substring(InputBody.BLOB.BLOB from 10 for 10) references 10 bytes of the message data starting at offset 10.

If you want to use the BLOB parser to parse a particular message, select BLOB as the Message Domain on the relevant node in your message flow.