The following section provides a comprehensive reference for all the predefined preparsers that are supplied with iWay Service Manager.
Preparser Name |
Class Name |
Streaming? |
Description |
---|---|---|---|
Append |
XDAppend |
No |
Used for appending text to an existing flat file. |
C Char Filter |
CCharFilter |
No |
Eliminates control characters from an incoming message. |
Char Repl |
XDCharRepl |
No |
Performs character replacements in the incoming document. |
CICS |
CICSPreparser |
No |
Converts an incoming legacy flat file (copybook) into an XML file. For more information, see the iWay Transaction Adapter for CICS User's Guide. |
Delimited Value |
XDDelVal |
No |
Delimited value handler. |
Delimited Value Stream |
XDDelValStream |
Yes |
Streamable delimited value handler. |
EDI Batch Splitter |
XDEDIBatchSplitter |
Yes |
Splits a batch of EDI documents. |
EDIFACT |
XDEDIFACTPreParser |
No |
Accepts a % in the template name, which is filled in by message type. |
EDIX12 |
XDEDIpreParser |
No |
After a batch of EDI messages is split, this preparser converts each EDI message into XML format. |
EDIX12 Splitter Preparser |
EDISplitPP |
Yes |
Parses an EDI input file that contains one or more interchanges (ISA) and multiple documents, and creates multiple XML output files. For more information, see the iWay Integration Solution for EDI User's Guide. |
EDIX12 XML Validator |
XDXMLEDIValidator |
No |
Takes EDI XML as input and returns that input with the structural errors section added to be processed by the appropriate rule. |
En Tag |
XDEnTag |
No |
Surrounds the incoming message with a designated tag. |
Error Filter |
ErrorFilter |
No |
Obtains the original input document from the error document. |
Excel |
XDExcelpreParser |
No |
Transforms an Excel worksheet into an XML formatted document. |
Flat Stream |
XDFlatStreamPreParser |
Yes |
Splits non-XML messages that are to be split on a recognized character. |
HIPAA Batch Splitter |
XDHIPAABatchSplitter |
No |
Splits a batch of HIPAA documents. |
HIPAA Preparser |
XDHIPAAPreParser |
No |
Transform a HIPAA document into a HIPAA XML document. |
HIPAA Splitter Preparser |
HIPAASplitPP |
No |
Parses a HIPAA input file that contains one or more interchanges (ISA) and multiple documents, and creates multiple XML output files. For more information, see the iWay Integration Solution for HIPAA User's Guide. |
HTTP |
XDHTTPpreParser |
No |
Transforms a key=value query string into an XML string with the POST action as the root. |
HTTP Multipart |
XDHTTPMultipartPreparser |
No |
Transforms a key=value query string into an XML string with the POST action as the root. |
Inflate |
XDInflate |
No |
Inflates data produced by the deflate preemitter. |
Multi Part |
XDMultiPart |
No |
Divides multipart documents for later use. |
Multi Part for NHTTP |
XDMultiPartForNHTTP |
No |
Divides multipart documents into body and attachments. |
PgpDecrypt |
PGPDecrypt |
No |
Decrypts an incoming message on the channel into the original unencrypted format. |
Safestore |
XDSafestorePreparser |
No |
Stores incoming HTTP messages. By default, messages are written to the disk. |
SOAP |
XDSOAPPreParser |
No |
Accepts SOAP message from any JMS listener. |
SREG Preparser |
XDSREGPreparser |
No |
Sets one or more special registers of a given type. |
SWIFT ACK |
SwiftBPP |
No |
Transforms MT021 Systems Messages to XML-formatted documents. For more information, see the iWay Integration Solution for SWIFT User's Guide. |
SWIFT Batch Splitter |
XDSWIFTBatchSplitter |
Yes |
Splits the input stream and produces groups of byte[]'s as per the predefined splitting logic. For more information, see the iWay Integration Solution for SWIFT User's Guide. |
SWIFT System Message |
XDSWIFTSysMsgPreParser |
No |
Transforms SWIFT User-to -System and System-to-User FIN Format Messages to XML-formatted documents. For more information, see the iWay Integration Solution for SWIFT User's Guide. |
XDSWIFT |
XDSWIFTpreParser |
No |
Accepts a % in the template name, which is filled in by message type. For more information, see the iWay Integration Solution for SWIFT User's Guide. |
XML Split |
XDXMLSplit |
No |
Splits an incoming XML document based on an XPATH value. |
XML Stream |
XDXMLStreamPreParser |
Yes |
Accepts an input file containing multiple XML documents and creates single XML documents from the original input file. |
Syntax:
com.ibi.preparsers.XDAppend
Description:
The Append preparser is used to append text to an existing flat file. This preparser should not be the last in the chain before a route is called. You can use the En Tag preparser to enclose the flat appended text into an XML structure or use iWay Transformer to convert a flat file to XML format.
In a use case scenario, the Append preparser is useful when two flat files need to be appended. However, to convert to XML, an additional preparser such as En Tag should be used in order to process the flat file through the channel.
Parameters:
Parameter | Description |
---|---|
Prefix | Adds text to the head of the incoming document. |
Suffix | Adds text to the tail of the incoming document. |
Example:
The configuration parameters pane opens.
The name and description pane opens.
This Append preparser adds a prefix (test) to the incoming flat document. To convert this document to an XML file, you could use the En Tag preparser.
Syntax:
com.ibi.preparsers.CCharFilter
Description:
The C Char filter preparser is used to remove control characters from an incoming message.
In a use case scenario, the C Char filter preparser can be used when an incoming message is unformatted and contains carriage returns. The C Char filter preparser can remove the carriage return and tab fields before sending it to a message flow for further processing.
Parameters:
Parameter | Description |
---|---|
Linefeed * | Indicates whether linefeed characters (\r) need to be removed. |
Carriage Return * | Indicates whether carriage returns (\n) need to be removed. |
Tab * | Indicates whether tab characters (\t) need to be removed. |
End Of File * | Indicates whether DOS end of file (0x1a) characters need to be removed. |
Bell * | Indicates whether bell (0x07) characters need to be removed. |
Control | |
Replace With * | Indicates whether the removed characters are replaced with a space, period, or none (remove). |
Example:
In the following example, the C Char filter preparser is used to create a list of travel items, which were originally listed in a file separated by a line feed, into a list containing all the items on a single line.
The configuration parameters pane opens.
The name and description pane opens.
suitcase toothbrush travel case comb soap
When this input document is processed by the channel, an output document (for example, travellist_out.txt) is generated with the following contents:
suitcase toothbrush travel case comb soap
Syntax:
com.ibi.preparsers.XDCharRepl
Description:
The Char Repl preparser is used to perform character replacements in an incoming document.
In a use case scenario, if a name is misspelled in an incoming document as ‘Rom’ instead of ‘Tom’, then the character 'R' could be replaced with 'T' in this document. It is analogous to the find and replace function that can be found in most word processing applications.
Parameters:
Parameter | Description |
---|---|
Input * | String of individual characters to replace. |
Replace with * | String of characters to replace input with. |
Example:
The configuration parameters pane opens.
The name and description pane opens.
<a> <t> <b name="rom"> <c>value of input element</c> </b> <b name="rom2"> <c>value of input element</c> </b> </t> </a>
When this input document is processed by the channel, an output XML document is generated with the following contents:
<?xml version="1.0" encoding="ISO-8859-1" ?> <a><t><b name="tom"><c>value of input element</c></b> <b name="tom2"><c>value of input element</c></b></t></a>
Syntax:
com.ibi.preparsers.CICSPreparser
Description:
Converts an incoming legacy flat file (copybook) into an XML file. For more information, see the iWay Transaction Adapter for CICS User's Guide.
Parameters:
Parameter | Description |
---|---|
location | Location of the COBOL data description. |
fullfd * | Determines whether to use data structure information from COBOL. |
fmulti * | Determines whether to accept multiple records in COMMAREA. |
codepage * | Specifies the remote codepage. |
Syntax:
com.ibi.preparsers.XDEnTag
Description:
The En Tag preparser surrounds the incoming message with a designated tag. Optionally, it passes on the incoming message as CDATA to the tag. Additional features allow configuration of attributes including source, message ID, and correlation ID.
In a use case scenario, the En Tag preparser can be used when a flat file needs to be converted into an XML file without changing the format of the flat file (using the entire content of the flat file as is). For instance, if a flat file contained a list of names separated by carriage returns, this preparser can be used to convert the file to XML format.
Parameters:
Parameter | Description |
---|---|
Tag * | Name of the tag used to surround the input. |
Cdata | If set to true, the input is enclosed as a CDATA value. |
Protocol | Determines whether to Include the protocol as an attribute. |
Source | Determines whether to Include the source as an attribute. |
Message ID | Determines whether to Include the message ID as an attribute. |
Correlation ID | Determines whether to Include the correlation ID as an attribute. |
Entity replace | If set to true, the input will be XML entity replaced. |
Base64 | Determines whether the content should be encoded into base64 form. |
Result Form | Specifies the type of output that is required. Select parsable or tree from the drop-down list. |
Call at EOS? | In streaming a last call is made after the last document. Determines whether this service should be called. |
Example:
The configuration parameters pane opens.
The name and description pane opens.
Note: This preparser can also be used in conjunction with the Append preparser to illustrate its use.
When this input document is processed by the channel, the contents are appended and enclosed. The following XML output document is generated:
<?xml version="1.0" encoding="ISO-8859-1" ?><testroot>testappend</testroot>
Syntax:
com.ibi.preparsers.ErrorFilter
Description:
The Error Filter preparser operates on iWay error documents. Error documents are a standard by which iWay Service Manager reports errors back to the user. These documents contain the complete incoming message associated with an error. The preparser extracts the original message and passes it into the system for processing. Messages that are identified as not being error documents are passed along without any modifications.
In a use case scenario, the Error Filter preparser can be used to obtain the original document from an error document if the user needs to retest a component, but does not have the original document.
Example:
The configuration parameters pane opens.
<?xml version="1.0" encoding="ISO-8859-1" ?><eda><error timestamp="2009-05-07T20:55:30Z" source="com.ibi.agents.XDSQLAgent" stage="AGENT">com.microsoft.sqlserver.jdbc.SQLServerException: Invalid column name 'ragv'.<data type="xml"><?xml version="1.0" encoding="ISO-8859-1" ?><test>This is a detag preemitter test </test></data></error></eda>
When this input document is processed by the channel, the following XML output document is generated:
<?xml version="1.0" encoding="ISO-8859-1" ?><test>This is a detag preemitter test </test>
Syntax:
com.ibi.preparsers.XDExcelpreParser
Description:
The Excel preparser transforms an Excel worksheet into an XML formatted document. If required, this preparser uses the header row in the Excel worksheet as XML tags for the data elements.
In a use case scenario, the Excel preparser is useful when data in Excel must be transformed into XML.
Parameters:
Parameter | Description |
---|---|
hasheaders | Determines whether the contents of the first row are the names to be used for subsequent rows. |
Example:
The configuration parameters pane opens.
The name and description pane opens.
Character Use Return type Example | Use | Example |
---|---|---|
y | year | yyyy=2006, yy=06 |
M | Month of year | MM=06, MMM=Jun, MMMM=June |
w | Week in year | 26 |
W | Week in month | 26 |
h | Day in year (Julian) | 26 |
h | Day in month | 26 |
h | Day of week | 26 |
h | Day of week in month | 26 |
Note: The sample Excel document (document2.xls) is attached to this PDF.
The output document [document_out]*.xml will have the following format:
<?xml version="1.0" encoding="ISO-8859-1" ?><workbook><ism.pdf><row><RowNumber>2</RowNumber><Character_Use_Retur n_type_Example>y</Character_Use_Return_type_Example><Use_>year</Use_>< Example>yyyy=2006, yy=06</Example></row><row><RowNumber>3</RowNumber><Character_Use_Retur n_type_Example>M</Character_Use_Return_type_Example><Use_>Month of year</Use_><Example>MM=06, MMM=Jun, MMMM=June</Example></row><row><RowNumber>4</RowNumber><Character_Use_R eturn_type_Example>w</Character_Use_Return_type_Example><Use_>Week in year</Use_><Example>26</Example></row><row><RowNumber>5</RowNumber><Ch aracter_Use_Return_type_Example>W</Character_Use_Return_type_Example>< Use_>Week in month </Use_><Example>26</Example></row><row><RowNumber>6</RowNumber><Charac ter_Use_Return_type_Example>h</Character_Use_Return_type_Example><Use_ >Day in year (Julian) </Use_><Example>26</Example></row><row><RowNumber>7</RowNumber><Charac ter_Use_Return_type_Example>h</Character_Use_Return_type_Example><Use_ >Day in month </Use_><Example>26</Example></row><row><RowNumber>8</RowNumber><Charac ter_Use_Return_type_Example>h</Character_Use_Return_type_Example><Use_ >Day of week</Use_><Example>26</Example></row><row><RowNumber>9</RowNumber><Ch aracter_Use_Return_type_Example>h</Character_Use_Return_type_Example>< Use_>Day of week in month </Use_><Example>26</Example></row></ism.pdf></workbook>
Syntax:
com.ibi.preparsers.XDHTTPpreParser
Description:
The HTTP preparser transforms a key=value query string into an XML string with the GET action as the root. This preparser can be used to construct an XML document with the HTTP parameters that are being passed as a query string. The HTTP preparser can only be used with an HTTP listener.
In a use case scenario, if you need to generate an XML document with the HTTP request parameters, the HTTP preparser can be used to transform the HTTP GET request for a Web application.
Example:
The configuration parameters pane opens.
<html xmlns="urn:schemas-microsoft-com:xslt"> <head> <title>Posting a File</title> </head> <body> <form id ="f" action="http://TestMachine:8080/newproject/postfile60.html" enctype="multipart/form-data"> <input type="file" name="fdata"/> </form> </body> </html>
http://informat-2a8d8e:9984/index.html?value1=4&value2=two
The following output is obtained:
<?xml version="1.0" encoding="ISO-8859-1" ?> <post> <value1>2</value1> <value2>two</value2> </post>
Syntax:
com.ibi.preparsers.XDInflate
Description:
The Inflate preparser inflates data produced by the Deflate preemitter.
An example where the Deflate preemitter could be used is when a large file (for example, 5 MB in size) must be sent by email using an Email emitter. In this scenario, the destination email server does not accept messages that are greater than 3 MB in size. The Deflate preemitter could be used before the Email emitter to send the message in an email. The Inflate preparser could be used once the email is read through an Email listener and subsequently picked up by the Inflate preparser in the channel.
Example:
The configuration parameters pane opens.
The input file for this channel must be a deflated (compressed) document.
Syntax:
com.ibi.preparsers.XDMultiPart
Description:
The Multipart preparser divides multipart documents for later use. This preparser must be last in the chain. When used, the multipart message is divided so that the body of the message is part 0 and subsequent attachments are 1 to n. The multipart object is carried in the XML document (XDDocument) and can be retrieved and interrogated by your own business service to obtain the individual parts for processing. If the body is a MIME type of _/XML, it is parsed and carried as an XML document.
In a use case scenario, an incoming document can consist of an email where specific information from the email message must be extracted, such as the attachment headers and the attachment file name. The Multipart preparser can transform the message into a multipart format that can be used to call functions on the email, such as _attcnt() (attachment count).
Example:
The configuration parameters pane opens.
content-type: multipart/mixed; boundary="----=_Part_5_23514719.1234266657921" content-length: 571 mime-version: 1.0 message-id: <17237217.1234266657984.JavaMail.ksugauchi@kmaruyama> ------=_Part_5_23514719.1234266657921 Content-Type: application/xml Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=a.xml <a>a</a> ------=_Part_5_23514719.1234266657921 Content-Type: text/document Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=b.xml Content-Id: mydata1 <b>b</b> ------=_Part_5_23514719.1234266657921 Content-Type: text/document Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=c.xml Content-Id: mydata2 <c>c</c> ------=_Part_5_23514719.1234266657921-
When this multipart input document is processed by the channel, an output XML document (a#.txt) is generated with the following contents:
<?xml version="1.0" encoding="ISO-8859-1" ?>
Syntax:
com.ibi.preparsers.XDMultiPartForNHTTP
Description:
The Multipart for nHTTP preparser divides multipart documents into body and attachments. This preparser can also be used with a nHTTP listener. This preparser must be last in the chain. When used, the multipart message is broken up so that the body of the multipart message is part 0 and subsequent attachments are 1 to n.
In a use case scenario, the Multipart for nHTTP preparser is useful when the incoming message is a multipart document and the headers and attachment portions of the document need to be extracted from the document for additional message processing.
Parameters:
Parameter | Description |
---|---|
Payload Header Namespace | A special register namespace into which any headers on the extracted body part will be stored as HDR registers. If not supplied, body part headers will be saved in the default namespace. |
Message Header Namespace | A special register namespace where message headers can be found. If not supplied, HDR registers from the default namespace will be used. |
Keep Message Flat | Determines whether to keep the body of the message as an array of bytes. Select true or false from the drop-down list. |
Example:
The configuration parameters pane opens.
The name and description pane opens.
content-type: multipart/mixed; boundary="----=_Part_5_23514719.1234266657921" content-length: 571 mime-version: 1.0 message-id: <17237217.1234266657984.JavaMail.soumya@ibi> ------=_Part_5_23514719.1234266657921 Content-Type: application/xml Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=a.xml <a>a</a> ------=_Part_5_23514719.1234266657921 Content-Type: text/document Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=b.xml Content-Id: mydata1 <b>b</b> ------=_Part_5_23514719.1234266657921 Content-Type: text/document Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=c.xml Content-Id: mydata2 <c>c</c> ------=_Part_5_23514719.1234266657921-
When this input document is processed by the channel, an output document (outmpart*.xml) is generated with the following contents:
<?xml version="1.0" encoding="ISO-8859-1" ?>
Syntax:
com.ibi.preparsers.PGPDecrypt
Description:
The PGP Decrypt preparser decrypts an incoming message on the channel into the original unencrypted format. For more information on how to configure the PGP Decrypt preparser, see the iWay Service Manager Extensions User's Guide.
Syntax:
com.ibi.preparsers.XDSOAPPreParser
Description:
The SOAP preparser accepts a SOAP message from any JMS listener and removes the SOAP portion from the envelope. The preparser then parses the SOAP body by iterating through all child nodes and constructs an XML document (XDDocument), which is used to pass between components in a process flow. For more information on how to configure the SOAP preparser, see the iWay Service Manager Extensions User's Guide
Syntax:
com.ibi.preparsers.XDSREGPreparser
Description:
The SREG preparser sets one or more special registers of a given type.
In a use case scenario, the SREG preparser is useful when the incoming message has variables associated with it and if changes need to be made to the special registers set at a global level, application level, or server level.
Parameters:
Parameter | Description |
---|---|
Type of variable | Type of variable (headers appear in emitted documents as header values). Type del to delete the register. Select one of the following options from the drop-down list:
|
Scope of variable | Determines at what level the variable is defined and therefore controls its life span and visibility. Select one of the following options from the drop-down list:
|
Lock Name | Name of a serialization lock for this set of register operations. |
Call at EOS? | In streaming a last call is made after the last document. Determines whether this service should be called. |
Example:
The configuration parameters pane opens.
The name and description pane opens.
<test/>
iWay Software |