Predefined Services

In this section:

Reference:

iWay Service Manager includes predefined services that you can use as part of your business logic when configuring services. This section lists and describes these services.


Top of page

x
Reference: List of Supplied Services

The following table lists and describes predefined services supplied with iWay Service Manager.

Service

Description

com.ibi.agents.XDCopyAgent

Returns an input document to an output destination.

com.ibi.agents.XDSnipAgent

Copies a subtree of the input document to the root of the output document.

com.ibi.agents.XDTransformAgent

Performs general transformations.

com.ibi.agents.EvalWalk

Examines the tree, replacing SREG values.

com.ibi.agents.XDBase64Agent

Encodes to, or decodes from, base64 representation.

com.ibi.agents.XDColAgent

Generates a column format of the iWay reply document.

com.ibi.agents.XDEntagAgent

Creates XML tags for data.

com.ibi.agents.XDFailAgent

Generates an artificial exception.

com.ibi.agents.XDFieldAgent

Generates a column-named format for an iWay reply document.

com.ibi.agents.XDFileReadAgent

Reads the contents of files.

Note: The available options for XDFileReadAgent's Input Data Format are Flat and XML. These options are mutually exclusive, with Flat used by default. If you select XML as the Input Data Format, you should not specify an enclose tag. If XML is selected, and an enclose tag is specified, the tag will be used along with a flat input data format, instead of XML.

com.ibi.agents.XDHTTPReadAgent

Retrieves HTTP input.

com.ibi.agents.XDJdbcAgent

Uses an iWay request to drive a named JDBC adapter.

com.ibi.agents.XDMailAttachAgent

Adds an e-mail attachment to the base document. For more information, see XDMailAttachAgent Parameters.

com.ibi.agents.XDMQReadAgent

Reads a single record from an MQSeries queue. For more information, see XDMQReadAgent Parameters.

com.ibi.agents.XDAQEmitAgent

Emits a document using Oracle AQ. For more information, see XDAQEmitAgent Parameters.

com.ibi.agents.XDEmailEmitAgent

Sends e-mail output. For more information, see XDEmailEmitAgent Parameters.

com.ibi.agents.XDFileEmitAgent

Writes file output. For more information, see XDFileEmitAgent Parameters.

com.ibi.agents.XDFTPEmitAgent

Puts FTP output on the destination site. For more information, see XDFTPEmitAgent Parameters.

com.ibi.agents.XDPFFTPOpsAgent

Performs FTP operations on input.

com.ibi.agents.XDPFFTPReadAgent

Gets FTP input.

com.ibi.agents.XDHTTPEmitAgent

Posts HTTP output. For more information, see XDHTTPEmitAgent Parameters.

com.ibi.agents.XDJMSQEmitAgent

Emits JMS output.

com.ibi.agents.XDMQEmitAgent

Enqueues MQSeries output. For more information, see XDMQEmitAgent Parameters.

com.ibi.agents.XDMSMQEmitAgent

Enqueues MSMQ output.

com.ibi.agents.XDSonicEmitAgent

Emits SONIC output.

com.ibi.agents.XDTIBRVEmitAgent

Emits TIBCO Rendezvous output.

com.ibi.agents.XDPrintEmitAgent

Prints output.

com.ibi.agents.XDQAAgent

Provides a tree of the output document.

com.ibi.agents.XDSQLAgent

Generates an iWay reply document.

com.ibi.agents.XDStandardAgent

Generates an iWay reply document in row format.

com.ibi.agents.XDTCPEmitAgent

Emits TCP output.

com.ibi.agents.XDTelnetAgent

Processes Telnet documents using the JDBC driver.

com.ibi.agents.XDXMLExtract

Uses an XPath expression to get a node list and produce a subtree.

com.ibi.agents.XDETLAgent

Returns messages from an SQL request that fall into a supplied range.



x
Specifying Property Values for a Supplied Service

The following image is an example of the configuration pane for an SQL service. For a complete list of the parameter fields with descriptions, see XDSQLAgent Parameters.

An SQL service differs from the more complete RDBMS service and adapters in that it does not interrogate an iWay response document to obtain its SQL; instead it accepts the SQL as a configuration property and modifies the statement based on the current document or environment.

The SQL expression can be modified during execution by standard iWay parameter expressions.


Top of page

x
Reference: XDSQLAgent Parameters

The following table lists and describes XDSQLAgent parameters.

Parameter Name

Description

SQL DML

SQL expression to be executed. The expression can contain substitution parameters at any point in the form ?name, where name is a user-defined parameter. There is no limit to the number of parameters or their location in the statement; the statement must, however, represent properly formed SQL. For example, assume that a document arrives with an element /root/req/keyval with the value abc. If the following statement

SELECT X, Y FROM FILE1 WHERE FILE1.KEY='?keyfield';

is to be executed, where keyfield is a user-defined parameter that is set to

XPATH(/root/req/keyval)

the result is to execute:

SELECT X,Y FROM FILE1 WHERE FILE1.KEY='abc';

If the value returned from the evaluation of the user-defined parameter is null, the statement to be executed is:

SELECT X,Y FROM FILE1 WHERE FILE1.KEY IS NULL;

If the expression held the phrase WHERE FILE1.KEY != '?keyfield', the expression would be modified to:

SELECT X,Y FROM FILE1 WHERE FILE1.KEY IS NOT NULL;

Literal quotation marks surrounding a property reference that evaluates to NULL are removed, if present. Literal quotation marks surrounding a value selected by the parameter substitution are removed, and contained quotation marks are escaped.

Substitution literals surrounded by single quotation marks or containing single quotation marks are also managed. For more information, see Substitutions for ...where key='?value'.

Output Format

The format of the output can be ROW, COLUMN, or FIELD, as defined for the standard JDBC service.

Transaction Isolation Level

For information on locking, see your database documentation. Available options are asis, readUncommitted, readCommitted, repeatableRead, and serializable.

Pool Connections

True or False. If true, all connections are pooled by URL. Enables the first connection to the URL to be shared by subsequent uses of the SQL Agent that use the same URL. Appropriate for SELECT, but may not be appropriate for SQL statements that require commit. False is the default.

Attempt Read Only

True or False. If true, for SELECT statements, set JDBC 'read only' flag. Some drivers cannot handle this optimization and may report security failures. False is the default.

Connection Properties

Properties of the connection. You can configure these properties through the Data Server Properties window. For more information, see Configuring General Properties Using the Console.

Need Commit

True or False. Set if the SQL executed modifies the data table(s). In this case, pooling performed in response to the Pool Connections setting is on the worker level. Makes the connection serial, enabling the system to maintain proper commit scopes. This property affects only pools; SQL statements other than SELECT are always committed.

Note: If configured, this service participates in iWay server transaction management.

Max Rows

Maximum number of rows to be returned for a select DML statement. To return all rows, use 0. If the statement returns more rows than the maximum, the remainder will not be part of the response document. These rows can, however, be appended as sibling documents as explained in "Make Siblings."

Make Siblings

True or False. A sibling is a complete document that "tags along" with another document. In the case of the SQL Agent, each sibling carries the max rows number of response rows. Although subsequent agents or process flow services can only access the first (main) document, the other can be passed to the same emitters as the main document. This allows, for example, the storing of each of the extracted documents to the file system. Although many agents carry the siblings forward and most protocols can properly deal with siblings, it is not guaranteed that all will do so. iWay Software recommends that when siblings are used, the SQL agent be configured immediately prior to configuring an emitter.

Max Siblings

Maximum number of siblings to be added to the returned rows, if Make Siblings is selected.

Emit No Empty

True or False. If true, empty documents are not emitted.

Issuance Strategy

Choose whether to issue data through SQL construction or SQL bind.

Reply Node Name

If entered, response is put at this fully qualified named node.

Base 64 if Needed

True or False. If true, all fields are checked for base64.

Note: This has a negative impact on performance.

JDBC Driver

Name of the JDBC driver to use to reach the data. The proper name for the iWay driver is:

ibi.jlink.EdaDriver

As a convenience, the name "iway" loads this driver.

Data Source URL

URL to reach the data source through JDBC. The URL for the iWay driver is:

jdbc:eda://host:port;server=edaserve 

When connecting to an iWay Full Function Server, the port in most cases is 8100. To add tracing for the iWay driver, add the attributes:

trace=1234; tracefile=filename

User ID

User ID if the ID is not derived from another source (Connection Properties).

Password

Password if the password is not derived from another source.



Example: Substitutions for ...where key='?value'

To represent a ? in a literal, use an escaped character of \?.

Exercise caution when using expressions with conditional predicates other than equal and not equal. Substitution of the NULL in such cases is undefined.

The following table shows examples of substitutions for ...where key='?value'.

Value Returned

Becomes

Reason

Null (not found)

where key is null

Null values modify the phrase.

iway

where key = 'iway'

Simple substitution.

'iway'

where key = 'iway'

Surrounding literals are removed.

O'Toole

where key = 'O''Toole'

Interior quote is escaped.

'O'Toole'

where key = 'O''Toole'

Interior and surrounding quotes are handled.



x
Reference: XDMailAttachAgent Parameters

The following table lists and describes XDMailAttachAgent parameters.

Parameter Name

Description

Attachment Tag (required)

Name of the tag identifying the attachment. Attachment is the default.

Encode

True or False. Use when TYPE=DOCUMENT is specified. Indicates whether the original attachment is base64 encoded (True) in the original document. False is the default.

Target

Format of the attachment output. Document indicates that the original attachment is placed in the body of the document and passed to the business logic. File indicates that the attachment is stored in a file. File is the default.

Output Directory

Directory path to the location where attachment files are stored (for example, C:\attach).

Output File Name

Standard iWay Service Manager pattern with which the attachment is stored; # and * are supported. For example, for the value JONES#, the first file is stored as JONES1, the second as JONES2, and so on.

Delete Mail Object

True or False. If true, no other component requires the mail object. True is the default.



x
Reference: XDMQReadAgent Parameters

The following table lists and describes XDMQReadAgent parameters.

Parameter Name

Description

Manager (required)

(Case-sensitive) Name of the queue manager that controls the queues.

Queue name (required)

(Case-sensitive) Name of the queue where request documents are received. (Queues are named message repositories upon which messages accumulate until they are retrieved by programs that service those queues. Queues are managed by a queue manager.)

Correlation ID

Correlation ID on which to filter. The correlation ID is set in the MQSeries header. Unless a base64() function is used in the correlation ID, the search correlation ID is assumed to be a Unicode string correlation ID. This follows the current rules for correlation ID in the rest of the system.

MQ host

Host on which the MQ Server is located (MQ client only).

MQ port

Number to connect to an MQ server manager queue (MQ client only). 1414 is the default port number.

Channel

(Case-sensitive) Name of the channel that connects with the remote MQ server queue manager. The default channel name for MQSeries is SYSTEM.DEF.SVRCONN.

Timeout

Number of seconds to stay connected to the MQSeries queue awaiting receipt of a message.

Browse

True or False. If true, operation is Browse only (non-transactional). False is the default.



x
Reference: XDAQEmitAgent Parameters

The following table lists and describes XDAQEmitAgent parameters.

Parameter Name

Description

Host (required)

Network name of the machine where the target system resides.

Port (required)

Service port that Oracle uses to exchange messages.

Queue Table (required)

Database table used to manage queues.

Queue (required)

Queue used to receive documents.

Service Name (required)

Name of Oracle database service.

User Name (required)

User name with access to the target system.

Password

Password associated with the user name.

Preemitter

True or False. If true, preemitters will not be used. True is the default.

Queue Owner

The schema that the queue belongs to.

Return Document

Status or Input. If status is selected, a document is returned that indicates the status of the transmission. If input is selected, the original input document is returned. Status is the default.



x
Reference: XDEmailEmitAgent Parameters

The following table lists and describes XDEmailEmitAgent parameters.

Parameter Name

Description

Outgoing Mail Host (required)

Outgoing e-mail host used to route outgoing e-mail.

To (required)

Recipient of the message, as an e-mail address. Use “;” to separate e-mail addresses.

Subject of Msg

Subject of this message.

Sender address

Sender of this e-mail.

Copy To

Recipient of a copy of this e-mail.

Blind Copy To

Recipient of a blind copy of this e-mail.

Reply-to

Address to reply to, for this e-mail.

Content

Data for the body of the e-mail. Default (blank) means to use the inbound document.

Attachment Tag

Name of XML tag that holds a path to a file to be attached.

Add As Attachment

True or False. If true, the inbound document is treated as an attachment. The document attachment name is then required. False is the default.

Document Attachment Name

Name of the inbound document attachment.

Attachment Content Type

Type of attachment.

User ID

Valid user ID for log on to the SMTP host server.

Password

Valid password for authenticating the SMTP user ID.

Content Type

Type of data in the content.

Return

Status or Input. If status is selected, a document is returned that indicates the status of the transmission. If input is selected, the original input document is returned. Status is the default.

Security Protocol

Select the security level from the drop-down list. None clears SMTP connection. SSLv2 - SMTPS connects to a secure SMTP server. STARTTLS connects to an unsecured SMTP server, then negotiates SSL/TLS connection. None is the default.



x
Reference: XDFileEmitAgent Parameters

The following table lists and describes XDFileEmitAgent parameters.

Parameter Name

Description

Target Directory (required)

Directory to which the file is to be written.

File Pattern (required)

File name pattern. In a pattern, a * character is replaced by the current timestamp. T*.out might become T2002-06-25_12:02:24:43.out. A # creates a unique number. The number of # characters controls the length.

Value to Emit

Specific value (usually xpath( )) to emit to file. If omitted or empty, input document is emitted.

Base64 Decode

True or False. If true, the value is assumed to be in base64 notation. Only applicable if a specific write value is specified. False is the default.

Avoid Preemitter

True or False. If true, preemitters will not be used. True is the default.

Return

Status or Input. If status is selected, a document is returned that indicates the status of the transmission. If input is selected, the original input document is returned. Status is the default.



x
Reference: XDFTPEmitAgent Parameters

The following table lists and describes XDFTPEmitAgent parameters.

Parameter Name

Description

Host Name (required)

Host name of FTP target.

Remote Port

Integer port number.

User Name (required)

Valid user ID for the host system.

Password (required)

Password associated with the user ID.

Account Name

Valid account on the FTP server.

Remote Site Folder (required)

Directory on the host system to receive the output.

File Pattern (required)

File name pattern. In the pattern, a * character is replaced by the current timestamp.

Append

True or False. If true, append on PUT if destination file exists. False is the default.

Retry Interval

Maximum number of times to retry. 0 is the default value.

Connection Retry

If the FTP system cannot be reached, time to wait (in seconds) before retrying.

Quote Command

The entered command is sent as typed, BEFORE any data transfer.

Transfer Mode

ASCII or Binary. Select the form of FTP transmission.

Put File Protection

True or False. If true, the PUT is protected by a rename of a temporary file name. False is the default.

Return

Status or Input. If status is selected, a document is returned that indicates the status of the transmission. If input is selected, the original input document is returned. Status is the default.

Uses PASV command if true, otherwise uses PORT command

True or False. If true, PASV command is used. False is the default.



x
Reference: XDHTTPEmitAgent Parameters

The following table lists and describes XDHTTPEmitAgent parameters.

Parameter Name

Description

Target Url (required)

URL to which to post this information.

Action Method

GET or POST. Select GET (with data on the URL and URL encoded) or POST (with a content length header). POST is the default.

Response Content Type

Overrides the content type of the response. Available options are application/EDI-X12, application/EDIFACT, application/XML, text/html, and text/plain.

User ID

User ID for Basic Authentication challenges.

Password

Password associated with the user ID.

Response Timeout value in seconds

Time (in seconds) to wait for response before signalling an error.

IP Interface Host

Local IP Interface from which the outgoing IP socket originates.

IP Interface Port

Local IP Port from which the outgoing IP socket originates.

Relay Inbound Content Type

True or False. If true, relay headers are received as content type. False is the default.

Proxy

True or False. If true, emit through proxy server. False is the default.

Proxy URL

URL of the proxy server.

Proxy User ID

User ID for the proxy server.

Proxy Password

Password for the user ID.

Secure Connection

True or False. Use a secure connection. If client authentication is required, configure the keystore under the HTTPS section of the system properties, and ensure it has the CA or client certificate of the server it is connecting to. If keystore is not configured in system properties, then the default truststore located under JRE_HOME/lib/security/cacerts will be used. False is the default.

Use 128-bit Encryption

True or False. If true, 128-bit encryption is used. False is the default.

Security Protocol

From the drop-down list, select from the following:

SSL: Supports one version of SSL; may support other versions.

SSLv2: Supports SSL version 2 or higher.

SSLv3: Supports SSL version 3; may support other versions.

TLS: Supports one version of TLS; may support other versions.

TLSv1: Supports TLS version 1; may support other versions.

TLS is the default.

Return

Input, Response, or Status. Determines what is returned from this agent. Response is the default.

Use Preemitters

True or False. If true, preemitters are used for this emit. True is the default.

Response Wrapper Tag

Tag name with which to wrap the response if the response is non-XML and must be XML.

Response Base64 Encoded

True or False. If true, the response must be base 64 encoded. False is the default



x
Reference: XDMQEmitAgent Parameters

The following table lists and describes XDMQEmitAgent parameters.

Parameter Name

Description

Manager (required)

Name of the local MQSeries queue manager to use.

Queue Name (required)

Queue on which request documents are received.

Correlation ID

The correlation ID linking messages.

Correlation ID tag

The XML tag at which the correlation ID is located.

MQ Host

The MQ host, required if using MQ client.

MQ Port

The MQ port, required if using MQ client. 1414 is the default.

Channel

The MQ server channel, required if using MQ client. SYSTEM.DEF.SVRCONN is the default.

Delivery

Request confirmation of delivery. Available options are none, nodata, partial data, and full data.

Arrival

Request confirmation of arrival. Available options are none, nodata, partial data, and full data.

Report Queue

The name of the report queue; required if COA or COD is requested or msgtype is response.

Priority

Priority of message (can be specified as XPATH()). 3 is the default.

Format

Name of MQ message format. STRING is the default.

Type

Name of MQ message type. Available options are datagram, request, and response.

Message persistence

Message persistence. Available options are queue, persistent, and non-persistent. Default is as defined for the queue.

Expiry

An expiry time expressed in tenths of a second. Unlimited is the default.

MQ Character set

MQ Character set; default as per queue manager.

Attributes

True or False. Include user attributes in emitted document.

Preemitter

True or False. If true, you do not want to use preemitters. True is the default.

Return Document

Status or Input. If status is selected, a document is returned that indicates the status of the transmission. If input is selected, the original input document is returned. Status is the default.


iWay Software