Available Services

The following section provides a comprehensive reference for all the predefined services that are supplied with iWay Service Manager.

Service Name

Accumulate EOS Service (com.ibi.agents.XDAccumEOSAgent)

Activity Log Entry Service (com.ibi.agents.XDXALogEvent)

Add Attachment Service (com.ibi.agents.XDAddAttachmentAgent)

Add Attachment From File Service (com.ibi.agents.XDAddAttachmentFromFileAgent)

Add Correl Entry Service (com.ibi.agents.XDAddCorrelEntryAgent)

Alt Route IP Service (com.ibi.agents.XDAltRouteIP)

AQ Emit Service (com.ibi.agents.XDAQEmitAgent)

AS 1 Emit Service (com.ibi.agents.AS1EmitAgent)

AS 2 Emit Service (com.ibi.agents.AS2EmitAgent)

AS 2 Nonblocking Emit Service (com.ibi.agents.XDNAS2EmitAgent)

AS 2 Nonblocking Send MDN Service (com.ibi.agents.XDMDNSendNowAgent)

Attachment Operations Service (com.ibi.agents.XDAttachOps)

Attachment to Document Service (com.ibi.agents.XDAttachmentToDocAgent)

Base64 Operation Service (com.ibi.agents.XDBase64Agent)

C Char Filter Service (com.ibi.agents.CCharFilter)

Catch Service (com.bi.agents.XDCatchAgent)

Channel Information Service (com.ibi.agents.XDChanInfoAgent)

Check Schema Service (com.ibi.agents.CheckSchema)

Constant Service (com.ibi.agents.XDConstantAgent)

Controls Channel Service (com.ibi.agents.XDControlAgent)

Correl Inquiry Service (com.ibi.agents.XDCorrelInquiryAgent)

Correl Inquiry By State Service (com.ibi.agents.XDCorrelInquiryByStateAgent)

Correl Set Inquiry Service (com.ibi.agents.XDCorrelSetInquiryAgent)

Deflate Service (com.ibi.agents.XDDeflateAgent)

Document Update Service (com.ibi.agents.XDDocUpdateAgent)

Document Copy Service (com.ibi.agents.XDCopyAgent)

Document to Attachment Service (com.ibi.agents.XDAttachmentFromDocAgent)

Email Emit Service (com.ibi.agents.XDEmailEmitAgent)

Entag Service (com.ibi.agents.XDEntagAgent)

Execute ETL Service (com.ibi.agents.XDETLAgent)

Fail Service (com.ibi.agents.XDFailAgent)

File Emit Service (com.ibi.agents.XDFileEmitAgent)

File Read Service (com.ibi.agents.XDFileReadAgent)

FTP Emit Service (com.ibi.agents.XDFTPEmitAgent)

FTP Read Service (com.ibi.agents.XDFTPReadAgent)

HTTP Emit Service (com.ibi.agents.XDHTTPEmitAgent)

HTTP Nonblocking Emit Service (com.ibi.agents.XDNHttpEmitAgent)

HTTP Read Service (com.ibi.agents.XDHTTPReadAgent)

Inflate Service (com.ibi.agents.XDInflateAgent)

Insert SAML Assertion Service (com.ibi.agents.XDInsertSAMLAssertionAgent)

Insert WSSE Timestamp Service (com.ibi.agents.XDInsertWSSETimestampAgent)

Insert WSSE Token Service (com.ibi.agents.XDInsertWSSETokenAgent)

Internal Emit Service (com.ibi.agents.XDInternalEmitAgent)

Is Reachable Service (com.ibi.agents.XDIsReachable)

iWay Adapter (com.ibi.agents.XDAdapterAgent)

JDBC Service (com.ibi.agents.XDJdbcAgent)

JMSQ Emit Service (com.ibi.agents.XDJMSQEmitAgent)

Local Master Service (com.ibi.agents.LocalMasterAgent)

Mail Attach Service (com.ibi.agents.XDMailAttachAgent)

Mark Attach Service (com.ibi.agents.XDMarkAttachAgent)

Move Service (com.ibi.agents.XDMoveAgent)

MQ Emit Service (com.ibi.agents.XDMQEmitAgent)

MSMQ Emit Service (com.ibi.agents.XDMSMQEmitAgent)

MTOM Service (com.ibi.agents.XDMTOMAgent)

Node Set Extract Service (com.ibi.agents.XDNodeSetExtractAgent)

P Flow Service (com.ibi.agents.XDPFlowAgent)

P Flow Test Service (com.ibi.agents.XDPFlowTestAgent)

Parse to XML Service (com.ibi.agents.XDToXML)

PF File Ops Service (com.ibi.agents.XDPFFileOpsAgent)

PF File Read Service (com.ibi.agents.XDPFFileReadAgent)

PFFTP Ops Service (com.ibi.agents.XDPFFTPOpsAgent)

PFFTP Read Service (com.ibi.agents.XDPFFTPReadAgent)

Preemitter in Flow Service (com.ibi.agents.XDPreemitAgent)

Print Emit Service (com.ibi.agents.XDPrintEmitAgent)

Protocol Business Services

QA Service (com.ibi.agents.XDQAAgent)

RDB Service (com.ibi.agents.XDRDBAgent)

Route Service (com.ibi.agents.XDRouteAgent)

Rule Router Service (com.ibi.agents.XDRuleRouterAgent)

Run OS Shell Command Service (com.ibi.agents.XDRunCmdAgent)

Security: Authenticate/Impersonate Service (com.ibi.agents.XDPrincipalAgent)

Snip Service (com.ibi.agents.XDSnipAgent)

Sonic Emit Service (com.ibi.agents.XDSonicEmitAgent)

SP Router Service (com.ibi.agents.XDSPRouter)

Split Service (com.ibi.agents.XDSplitAgent)

Split To MQ Service (com.ibi.agents.XDSplitToMQAgent)

SQL Service (com.ibi.agents.XDSQLAgent)

SREG Service (com.ibi.agents.XDSREGAgent)

SREG Insert Service (com.ibi.agents.XDSregInsertToDocAgent)

SREG Namespace Service (com.ibi.agents.XDSREGNamespaceAgent)

SWIFT Out Report Service (com.ibi.agents.SWIFTOutReportAgent)

SWIFT Transform Service (com.ibi.agents.XDSWIFTTransformAgent)

SWIFT Validation Service (com.ibi.agents.XDSWIFTValidationReportAgent)

SWIFT XML Transform Service (com.ibi.agents.XDIWAYSWIFTXMLTransformAgent)

TCP Emit Service (com.ibi.agents.XDTCPEmitAgent)

TIBCO RV Emit Service (com.ibi.agents.XDTIBRVEmitAgent)

Transform Service (com.ibi.agents.XDTransformAgent)

Tree Evaluator Service (com.ibi.agents.EvalWalk)

Update Correl Entry Service (com.ibi.agents.XDUpdateCorrelEntryAgent)

Web Service Client Service (com.ibi.agents.XDWSClientAgent)

X12 Validation Service (com.ibi.agents.XDX12ValidationReportAgent)

XA Log Inquiry By Context Service (com.ibi.agents.XDXALogInquiryByContextAgent)

XA Log Inquiry By Date Service (com.ibi.agents.XDXALogInquiryByDateAgent)

XA Log Inquiry By Partner Service (com.ibi.agents.XDXALogInquiryByPartnerAgent)

XA Log Inquiry By Transaction ID Service (com.ibi.agents.XDXALogInquiryByTIDAgent)

XML Digital Signature Create Service (com.ibi.agents.XDXMLDSigCreateAgent)

XML Digital Signature Verify Service (com.ibi.agents.XDXMLDSigVerifyAgent)

Zip Out Service (com.ibi.agents.XDZipOutAgent)



x
Accumulate EOS Service (com.ibi.agents.XDAccumEOSAgent)

Syntax:

com.ibi.agents.XDAccumEOSAgent

Description:

This service accumulates document pieces and emits a full document at End of Stream (EOS).

Parameters:

Parameter

Description

Final Root *

The name and description of this parameter is derived from viewing XML documents as trees of element objects. A well-formed XML document has exactly one root element (also called document element). When you configure the Accumulate service, the name of the root element for the resulting document must be provided as the parameter. This means that the result of the processing must be enclosed between a root start-tag and a corresponding end-tag with the specified name. The root element of this document tree is serving as a wrapper for the accumulated document parts, combining them into a well-formed XML document. For example:

<Final Root Parameter Value>
   <Accumulated Piece> … </Accumulated Piece>
   <Accumulated Piece> ... </Accumulated Piece>
    …
</Final Root Parameter Value >

Example:

The best application of the Accumulate EOS Service would be to merge the documents produced by the splitter for the final output. The architecture of a sample channel would contain an inlet with a File listener and a splitter (for example, XML Splitter preparser). The route would contain a process flow with the Accumulate EOS Service object.

In this example, the following iWay response document is used as the incoming document:

<?xml version="1.0" encoding="UTF-8"?>
<iway>
<response totalrows="3">
<cncresult>
<result format="field">
<resultset rowcount="3">
<colinfo>
<col type="4" length="11" offset="0">Document_Link_ID</col>
<col type="12" length="50" offset="11">Value</col>
</colinfo>
 <row>
   <Document_Link_ID type="4">103</Document_Link_ID>
   <Value type="12">invoice</Value>
 </row>
 <row>
   <Document_Link_ID type="4">103</Document_Link_ID>
   <Value type="12">Milestone</Value>
 </row>
 <row>
   <Document_Link_ID type="4">103</Document_Link_ID>
   <Value type="12">Work Order</Value>
 </row>
</resultset>
</result>
</cncresult>
<timestamp>2007-01-10T17:02:48Z</timestamp>
<execstatus>0</execstatus>
</response>
</iway>

In this incoming document, notice that the <row> element loops three times. Therefore, a splitter can be used on this tag to split the incoming document into three individual documents, where each document corresponds to one loop iteration of the <row> element.

The XML Splitter preparser is configured to split the iWay response document into multiple XML documents, each containing one row, as shown in the following image:

Notice that a counter is being added to each row. If, after performing certain operations, there is a need to merge the rows again into a single document.

The Accumulate service can be used to assemble these individual documents into one merged document. In this case, the root element iway would be specified as a value for the Final Root parameter.

The following is the assembled output of the channel:

<?xml version="1.0" encoding="ISO-8859-1" ?>
<iway>
 <eda count="1">
  <response totalrows="3">
   <cncresult>
    <result format="field">
     <resultset rowcount="3">
      <colinfo>
       <col type="4" length="11" offset="0">Document_Link_ID</col>
       <col type="12" length="50" offset="11">Value</col>
      </colinfo>
      <row>
       <Document_Link_ID type="4">103</Document_Link_ID>
        <Value type="12">invoice</Value>
      </row>
     </resultset>
    </result>
   </cncresult>
  </response>
 </eda>
 <eda count="2">
  <response totalrows="3">
   <cncresult>
    <result format="field">
     <resultset rowcount="3">
      <colinfo>
       <col type="4" length="11" offset="0">Document_Link_ID</col>
       <col type="12" length="50" offset="11">Value</col></colinfo>
       <row>
       <Document_Link_ID type="4">103</Document_Link_ID>
       <Value type="12">Milestone</Value>
       </row>
     </resultset>
    </result>
   </cncresult>
  </response>
 </eda>
 <eda count="3">
  <response totalrows="3">
   <cncresult>
    <result format="field">
     <resultset rowcount="3">
      <colinfo>
       <col type="4" length="11" offset="0">Document_Link_ID</col>
       <col type="12" length="50" offset="11">Value</col>
      </colinfo>
      <row>
       <Document_Link_ID type="4">103</Document_Link_ID>
       <Value type="12">Work Order</Value>
      </row>
     </resultset>
    </result>
   </cncresult>
  </response>
 </eda>
</iway>

Note the differences between the incoming and outgoing document. In the outgoing document, the structure is slightly rearranged and a loop counter is represented by the <eda> element with an incrementing count attribute. This counter is used to mark each iteration of the loop.



x
Activity Log Entry Service (com.ibi.agents.XDXALogEvent)

Syntax:

com.ibi.agents.XDXALogEvent

Description:

This service is used to record events to the system log during a process flow. It can record security events and arbitrary user event codes. Each message that is logged has a type, code, and optional message.

Parameters:

Parameter

Description

Transactional

Determines whether this event record will be included in the log based on the transaction. If set to true, the event is logged only if the entire process flow is successful. For transactional recording, the channel must be declared to control the local transaction.

Event

The event class to be included in the log. Select one of the following values from the drop-down list:

  • security {security} (default)

    This class can be used for a security event.

  • signature {signature}

    This class can be used for a digital signature event.

  • crypto {crypto}

    This class can be used for a cryptographic event.

You can also type an arbitrary, user-defined value in the Event field.

Code

A code that further describes the event. Select one of the following values from the drop-down list:

  • start {start} (default)
  • end {end}
  • fail {fail}
  • sign {sign}
  • encrypt {encrypt}
  • decrypt {decrypt}

Note: If you specified an arbitrary, user-defined value in the Event field, the code value must be greater than 1000.

Message

An arbitrary message that you want to associate with this event record.

Available Response Edges for XDXALogEvent

When you connect the XDXALogEvent object to an End object using the OnCustom build relation in a process flow, the available line edges are provided in the Line Configuration dialog box.

The following table lists and describes the available line edges for the XDXALogEvent object.

Line Edge

Description

OnError

Error

OnSuccess

Success

OnFailure

Failure



x
Add Attachment Service (com.ibi.agents.XDAddAttachmentAgent)

Syntax:

com.ibi.agents.XDAddAttachmentAgent

Description:

This service adds a new attachment with the contents determined by the value of a string expression. The Java Character Set parameter specifies how the Java characters in the string are converted to bytes in the body of the attachment. The attachment headers are specified by the special registers of type HDR in the MIME Header Namespace.

There are also four parameters available to specify the most common MIME headers. When used, these parameters override special registers of the same name. Notice the value of the Content-ID header is taken as is, so the value must contain the surrounding angle brackets. For example, a valid value for Content-ID might be <cid>. This service follows the OnSuccess edge upon successful execution, otherwise it follows OnError.

Parameters:

Parameter

Description

Input Data *

An expression that returns the contents of the attachment.

Java Character Set

The character set used to convert from Java characters to an array of bytes. If no value is specified, the default character set will be used.

Content-Type *

Value of the Content-Type MIME header.

Content Description

Value of the Content-Description MIME header.

Content-Disposition

Value of the Content-Disposition MIME header.

Content-ID

Value of the Content-ID MIME header.

MIME Header Namespace

Special register namespace from which additional MIME headers for the attachment are taken. If no value is specified, no MIME headers are added beyond those generated by the header-specific agent parameters.



x
Add Attachment From File Service (com.ibi.agents.XDAddAttachmentFromFileAgent)

Syntax:

com.ibi.agents.XDAddAttachmentFromFileAgent

Description:

This service adds a new attachment with the contents determined by the contents of a file. This service is convenient to provide binary data without first going through a Java character set encoding. The attachment headers are specified by the special registers of type HDR in the MIME Header Namespace.

There are also four parameters to specify the most common MIME headers. When used, these parameters override special registers of the same name. Notice the value of the Content-ID header is taken as is, so the value must contain the surrounding angle brackets. For example, a valid value for Content-ID might be <cid>. This service follows the OnSuccess edge upon successful execution, otherwise it follows OnError.

Parameters:

Parameter

Description

Input Data *

Path to the file that contains the attachment data.

Content-Type *

Value of the Content-Type MIME header.

Content Description

Value of the Content-Description MIME header.

Content-Disposition

Value of the Content-Disposition MIME header.

Content-ID

Value of the Content-ID MIME header.

MIME Header Namespace

Special register namespace from which additional MIME headers for the attachment are taken. If no value is specified, no MIME headers are added beyond those generated by the header-specific agent parameters.



x
Add Correl Entry Service (com.ibi.agents.XDAddCorrelEntryAgent)

Syntax:

com.ibi.agents.XDAddCorrelEntryAgent

Description:

Uses a correlation management bus to initialize a correlated process. For more information, see the Correlation Facility topic in the iWay Service Manager User's Guide.


Top of page

x
Alt Route IP Service (com.ibi.agents.XDAltRouteIP)

Syntax:

com.ibi.agents.XDAltRouteIP

Description:

This service is used to check for a primary host. If that host is not reachable, an alternate host is checked. This is useful for alternate routing.

Parameters:

Parameter

Description

Host *

The primary host to be checked for reachability.

Alternate *

The secondary host to be checked for reachability.

Sreg *

Name of the special register to hold the name of the reachable host.

Timeout *

A timeout period to attempt to reach the host. The default value is 3 seconds.

The edges returned are listed in the following table.

Edge

Description

success

A route could be obtained.

fail_connect

Neither host is reachable.

fail_partner

The host is not known. For example, the host is not identifiable in the DNS.



x
AQ Emit Service (com.ibi.agents.XDAQEmitAgent)

Syntax:

com.ibi.agents.XDAQEmitAgent

Description:

This service sends a message to an Oracle AQ queue.

Parameters:

Parameter

Description

host

Network name of the machine where the target system resides.

password

Password of this user.

port

Service port that Oracle uses to exchange messages.

qtable

Database table used to manage queues.

queue

Queue to receive documents.

sid

Name of Oracle database service.

user

User name of access to the target system.

The result of the Oracle AQ post appears in the <native> section of the <emitstatus> result. For more information, see the iWay Adapter for OracleAQ User’s Guide.



x
AS 1 Emit Service (com.ibi.agents.AS1EmitAgent)

Syntax:

com.ibi.agents.AS1EmitAgent

Description:

Emits AS1 (email) messages. For more information, see the iWay Service Manager Protocol Guide.

Parameters:

Parameter

Description

Send To *

Address to receive this message.

Outgoing Mail Host *

Destination email host to which outgoing email is sent.

SMTP User

Logon user ID for SMTP host.

SMTP Password

Logon password for SMTP host.

Sender Address *

Email address of sender.

Copy To

Copy this message to these locations (can be comma delimited list).

Blind Copy To

Blind copy this message to these locations (can be a comma delimited list).

Content Type *

Overrides content type of the message.

  • application/XML

  • application/EDIFACT

  • application/EDI-X12

Return Status *

  • A status document will be the out document.

  • Input - in document will become the out document

Avoid Preemitter

Checks to see if any preemitter be avoided.

  • true

  • false

SMIME

Packaging *

Tells the emitter how the document should be packaged for transmission. For S/MIME packaging it will use configure for S/MIME system properties.

  • regular (unsigned/unencrypted)

  • smime_sign (signed only)

  • smime_encrypt (encrypted only)

  • smime_sign_encrypt (signed and encrypted)

Compression *

If checked, compression will be applied.

  • false

  • true

Request Receipt *

Tells the emitter to send a request for receipt, i.e. MDN(Message Disposition Notification).

  • none

  • signed

  • unsigned

Deliver Receipt To

The address where receipt should be sent to (user@mail_host).

Public Key Alias

Alias for public key entry; used for encryption.

Private Key Alias

Alias for private key entry; used for signing and decryption.

Private Key Password

Password for key access. If omitted, store password is used.

Digest Algorithm

Digest algorithm.

  • SHA-1

  • MD5

Encrypt Algorithm *

Encryption algorithm.

  • CAST5

  • DES-EDE3

  • IDEA

  • RC2



x
AS 2 Emit Service (com.ibi.agents.AS2EmitAgent)

Syntax:

com.ibi.agents.AS2EmitAgent

Description:

General AS2 emitter for use within the service stack. For more information, see the iWay Service Manager Protocol Guide.

Parameters:

Parameter

Description

Destination *

The URL where information is posted.

Content-Type *

Specifies the content-type of data to be sent.

  • application/XML

  • application/EDIFACT

  • application/EDI-X12

Response timeout value in seconds

Seconds to wait for response before signaling error.

Content Disposition

File name to put in the Content-Disposition header value.

User ID

User ID for Basic Authentication challenges.

Password

Password for Basic Authentication challenges.

Packaging *

Tells the emitter how the document should be packaged for transmission. For encrypted and/or signed packaging configure S/MIME system properties.

  • encypted

  • signed

  • signed and encrypted

  • un-encrypted

Compression

If checked, compression will be applied.

  • true

  • false

AS2-From *

A textual value identifying the sender of data exchange.

AS2-To *

A textual value identifying the receiver of data exchange.

Subject

Sets the subject header.

Request Receipt *

Tells the emitter to send a request for receipt, i.e. MDN(Message Disposition Notification).

  • None - no MDN Returned

  • Signed - signed MDN Returned

  • Unsigned - unsigned MDN Returned

Asynchronous receipt URL

If an asynchronous receipt should be requested, specify the URL to which the receipt should be sent. Supported values are in the form: mailto:<user>@<host> for asynchronous receipt by email http://<host>/... for asynchronous receipt by HTTP https://<host>/... for asynchronous receipt by HTTPS.

Receipt Destination

Encryption algorithm.

  • CAST5

  • DES-EDE3

  • IDEA

  • RC2

Public Key Entry Alias

The alias for the public key entry used for encryption.

Private Key Entry Alias

The alias for the private key entry used for signing.

Private Key Password

Password to access the private key. If left blank password used to access Keystore will be used.

Digest Algorithm

Digest algorithm used for signing.

  • SHA-1

  • MD5

Encryption Algorithm

Algorithm to be used for encrypting.

  • CAST5

  • DES-EDE3

  • IDEA

  • RC2

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.

Proxy

Proxy

If on, emit through proxy sever.

  • true

  • false

Proxy URL

URL of the proxy server.

Proxy User ID

User ID for Basic Authentication challenges issued by Proxy.

Proxy Password

Password for Basic Authentication challenges issued by Proxy.

HTTPS

Secure Connection

Use a secure connection. You may need to configure the Keystore under HTTPS section of the system properties if client authentication is required. Note, if keystore is configured in system properties make sure it has the CA certificate or the client certificate of the server you're connecting to. If keystore is not configured in system properties default truststore located under JRE_HOME/lib/security/cacerts will be used.

  • true

  • false

Use 128-bit Encryption

Enforces the use of 128-bit encryption.

  • true

  • false

Security Protocol

Security protocol. SSL - Supports some 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 some version of TLS; may support other versions. TLSv1 - Supports TLS version 1; may support other versions.

  • SSL

  • SSLv2

  • SSLv3

  • TLS

  • TLSv1

Agent Specific Parameters

Return *

Checks to see if it should return from this agent.

  • true

  • false

Avoid Preemitter

Check to see if any preemitter be avoided.

  • true

  • false

Response Wrapper Tag

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

Response Base64 Encoded

Checks to see if the response needs to be Base64 encoded.

  • true

  • false



x
AS 2 Nonblocking Emit Service (com.ibi.agents.XDNAS2EmitAgent)

Syntax:

com.ibi.agents.XDNAS2EmitAgent

Description:

Emits AS2 messages to a client without interrupting a configured business process. For more information, see the iWay Service Manager Protocol Guide.

Parameters:

Parameter

Description

Configuration Parameters

Destination

URL that is used to post this information.

HTTP Client Provider

HTTP client Provider that is used to manage connections for this emitter.

AS2-From

A textual value identifying the sender of data exchange.

AS2-To

A textual value identifying the receiver of data exchange.

Subject

Sets the Subject header.

Request Receipt

Tells the emitter to send a request for receipt in the form of a Message Disposition Notification (MDN).

Asynchronous Receipt URL

If an asynchronous receipt should be requested, specify the URL to which the receipt should be sent.

Supported values are in the form:

  • mailto:user@host- for asynchronous receipt by email
  • http://host[:port]/- for asynchronous receipt by HTTP
  • https://host[:port]/- for asynchronous receipt by HTTPS

Receipt Destination

Directory into which synchronous MDN's are stored. Specific file name is optional. Use * in file name to be replaced by timestamp, # by sequential counter.

Content-Type

Specifies the content-type of data to be send. Select from drop down or provide your own.

Message ID

Set this to control the emitted message ID. Usually this is left blank to let the system generate a unique ID meeting the requirements of RFC 822. Use this only to override the default. This is not recommended.

Content Disposition

File name to put in the Content-Disposition header value.

User ID

User ID for Basic Authentication challenges.

Password

Password for Basic Authentication challenges.

Request Header Namespace

Special register namespace from which HTTP headers for the outgoing request will be taken.

  • Default Namespace - to send HDR type registers
  • supply a namespace prefix here to indicate which headers to send
  • none - means that no special registers will be sent as HTTP headers.

Request Main Part Header Namespace

Special register namespace from which MIME headers for the outgoing request will be taken. Provide a prefix to control the request Main BodyPart headers in the presence of attachments. Selecting none means that no special registers will be sent as MIME headers.

Response Header Namespace

Special register namespace into which HTTP headers for the incoming response will be saved.

  • Default Namespace - to create special registers with no namespace
  • supply a namespace prefix here to indicate header namespace

MDN Header Namespace

Special register namespace into which MIME headers of the multipart/report entity will be saved. This namespace is ignored if the MDN is unsigned since all headers will be in the Response Header Namespace.

MDN Field Namespace

Special register namespace into which MDN fields will be saved.

Excluded Headers

A comma delimited list (case insensitive) of headers that should not be sent with the request, even if they are found in the request header namespace.

Ask for Compressed Response

If set, requests will set the Accept-Encoding header to indicate that the client can accept a compressed response, as described in RFC-2616. If the response has a compressed content encoding, the client will automatically inflate.

Compress Request

If set to True, the request entities will be compressed using the selected encoding and the content-encoding header will be set accordingly.

S/MIME

Packaging

Tells the emitter how the document should be packaged for transmission. Select from drop down:

  • Encrypted
  • Signed
  • Signed and Encrypted
  • Un-encrypted

Compression

Determines when message compression should be applied. Select from drop down:

  • Compress After Signature
  • Compress Before Signature
  • No Compression

S/MIME Keystore Provider

Provider for the Keystore used to sign and encrypt messages.

S/MIME Truststore Provider

Provider for the Keystore containing the S/MIME Certificate Authorities.

S/MIME Certificate Store Providers

Comma-separated list of Keystore, Directory CertStore, or LDAP providers for the certificate stores used to complete signer certificate chains when the signed message contains fewer certificates than needed.

S/MIME JCE Cryptography Provider

JCE Provider for S/MIME Cryptography services.

S/MIME Verification JCE Crypto Provider

JCE Provider for S/MIME verification cryptography services. Normally left blank. Defaults to S/MIME JCE Provider.

S/MIME PKIX JCE Provider

JCE Provider for S/MIME PKIX services. If left blank, the default JCE provider for PKIX will be used.

Recipient Public Key Alias

The alias for the recipient public key entry used for encryption.

Signature Key Alias

The alias for the private key entry used for signing.

Signature Key password

Password to access the signature private key. If left blank, the password used to access the Keystore will be used.

Digest Algorithm

Algorithm to be used for signing.

Encryption Algorithm

Algorithm to be used for encrypting.

Include Certificate Chain

Determines how much of the signer certificate chain is included in the message. Select from the drop down:

  • Complete Certificate Chain
  • No Certificate
  • Signer Certificate only

Enforce KeyUsage Extension

If on, verify certificates used for signing allow the digital Signature KeyUsage extension, and certificates used for encryption allow the key Encipherment KeyUsage extension.

Enable Certificate Revocation

If set to True, use the CRLs from the CertStores to check whether the signer's certificate has been revoked.

Unrecognized Certs Location

Directory to store unrecognized certificates found in S/MIME messages.

IP Properties

Persistence

If checked, ask the server to maintain the connection.

Response Timeout value in seconds

Seconds to wait for response before signaling error.

Agent Specific parameters

Return

Return from this agent. Choose "input" to return input document, "status" for an XML document with transaction parameters and status, or "response" to capture output from the server.

Preemitter

Determines whether any preemitter should be avoided. If set to True, preemitters will not run.

Response Wrapper Tag

The tag name with which to wrap the response if the response is non-XML and must be XML

Response Base64 Encoded

If set to True, Response will be Base64 encoded.



x
AS 2 Nonblocking Send MDN Service (com.ibi.agents.XDMDNSendNowAgent)

Syntax:

com.ibi.agents.XDMDNSendNowAgent

Description:

The AS 2 nonblocking send MDN service is a new service that is available in the NAS2 adapter configuration. For more information, see the iWay Service Manager Protocol Guide.


Top of page

x
Attachment Operations Service (com.ibi.agents.XDAttachOps)

Syntax:

com.ibi.agents.XDAttachOps

Description:

This service performs operations on document attachments.

Parameters:

Parameter

Description

Operation *

Determines which operation should be performed on this document. Select one of the following options from the drop-down list:

  • deleteAll (default)
  • deleteOne

Attachment Number

For operations on a specific attachment, which one, base 0. If a value is specified, this parameter takes precedence over the Content-ID parameter.

Content-ID

For operations on a specific attachment, the Content-ID of the attachment. This parameter is Ignored if a value for the Attachment Number parameter is specified.



x
Attachment to Document Service (com.ibi.agents.XDAttachmentToDocAgent)

Syntax:

com.ibi.agents.XDAttachmentToDocAgent

Description:

This service finds an attachment and makes it the body of the document. The attachment can be selected by index or by Content-ID. If the Attachment Number is specified, it takes precedence over the Content- ID. The attachment index is base 0. If present, the Content- ID must NOT contain the surrounding angle brackets.

For example, the value cid for the Content-ID parameter will match an attachment with a Content-ID header equal to <cid>. The Header Namespace is the special register namespace where MIME headers for the selected attachment will be stored. The attachment will be stored as bytes if the "Keep Document Flat" parameter is enabled. Otherwise, the attachment will be parsed as XML. If the attachment is itself a Multipart, then the document will contain the parse of the Main Body Part and the other parts will appear as document attachments.

The MIME headers of the Main Body Part will be saved as registers in the Main Body Part Header Namespace. This is needed to keep them distinct from the Multipart headers. The "Delete Attachment" parameter determines what to do with the selected attachment when it is not a Multipart: the attachment can be preserved or deleted. This service follows OnSuccess upon successful execution, otherwise it follows fail_notfound if the attachment cannot be found, or it follows fail_operation if there is another error.

Parameters:

Parameter

Description

Attachment Number

The number of the attachment to be retrieved. If specified, it takes precedence over the Content-ID.

Content-ID

The Content-ID of the attachment to be retrieved. This value is ignored if the attachment number is specified.

Header Namespace

Special register namespace where MIME headers for the selected attachment will be stored.

Main Body Part Header Namespace

If the current attachment is itself a Multipart, this is the special register namespace where the MIME headers for the main body part will be stored.

Keep Document Flat

Determines whether to keep the body of the document as an array of bytes. This parameter is set to false by default.

Delete Attachment

Determines whether to delete the attachment after it becomes the body of the document. This parameter is set to false by default.



x
Base64 Operation Service (com.ibi.agents.XDBase64Agent)

Syntax:

com.ibi.agents.XDBase64Agent

Description:

This service encodes or decodes a portion of a document using Base64 encoding. Base64 is a specific content transfer encoding scheme that translates binary data into a base 64 representation. Base 64 is set of 64 characters that is part of the subset common to most encodings, and also printable. It is possible to store non-unicode fields within an internal document even though under XML rules such a document cannot be parsed. The Base64 service enables these fields, or the entire incoming document, to be replaced with bytes, and these bytes to be translated into a base 64 representation.

Parameters:

Parameter

Description

Encode or Decode *

Encode to a base 64 representation or decode from a base 64 representation. The default value is encode.

XPATH expression to Data

The value of the XPATH expression within the input document that will be used as the input data to encode or decode.

If no value is specified, the entire input document is used.

Call at EOS?

In a streaming environment, EOS (End of Stream) is the short message that is sent after the last document, which signifies the EOS. This parameter determines whether this service should be called for the EOS message? The default value is false.

The edges returned are listed in the following table.

Edge

Description

success

Successful conversion.

fail_parse

The input could not be converted.

Example:

In a use case scenario, the Base64 service can be used to handle binary data from a picture or image. For example, you can use it to decode a picture that is temporarily stored in base64 format within the picture tag of an incoming XML document. The data can be placed in a file and later saved with the appropriate extension to be viewed by a photo editor.

The following is an example of configuration settings for a Base64 service object in iWay Designer:

Refer to the Pictures sample that is packaged with iWay Service Manager for the sample input file. For example, the input document that is used by the Samples.Pictures.CreatePictureInsertRequest.1 transformation.



x
C Char Filter Service (com.ibi.agents.CCharFilter)

Syntax:

com.ibi.agents.CCharFilter

Description:

Some input documents contain control characters such as tabs or bells. This service replaces or removes such characters.

Parameters:

Parameter

Description

Linefeed *

Determines whether to remove linefeed characters (\r). Select true (default) or false.

Carriage Return *

Determines whether to remove carriage returns (\n). Select true (default) or false.

Tab *

Determines whether to remove tab (\t) characters. Select true (default) or false.

End of File *

Determines whether to remove DOS end of file (0x1a) characters. Select true (default) or false.

Bell *

Determines whether to remove bell (0x07) characters. Select true (default) or false.

Control

Replace With *

Replace removed characters with this character. Select none (default), space, or period (.) from the drop-down list.

The edges returned are listed in the following table.

Edge

Description

success

Successful conversion.

Example:

If you need to replace a new line character in an incoming document with a period (.), this service needs to be configured with default parameter values, except for the Replace With parameter value, which must be set to period (.). The result of passing the incoming document with a new line character inside the <Test> tags is:

<?xml version="1.0" encoding="UTF-8" ?>
<Test>.</Test>


x
Catch Service (com.bi.agents.XDCatchAgent)

Syntax:

com.bi.agents.XDCatchAgent

Description:

Error handling in iWay Service Manager process flows can be accomplished in a number of different ways. The possible methods are:

The XDCatchAgent is a new service for iWay Service Manager Version 6.0. The concept of the XDCatchAgent is similar to a try-catch block in other progrmming languages.

In other programming languages, a block of code is enclosed between the braces of a try statement. Following the try block is a catch block of code that is enclosed in braces. The code in the catch block has statements that handle any errors that might occur in the try block.

When the thread of execution starts, each line in the try block of code is executed. If each statement is successful, execution continues at the statement following the closing brace of the catch block (assuming that there is not a finally block). If an error occurs within the try block, the thread of execution jumps to the code inside the catch block.

In an iWay Service Manager flow, you can add an XDCatchAgent in front of the services in which an error might occur. There are two edges off this service:

The completion edge is the thread of execution in which everything works in a perfect scenario. All the edges after the service connected by the onCompletion edge are then connected to the onSuccess edge.

The onCustom edge has two selected cases. These cases are onError and onFailure. Any errors or failures that occur within the path of the process flow are directed down this edge. The logic in this branch contains any services necessary to handle errors.

Think of the onCompletion path as the try block and the onCustom edge as the catch block.

You can add multiple XDCatchAgents into a process flow. The error branch is taken off the closest XDCatchAgent previous to where the error occurred. In this manner, you can add multiple error conditions for a given process flow if needed.

Example:

In this example, a file is put into a directory after its creation from a previous channel. The sample process flow is responsible for transmitting the file to the customer FTP site.

Since this is an FTP site, it is subject to network and site availability and other possible outside issues. An error handling strategy is required so that none of the documents being processed are lost because of an outside issue.

In process flow, the XDCatchAgent immediately follows the Start block. An onCompletion edge connects the Catch Errors block to the FTP Write block. The FTP Write block is an FTP emitter that is set up to write the file to an FTP site. The service directly following the XDCatchAgent (Catch Errors) must have an onCompletion edge for this to work correctly.

Following the FTP Write block is the End block. The edge connecting these two services is an onSuccess edge. If a different edge were used and an error occurred, the error edge off of Catch Errors may not be executed.

The onCustom edge of Catch Errors has the onError and onFailure cases selected for the properties. This edge leads to a file write service, Write Error, that puts the file into a hold directory for later reprocessing. Following Write Error, there is an End with a Terminate since no further processing is required at this point. In a real world scenario, a requirement might be that an e-mail is sent if the site is down.

When the target FTP site is up and available, the files are written to the FTP site. If the FTP site is down or you cannot connect to it, the FTP write service will generate an error. This error causes the next execution point to be the File Write to save the file for further processing.


Top of page

x
Channel Information Service (com.ibi.agents.XDChanInfoAgent)

Syntax:

com.ibi.agents.XDChanInfoAgent

Description:

This service returns an XML document that contains the current status information for the system. The service is also available for use in process flows. Each channel (represented by a master tag) is included in the XML output, along with statistics on its current state.

Properties:

Property

Description

Info

Root of the information tree.

Channels

The configured runtime channels.

Properties of statistics per channel (master)

name

Name of the channel. There is one master for each defined channel, regardless of its state.

state

State of the channel (active for started channel), runnable for deployed (not started) channel, stopping for the channel that is stopping.

  • Begin - Channel has been started, but has not yet completed the initialization.
  • Config - Errors were found during the initialization and the channel cannot start.
  • Retry - The channel initialization (or sometimes the execution phase) found a condition that is an error not related to the configuration. The channel can be automatically restarted at a later time.

failed

Number of times the channel execution failed.

completed

Number of times the channel execution completed.

active

Indicates whether the channel is active.

Properties of statistics per execution

user

User CPU time statistics.

cpu

CPU time statistics.

name

Name of the thread (required). Thread masters always have worker threads to execute messages.

Properties of statistics per transaction

variance

Variance of transaction time.

ehrlang

Ehrlang coefficient.

mean

Mean (average) time of transactions.

internalqs

Internal listeners are associated with queues. This section describes the queues themselves.

queue

The name of this queue. Usually this is the name of the internal listener that defines the queue (optional).

size

Number of messages waiting to be processed.

The edges returned are listed in the following table.

Edge

Description

success

Successful extraction.

Example:

The following is a sample of an XML document that is returned by the service:

<info>
 <channels>
  <master name="internal" state=" active " type="Internal" completed="0"
failed="0" active="0" available="1">
   <user mean="0.0" variance="0.0" ehrlang="1.0"/>
    <cpu mean="0.0" variance="0.0" ehrlang="1.0"/>
     <threads group="internal">
      <thread name="W.internal.1"/>
     </threads>
  </master>
  <master name="file1" state=" active " type="FILE" completed="0"
failed="0" active="0" available="4">
   <user mean="0.0" variance="0.0" ehrlang="1.0"/>
    <cpu mean="0.0" variance="0.0" ehrlang="1.0"/>
     <threads group="file1">
      <thread name="W.file1.1"/>
      <thread name="W.file1.2"/>
      <thread name="W.file1.3"/>
      <thread name="W.file1.4"/>
     </threads>
  </master>
 </channels>
 <internalqs>
  <queue name="internal1" size="0"/>
 </internalqs>
</info>


x
Check Schema Service (com.ibi.agents.CheckSchema)

Syntax:

com.ibi.agents.CheckSchema

Description:

Evaluates the input document against a specified schema. Optionally, this service can route the document to the fail edge or can simply set the appropriate document state that can later be tested with the following iWay Functional Language (iFL) statement:

_hasschemaerr()

Parameters:

Parameter

Description

Schema File

If blank, look for schema in route area; else use this as file path of schema.

Fail on error *

If fail, schema errors cause fail; mark sets bad document.

The edges returned are listed in the following table.

Edge

Description

success

Successful.

fail_parse

The schema could not be parsed or the document fails the schema check.

fail_missingschema

The schema could not be found.

fail_format

The input document was inappropriate for the test (for example, the input was not XML).

Example:

You can examine the process flow that uses the pictures.SqlInsertPicture sample schemas on the route. Specify the schema using iWay Designer, as shown in the following image.

Your process flow will finish at the End1 object (success result) if you run the document that corresponds to the schema.

<?xml version="1.0" encoding="UTF-16" ?>
<AdapterParams location="RDBMS/Schemas/PUBLIC/Tables/PICTURES/INSERT">
<ID />
<DESC />
<IMG>//4wIFAATgBHAA0ACgAaAA0ACgANAAoASQBIAEQAUgANAAoADAAMABEADgARABUAGQA
NAAoADAASAA0ACgAUABcAFQAZABsAGQAkAB0AIwArACgAGwAZADQAHQAWACIAHAAqACcAIgA
eADoAJAAYACcA eAGPACwAywAsAEEALAD7AF8AWQD/AGUA0wDlABsAeADUAA==</IMG>
</AdapterParams>

If you run the process flow with the document that fails the schema validation, such as <Test></Test>, the process flow will finish at the End object (fail result).

The content of the message does not change after using this service.



x
COBOL Format Conversion (com.ibi.agents.XDLegacyRecordToXMLAgent)

Syntax:

com.ibi.agents.XDLegacyRecordToXMLAgent

Description:

Sometimes a message arrives with data generated in COBOL format. This data is described by a standard COBOL FD (File Descriptor). The agent uses the COBOL FD to parse and convert the incoming record data to XML. The data can consist of the entire message, or it can be a part of the incoming message.

Parameters:

Parameter

Description

input

The input data to be converted. If this parameter is left blank, the entire message is converted. Otherwise this parameter can isolate a part of the incoming message; consider use of iFL or XPATH to extract the information.

base 64

Is the data base64? The COBOL record may contain binary information, and so it is being carried in base64 form.

output node

Where is the converted data to be carried.? Applies only if the incoming COBOL is contained within an existing XML tree. Use XPATH notation to locate the element on which the converted data is to be attached as a child.

encoding

The input IANA character set. May be needed in cases in which the data is in an alternate character set, such as EBCDIC on a standard ASCII machine.

full FD

Ste to true if record headings are to appear in the XML

multi

If the data is longer than the area described by the FD, the conversion restarts at the next position. This allows multiple "data elements" to be converted. If false, remaining data is ignored.

copybook

The location of the copybook containing the FD.

Edges:

Edge

Description

success

Conversion has been successful

full_parse

The data could not be converted. Also can be issued if the configuration iFL is invalid.

full_operation

Failed for another reason.

Input:

<root>
<legacy>
<header>
<![CDATA[H1204708013502030706UPRRIES UTILITIES
INC319398417403070603270600000177G000002G00000000000000166L0000000000000000001011204708013502]]>
</header>
<address>
<![CDATA[AUNION PACIFIC RR  ACCTS PAYABLE / UA# 40411 PO BOX 1605                                                           OMAHA NE 68101]]>
</address>
</legacy>
<converted>
<header/>
<address/>
</converted>
</root>

Configure a file listener configured with a pair of chained agents.

      <agent name="XDLegacyRecordToXMLAgent_1" class="com.ibi.agents.XDLegacyRecordToXMLAgent" action="chain">XDLegacyRecordToXMLAgent
         <active>true</active>
         <parm name="encoding">platform</parm>
         <parm name="input">_iwxpath(/root/legacy/header)</parm>
         <parm name="fullfd">false</parm>
         <parm name="base64">false</parm>
         <parm name="location">c:\working\soc\copybooks\EDI-HEADER-RECORD.CBL</parm>
         <parm name="outputnode">/root/converted/header</parm>
         <parm name="fmulti">false</parm>
      </agent>
      <agent name="XDLegacyRecordToXMLAgent_2" class="com.ibi.agents.XDLegacyRecordToXMLAgent">XDLegacyRecordToXMLAgent
         <active>true</active>
         <parm name="encoding">leave</parm>
         <parm name="input">_iwxpath(/root/legacy/address)</parm>
         <parm name="fullfd">false</parm>
         <parm name="base64">false</parm>
         <parm name="location">c:\working\soc\copybooks\EDI-ADDRESS-RECORD.CBL</parm>
         <parm name="outputnode">/root/converted/address</parm>
         <parm name="fmulti">false</parm>
      </agent>

And get this:

<root>
   <legacy>
      <header><![CDATA[H1204708013502030706UPRR      IES UTILITIES INC319398417403070603270600000177G000002G00000000000000166L0000000000000000001011204708013502]]></header>
<address><![CDATA[AUNION PACIFIC RR                   ACCTS PAYABLE / UA# 40411          PO BOX 1605                                                           OMAHA NE              68101]]></address>
   </legacy>
   <converted>
      <header>
         <CICSEvent>
            <EventData>
               <CommArea>
                  <EDI-HDR-RECORD-TYPE>H</EDI-HDR-RECORD-TYPE>
                  <EDI-HDR-ACCT-NO>1204708013502</EDI-HDR-ACCT-NO>
                  <EDI-HDR-CURR-DATE>30706</EDI-HDR-CURR-DATE>
                  <EDI-HDR-CUST-ID>UPRR</EDI-HDR-CUST-ID>
                  <EDI-HDR-UTILITY-NAME>IES UTILITIES INC</EDI-HDR-UTILITY-NAME>
                  <EDI-HDR-IES-ID>3193984174</EDI-HDR-IES-ID>
                  <EDI-BLG-BILL-DATE>30706</EDI-BLG-BILL-DATE>
                  <EDI-BLG-DUE-DATE>32706</EDI-BLG-DUE-DATE>
                  <EDI-BLG-NET-AMOUNT>17.77</EDI-BLG-NET-AMOUNT>
                  <EDI-BLG-PEN-AMOUNT>.27</EDI-BLG-PEN-AMOUNT>
                  <EDI-BLG-PREV-ACT-BAL>.00</EDI-BLG-PREV-ACT-BAL>
                  <EDI-BLG-ACCT-ADJS>-16.63</EDI-BLG-ACCT-ADJS>
                  <EDI-BLG-REFUND>.00</EDI-BLG-REFUND>
<EDI-BLG-PREV-BUD-BAL>.00</EDI-BLG-PREV-BUD-BAL>
                  <EDI-BLG-ACCT-TYPE>1</EDI-BLG-ACCT-TYPE>
                  <EDI-BLG-NUMBER-METERS>1</EDI-BLG-NUMBER-METERS>
                  <EDI-BLG-REF-MSTR-ACCT>1204708013502</EDI-BLG-REF-MSTR-ACCT>
                </CommArea>
            </EventData>
         </CICSEvent>
      </header>
      <address>
         <CICSEvent>
            <EventData>
               <CommArea>
                  <EDI-ADR-RECORD-TYPE>A</EDI-ADR-RECORD-TYPE>
                  <EDI-ADR-CUST-NAME>UNION PACIFIC RR</EDI-ADR-CUST-NAME>
                  <EDI-ADR-MAIL-TO-ADDR-1>ACCTS PAYABLE / UA# 40411</EDI-ADR-MAIL-TO-ADDR-1>
                  <EDI-ADR-MAIL-TO-ADDR-2>PO BOX 1605</EDI-ADR-MAIL-TO-ADDR-2>
                  <EDI-ADR-MAIL-TO-ADDR-3></EDI-ADR-MAIL-TO-ADDR-3>
                  <EDI-ADR-CITY>OMAHA NE</EDI-ADR-CITY>
                  <EDI-ADR-STATE></EDI-ADR-STATE>
                  <EDI-ADR-ZIP-CODE>68101</EDI-ADR-ZIP-CODE>
               </CommArea>
            </EventData>
         </CICSEvent>
      </address>
   </converted>
</root>


x
Constant Service (com.ibi.agents.XDConstantAgent)

Syntax:

com.ibi.agents.XDConstantAgent

Description:

Replaces the input document with a constant document. Because all parameters are evaluated with the iWay Functional Language (iFL), this service is frequently used to modify the input or load a file from a disk, and so on.

Parameters:

Parameter

Description

Constant Output To Emit *

The value that will be emitted by the Constant service. If the Output Format parameter value is set to xml, this value needs to be valid XML, otherwise the original input document can be emitted based on the Input Criterion parameter value.

Output Format *

The output format of the result.

Select one of the following values from the drop-down list:

  • xml (default)

    This value emits a valid XML output.

  • flat

    This value emits output as flat text.

Output as Error

Determines whether the input should be emitted as an error document. Select true or false (default) from the drop-down list.

Input Criterion

Emit status criteria based on input type, else copy. Select one of the following values from the drop-down list:

  • always (default)

    Emits the constant regardless of the input document's format.

  • xmlonly

    If the input document is XML, emit the constant, otherwise emit the original input document.

  • flatonly

    if the input document is flat, emit the constant, otherwise emit the original input document.

Call at EOS?

In a streaming environment, EOS (End of Stream) is the short message that is sent after the last document, which signifies the EOS. This parameter determines whether this service should be called for the EOS message? The default value is false.

The edges returned are listed in the following table.

Edge

Description

success

Successful.

fail_parse

An iFL expression could not be evaluated.

Example:

If you run this service using any input document, the same constant document output is returned. For example, if you are using <a>aaa</a> as a constant, the following is the result:

<?xml version="1.0" encoding="UTF-8" ?>
<a>aaa</a>


x
Controls Channel Service (com.ibi.agents.XDControlAgent)

Syntax:

com.ibi.agents.XDControlAgent

Description:

This service enables or disables a listener. Configuration takes the name of the listener, and the operation to be performed. Supported operations include:

Using the Controls Channel service, the activity on one listener can control another. For example, the detection of a message in an MQ Series queue can trigger an RDBMS listener to begin working with a relational table.

Parameters:

Parameter

Description

Listener

Specify the name of a listener to control. This value can also be comma-separated list.

Action

Select one of the following actions from the drop-down list:

  • start
  • pause
  • pulse
  • stop

Call at EOS?

In a streaming environment, EOS (End of Stream) is the short message that is sent after the last document, which signifies the EOS. This parameter determines whether this service should be called for the EOS message? The default value is false.

Example:

You can use the Controls Channel service to stop a channel that is currently running in iWay Service Manager. In a process flow, configure a Service object using the Controls Channel service (com.ibi.agents.XDControlAgent). Click the Properties tab. For the Listener parameter, specify the name of the channel that you want to stop (for example, default).

Invoke the channel that contains the Controls Channel service process flow in the route with a valid XML document. The stop command for the default channel will be issued. If the default channel is currently running, it will be stopped.

You can verify this by examining the status change for the default channel on the Channel Management pane after successfully passing the XML document through the Controls Channel service channel.

Notice that the default channel is now stopped.



x
Correl Inquiry Service (com.ibi.agents.XDCorrelInquiryAgent)

Syntax:

com.ibi.agents.XDCorrelInquiryAgent

Description:

Returns an XML report on the specified correlation ID. For more information, see the Correlation Facility topic in the iWay Service Manager User's Guide.

Parameters:

Parameter

Description

Correlation ID *

Identifier for the correlated process. This is normally a runtime function, such as XPATH() or SREG().

Namespace

Namespace for Correlation ID. IDs will normally be unique within a namespace.

Output Type *

Should agent simply output its input, or should it output an XML correlation report?

Include History? *

If set to true, correlation history is included in the report.



x
Correl Inquiry By State Service (com.ibi.agents.XDCorrelInquiryByStateAgent)

Syntax:

com.ibi.agents.XDCorrelInquiryByStateAgent

Description:

Returns a document listing all correlation IDs in the requested state. For more information, see the Correlation Facility topic in the iWay Service Manager User's Guide.

Parameters:

Parameter

Description

Namespace

Namespace for Correlation ID. IDs will normally be unique within a namespace.

Correlation Status *

Return correlation IDs in this state.

Inquire By *

Which date should be used in search?

Updated Since *

Where record has been inserted or updated within this duration.

Include History? *

If set to true, correlation history is included in the report.



x
Correl Set Inquiry Service (com.ibi.agents.XDCorrelSetInquiryAgent)

Syntax:

com.ibi.agents.XDCorrelSetInquiryAgent

Description:

Returns a document describing the status of the requested correlation set ID. For more information, see the Correlation Facility topic in the iWay Service Manager User's Guide.

Parameters:

Parameter

Description

Correlation Set ID

Identifies the set with which this correlation ID is associated. This is typically a batch or envelope identifier, expressed using a runtime function.

Namespace

Namespace for Correlation ID. IDs will normally be unique within a namespace.



x
Deflate Service (com.ibi.agents.XDDeflateAgent)

Syntax:

com.ibi.agents.XDDeflateAgent

Description:

This service is used to compress the document for transmission or storage. The document is flattened to a byte stream, and compression algorithms are applied. The output of this service is a flat document.

Parameters:

Parameter

Description

Method of compression to use *

Determines what format of compression should be used on the output. Select one of the following options from the drop-down list:

  • none (default) - No compression is used.
  • smallest - The smallest possible output, regardless of the execution time.
  • fastest - The fastest possible execution time, even if the degree of deflation is reduced.
  • standard - A compromise between smallest and fastest is used.
  • Huffman - An entropic encoding scheme is applied.

The edges returned are listed in the following table.

Edge

Description

success

Successful operation.

fail_operation

The decompression could not be performed. The data is probably not deflated.

fail_parse

The compressed data could not be accessed.



x
Document Update Service (com.ibi.agents.XDDocUpdateAgent)

Syntax:

com.ibi.agents.XDDocUpdateAgent

Description:

Use this service to run find and replace procedures and modify data based on static or dynamic parameters.

Parameters:

Parameter

Description

Document Output *

The manner in which to process documents. XML can be processed as flat text, but the output document will result as designated. Select one of the following options from the drop-down list:

  • Process to Flat text - Treats the incoming/outgoing data as flat text.
  • Process to XML - Parses the document as XML.

Processing Method *

Modify document data before or after the find/replace operation. Select one of the following options from the drop-down list:

  • Find/Replace then Build Document - Performs a find/replace operation then parses the document.
  • Build Document then Find/Replace - Parses the document then performs a find/replace operation.
  • Only Find/Replace - Performs a find/replace operation only.
  • Only Build Document - Parses the document as XML or flat (no replace is performed).

Find/Replace

Find

Text to search for. Use a comma (,) to repeat searches (for example: search1,search2,search3).

Replace

Text to replace search text. Multiple searches must have an equal number of replacements.

Encoding

Specifies the encoding when converting a flat document to XML format. Platform encoding is used by default. The Encoding parameter is required for the Document Update service to function properly.

Data Sources

Data used to build the document. Use a comma (,) to repeat data sources (for example: SREG(VAR_A),SREG(VAR_B),SREG(VAR_C)). Use DS0 to include the original incoming document.

Example:

The Document Update service is typically used to search and replace input documents for a certain string value. For example, the parameter values in the following image are configured to replace all the occurrences of "joe" to "jane" in an incoming XML document.

If the Document Update service is used with these sample parameter values and the incoming document consists of <Test>joe joe joe</Test>, the following output document is generated:

<?xml version="1.0" encoding="UTF-8" ?>
<Test>jane jane jane</Test>


x
Document Copy Service (com.ibi.agents.XDCopyAgent)

Syntax:

com.ibi.agents.XDCopyAgent

Description:

This service is used to duplicate an existing document. The service also allows a comment to be emitted and a delay to be configured. Unless a delay or comment is required, it is recommended to use the Move service instead.

Note: The delay parameter can be specified for benchmarking purposes, while the comment parameter is typically used during troubleshooting.

Example:

If running it with <test/> as the incoming message, the following is the result:

<?xml version="1.0" encoding="UTF-8" ?>
<test />

Top of page

x
Document to Attachment Service (com.ibi.agents.XDAttachmentFromDocAgent)

Syntax:

com.ibi.agents.XDAttachmentFromDocAgent

Description:

This service adds a new attachment with the contents determined by the input document. The attachment headers are specified with user parameters. The name and value of the user parameter become the name and value of the header. Notice the value of the Content-ID header is taken as is, so the value must contain the surrounding angle brackets.

For example, a valid value for Content-ID might be <cid>. The Attachment Type parameter specifies the attachment Content-Type. If the Attachment Type is omitted, a Content-Type is chosen based on the document data: application/binary if the document contains bytes, text/plain if the document is flat, application/xml otherwise. The optional Attachment Name parameter controls the name sub-parameter of the Content-Type header. The Content-Type name can also be given directly in the Content-Type header value if desired.

The Body Result parameter specifies what to return in the output document: "keep" copies the input document to the output document, "empty" returns an empty document instead. This service follows OnSuccess upon successful execution, otherwise it follows the fail_attach edge.

Parameters:

Parameter

Description

Attachment Name

The name of this attachment, for example, file name.

Attachment Type

The MIME type. If no value is specified, the attachment type is generated based on the data format.

Body Result

Specify how to handle the body of this document by selecting one of the following values from the drop-down list:

  • keep (default)
  • empty


x
Email Emit Service (com.ibi.agents.XDEmailEmitAgent)

Syntax:

com.ibi.agents.XDEmailEmitAgent

Description:

Emits an email to a specified mail host with various options, including the option to input data as an attachment.

Parameters:

Parameter

Description

Outgoing Mail Host *

Outgoing email host used to route outgoing e-mail (add :port for non-standard port).

To *

Message recipient as an email address. Use ';' to delimit multiple addresses.

Subject of Msg

Subject of the message.

Sender address

Sender of this email.

Copy To

Carbon copy recipient of this email. Use ';' to delimit multiple addresses.

Blind Copy To

Blind Carbon copy recipient of this email. Use ';' to delimit multiple addresses.

Reply-to

Address to replyto for this email. Use ';' to delimit multiple addresses.

Content

Contains the data for the email body, default (blank) is the inbound document.

Attachment Tag

Tag name that holds a path to a file to be attached.

Add As Attachment

If set to true, the inbound document is treated as an attachment. An attachment name is then required.

Document Attachment Name

Name of the inbound document attachment.

Attachment Content Type

Content Type of the attachment.

User ID

Is the valid user ID to log on to the SMTP host server.

Password

Is a valid password to authenticate the SMTP user ID.

Content Type

The content type of the data.

Return

Select one of the following options from the drop-down list:

  • status - Status document will become the output document.
  • input - Input document will become the output document

Security Protocol

Select one of the following options from the drop-down list:

  • none - Clear SMTP connection.
  • SSLv2 - SMTPS - Connect to secure SMTP server.
  • STARTTLS - Connect to an unsecured SMTP server, then negotiate SSL/TLS connection.

Example:

To configure the Email Emit service, you must first specify the URL for your email server and the appropriate security level. The following example shows security settings that are configured for the Microsoft Exchange Server:

If your connection parameters are valid, you will receive an email notification that would context the incoming document and a response document from running the service, in the following format:

<?xml version="1.0" encoding="UTF-8" ?>
<emitStatus>
 <protocol>EMAIL</protocol>
 <parms>password=****, to=your_name@gmail.com, userid=js77777,
  docattachname=test.xml, usessl=STARTTLS, docattach=false,
  host=IBIUSMBSA.ibi.com, return=status, from=john.smith@ibi.com,
  subject=Email Emit Test</parms>
<status>0</status>
<msg />
<timestamp>2009-05-01T21:27:51.824Z</timestamp>
<attempts>1</attempts>
<name>your_name@gmail.com</name>
</emitStatus>

The following is an example of configuration settings for an Email Emit service object that includes an attachment in iWay Designer:

If your connection parameters are valid, you will receive an email attachment (test.doc) and a response document from running the service, in the following format:

<?xml version="1.0" encoding="UTF-8" ?>
<emitStatus>
 <protocol>EMAIL</protocol>
<parms>password=****, to=your_name@gmail.com, userid=js77777,
  docattachname=test.doc, usessl=STARTTLS, docattach=true,
  host=IBIUSMBSA.ibi.com, return=status, from=john.smith@ibi.com,
  subject=Email Emit Attch, docattachctype=text/plain, body=see
  attached</parms>
<status>0</status>
<msg />
<timestamp>2009-05-05T22:43:59.032Z</timestamp>
<attempts>1</attempts>
<name> your_name@gmail.com</name>
</emitStatus>


x
Entag Service (com.ibi.agents.XDEntagAgent)

Syntax:

com.ibi.agents.XDEntagAgent

Description:

Adds an element tag around a flat document, and optionally base64 encodes the document. If the input document is not flat, this service is ignored.

Parameters:

Parameter

Description

Tag Name *

The name of the tag which wraps the data.

Base64 Encoding *

Determines whether the data requires Base64 encoding, so that valid XML could be formed. Select true or false from the drop-down list.

The edges returned are listed in the following table.

Edge

Description

success

Successful operation.

Example:

If you run this service with picture as a value for the the Tag Name parameter, Base64 Encoding set to true, and incoming data as <test/>, the following result is returned:

<?xml version="1.0" encoding="UTF-8" ?>
<picture>PFRlc3QvPg==</picture>

If Base64 Encoding is set to false, the result would be:

<picture><test/></picture>


x
Execute ETL Service (com.ibi.agents.XDETLAgent)

Syntax:

com.ibi.agents.XDETLAgent

Description:

Executes EDA ETL procedures and returns ICM codes to specified edges. You can invoke this service from a process flow. For more information, see the iWay Designer User's Guide.

Parameters:

Parameter

Description

SQL DML *

SQL statement.

Data Source URL *

URL to reach the data source.

Document Return Type *

Document to return. Select one of the following options from the drop-down list:

  • Status
  • Original Input
  • Statistics

User ID

Default user ID for the connection.

Password

Default password for the connection.

Search Code

Search code to search for (for example, XXX,YYY,ZZZ).

Statistic Handler

The RPC to call to fetch ETL statistics. Called only when return document is set to Statistics.

Handler Parameters

Parameters passed to the Statistic Handler.

Stats Wait

The amount of time in seconds to wait after an unsuccessful attempt to retrieve statistics.

Stats Retry

The number of attempts to try retrieving ETL statistics.



x
Fail Service (com.ibi.agents.XDFailAgent)

Syntax:

com.ibi.agents.XDFailAgent

Description:

The failure business service always returns an XDException. If the retry option is selected for the Type of failure parameter, the exception calls for a retry of the input, if possible. This service is useful when debugging rollback logic in a customer business service.

Parameters:

Parameter

Description

Type of failure

The type of failure to be thrown. Select one of the following options from the drop-down list:

  • fail
  • retry

Message

Message to be issued to the user.

Call at EOS?

In a streaming environment, EOS (End of Stream) is the short message that is sent after the last document, which signifies the EOS. This parameter determines whether this service should be called for the EOS message? The default value is false.

Example:

This service can be used in situations where a failure must be reported or simulated (for example, if a certain fatal condition is reported). If you run this service in a process flow using <test/> as the incoming message and the retry option is selected for the Type of failure parameter, the following document is returned:

<?xml version="1.0" encoding="UTF-8" ?>
<eda>
  <error code="6" timestamp="2009-06-05T19:56:59Z"
  source="com.ibi.agents.XDFailAgent" stage="AGENT">XD[RETRY] cause: 0
  subcause: 0 message: Retry requested from XDFailAgent</error>
</eda>


x
File Emit Service (com.ibi.agents.XDFileEmitAgent)

Syntax:

com.ibi.agents.XDFileEmitAgent

Description:

This service writes the contents of the current document or other specified information to the file system. The source specification can be blank or can specify any iWay expression, including XPATH(). If the document is XML and xpath() is specified, each value meeting the XPATH() criteria is written as a file; the assigned names are allocated sequentially based on the entered pattern.

Parameters:

Parameter

Description

Source of Data

Source of data to write. If omitted, document will be used, else specify a data source location via XPATH() function or any other function.

Target Directory *

The target output directory.

File Pattern *

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

Avoid Preemitter

If a preemitter exists on this route for output, this allows it to be bypassed for this emit operation. Perform this action to enable the output file to include non-processed (raw) information. Select one of the following options from the drop-down list:

  • true (default)
  • false

Return

Select one of the following options from the drop-down list:

  • status (default) - status document will be the output document.
  • input - input document will become the output document.
  • swap - as input, but replace written data in the source nodes with the file name to which the data was written.

Base64 Decode

If set, the value is assumed to be in base64 notation. Only applicable is a specific write value is specified. Select one of the following options from the drop-down list:

  • true
  • false (default)

Respect Transactionality *

If set, the emit respects the transactionality of the channel. If not set, the file is always written. Select one of the following options from the drop-down list:

  • true
  • false (default)

Call at EOS?

In a streaming environment, EOS (End of Stream) is the short message that is sent after the last document, which signifies the EOS. This parameter determines whether this service should be called for the EOS message? The default value is false.

Example:

The following is an example of configuration settings for a File Emit service object in iWay Designer:

If your connection parameters are valid, after running a process flow with the File Emit service, you will find the incoming document from your process flow copied to the target directory (for example, c:/out), with its name formatted according to the value that was specified for the File Pattern parameter (for example, testsvc[date/time mask].xml). The process flow’s return document would be an update from running the service, which indicates that the File Emit service worked successfully. For example:

<?xml version="1.0" encoding="UTF-8" ?>
<emitstatus status="0">
<protocol>FILE</protocol>
<parms>
  <parm name="directory">c:/out</parm>
  <parm name="return">status</parm>
  <parm name="wanteos">false</parm>
  <parm name="pattern">testsrvc*.xml</parm>
  <parm name="b64">false</parm>
  <parm name="trans">false</parm>
  <parm name="nopreemit">true</parm>
</parms>
<timestamp>2009-05-04T22:16:39.566Z</timestamp>
<status>0</status>
<count>1</count>
<name>c:\out\testsrvc2009-05-04T22_16_39.551Z.xml</name>
</emitstatus>


x
File Read Service (com.ibi.agents.XDFileReadAgent)

Syntax:

com.ibi.agents.XDFileReadAgent

Description:

The local file input accepts a request to read a file from the local file system and outputs this request as an XDTextDocument. The transform business service and standard output can accept and operate upon this output. The input business service can operate on flat or XML data, and can emit data in either form.

Parameters:

Parameter

Description

File Name Tag *

Tag of input document whose value is the file name to read. The input document must be:

<filename>pathToFile</filename>

This assumes that the tagname is set to filename. If the input format is XML or an entag parameter is used, the output is in XML form. Otherwise, the output is a flat document.

Note: The File Read Service assumes that the input data format is flat by default, or if the entag option is set to any value even if the XML input data format is selected.

Base Path

Optional directory to be used if the incoming name is not absolute.

Input Data Format

Format of the input data. Select one of the following options from the drop-down list:

  • flat (default)
  • XML

Enclose Tag

The name of the tag in which to enclose that data that is read. If omitted, no entagging is performed. If used, the output is XML.

Encoding

Encoding to be performed on the input. Can be asis or base64. If omitted, no encoding is performed.

Delete After Read

Determines whether the file is deleted after it is read. Select one of the following options from the drop-down list:

  • true (default)
  • false

Example:

To configure a File Read service, you must specify the tag name that contains the path to the file you want to read. The following is an example of configuration settings for a File Read service object in iWay Designer. This example assumes that the path to the file is contained within the <Test> tag of the incoming document:

Run this service with a document such as the following:

<Test>c:/out/input.xml</Test>

The contents of the input.xml file will be received as the output.



x
FTP Emit Service (com.ibi.agents.XDFTPEmitAgent)

Syntax:

com.ibi.agents.XDFTPEmitAgent

Description:

Emits using the FTP protocol to a specified host using various common FTP commands.

Parameters:

Parameter

Description

Host Name *

DNS name (or IP address) of the FTP server to which you want to connect.

Remote Port

Port number used by the FTP server. Port 21 is used by default if no value is specified.

User Name *

Valid user ID for the FTP server.

Password *

Valid password for the FTP server.

Account Name

Valid account name for the FTP server.

Remote Site Folder

Folder or directory on the FTP server that you want to use as a starting location when you connect. Login directory is used by default if no value is specified.

File Pattern *

Output file pattern. An asterisk character (*) can be used for a timestamp. For example, *.XML,*.txt, and so on.

Note: *.* is unsupported.

Append

Append on PUT if the destination file exists. Select one of the following options from the drop-down list:

  • true
  • false (default)

Retry Interval

Retry interval in seconds. The following format can also be used:

xxhxxmxxs

Leave blank or enter 0 to indicate no retry interval.

Connection Retry

Attempted failed connects to the FTP server.

Quote Command

This specified command is sent as typed, BEFORE any data transfer.

Transfer Mode *

Form of FTP transmission. Select one of the following options from the drop-down list:

  • ascii
  • binary

Put File Protection

Is the PUT protected by a rename of a temp file name? Select one of the following options from the drop-down list:

  • true
  • false (default)

Return

Select one of the following options from the drop-down list:

  • status - Status document will become the output document.
  • input - Input document will become the output document

Use Passive Command

Uses PASV command if true, otherwise the PORT command is used. Select one of the following options from the drop-down list:

  • true
  • false (default)

Example:

To configure an FTP Emit service, you must specify the host name for your FTP server and the appropriate credentials. The following is an example of configuration settings for an FTP Emit service object in iWay Designer that is used to FTP an incoming document onto a host called unixbox:

If your connection parameters are valid and if you log onto your host, you will receive an incoming document, with its name formatted according to the value that was specified for the File Pattern parameter. In addition, the following status update is generated after running the FTP Emit service:

<?xml version="1.0" encoding="UTF-8" ?>
<emitstatus status="0">
<protocol>FTP</protocol>
<parms>
  <parm name="append">false</parm>
  <parm name="password">***</parm>
  <parm name="userid">unixuser</parm>
  <parm name="passive">false</parm>
  <parm name="fileprot">false</parm>
  <parm name="host">unixbox</parm>
  <parm name="mode">ascii</parm>
  <parm name="return">status</parm>
  <parm name="pattern">from_windows_*.xml</parm>
</parms>
<timestamp>2009-05-05T23:20:08.602Z</timestamp>
<status>0</status>
<msg>success</msg>
<name>from_windows_2009-05-05T23_20_08.524Z.xml</name>
<attempts>1</attempts>
</emitstatus>


x
FTP Read Service (com.ibi.agents.XDFTPReadAgent)

Syntax:

com.ibi.agents.XDFTPReadAgent

Description:

Reads one file through FTP. This service provides many options.

Parameters:

Parameter

Description

File Name Tag *

Name of the tag from the input document in which to find the file name.

Enclose Tag

The name of the tag in which to enclose data read. If omitted, no entagging. If used, output is XML.

Base Path

Optional directory to be used if the incoming name is not absolute.

Input Data Format

Format of the input data. Select one of the following options from the drop-down list:

  • flat (default)
  • XML

Transfer Type

For non-XML input, this parameter sets the transfer type. Select one of the following options from the drop-down list:

  • ascii
  • binary

Host Name *

DNS name (or IP address) of the FTP server to which you want to connect.

Remote Port

Port number used by the FTP server. Port 21 is used by default if no value is specified.

User Name *

Valid user ID for the FTP server.

Password *

Valid password for the FTP server.

Encoding

Character set encoding to be performed on the input. Select one of the following options from the drop-down list:

  • asis
  • base64

Delete After Read

Determines whether to delete the file after the read. Select one of the following options from the drop-down list:

  • true
  • false

Example:

To configure an FTP Read service, you must specify the host name for your FTP server and the appropriate credentials. The following is an example of configuration settings for a FTP Read service object in iWay Designer that is used to FTP an incoming document onto a host called unixbox:

If your connection parameters are valid and your incoming document contains the <Test> tag that references the name of the document to read from a host called unixbox, for example:

<Test>hello_world.xml</Test>

You will receive the contents of that document as an outgoing message from the service. For example:

<?xml version="1.0" encoding="UTF-8" ?>
<hello>hi world</hello>


x
HTTP Emit Service (com.ibi.agents.XDHTTPEmitAgent)

Syntax:

com.ibi.agents.XDHTTPEmitAgent

Description:

This service is a general HTTP emitter for use within the service stack. The document is posted using HTTP to a designated server.

Parameters:

Parameter

Description

Target URL *

Specify a URL to post this information.

Action Method

Select one of the following methods from the drop-down list:

  • GET - Data on the URL and URL encoded.
  • POST (default) - Content-Length header.

Response content type

Overrides content type of response. Select one of the following options from the drop-down list:

  • application/EDI-X12
  • application/EDIFACT
  • application/XML
  • text/html
  • text/plain

User ID

User ID for Basic Authentication challenges.

Password

Password for Basic Authentication challenges.

Response timeout value in seconds

Seconds to wait for response before signaling 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

If set to true, relay headers as received (content type). Select one of the following options from the drop-down list:

  • true
  • false (default)

Proxy

Proxy

If set to true, emit through proxy server. Select one of the following options from the drop-down list:

  • true
  • false (default)

Proxy URL

URL of the proxy server.

Proxy User ID

User ID for proxy challenges.

Proxy Password

Password to access the proxy server.

HTTPS

Secure Connection

Use a secure connection. You may need to configure the Keystore under HTTPS section of the system properties if client authentication is required. Note, if keystore is configured in system properties make sure it has the CA certificate or the client certificate of the server you're connecting to. If keystore is not configured in system properties default truststore located under JRE_HOME/lib/security/cacerts will be used. Select one of the following options from the drop-down list:

  • true
  • false (default)

Use 128-bit Encryption

Enforces the use of 128-bit encryption. Select one of the following options from the drop-down list:

  • true
  • false (default)

Security Protocol

Select one of the following security protocols from the drop-down list:

  • SSL - Supports some version of SSL; may support other versions.
  • SSLv2 - Supports SSL version 2 or higher.
  • SSLv3 - Supports SSL version 3; may support other versions.
  • TLS (default) - Supports some version of TLS; may support other versions.
  • TLSv1 - Supports TLS version 1; may support other versions.

Agent Specific Parameters

Return *

Return from this agent. Select one of the following options from the drop-down list:

  • input
  • response (default)
  • status

Use Preemitters

If set to true, preemitters will be used for this emit. Select one of the following options from the drop-down list:

  • true (default)
  • false

Response Wrapper Tag

The tag name with which to wrap the response if the response is non-XML and must be XML

Response Base64 Encoded

Determines whether the response should be Base64 encoded. Select one of the following options from the drop-down list:

  • true
  • false (default)

In addition to the URL parameter, any other parameters are treated as headers, with the values specified in the parameter value. For example:

<agent>emitHttp
 <parm name='url' required='y'/>
 <parm name='header1' required='y'/ prompt='first header'>
 <parm name='header2' required='y'/ prompt='second header'>
</agent>

Header parameters with no value are ignored. Header parameters with values of x=y format are changed such that the x is the name and the y is the value. Thus a user can fill in the blanks.

The result of the post appears in the <native> section of the <emitstatus> result. If the returnresponse parameter is STATUS, the status message is always generated. If it is RESPONSE (the default) the actual information returned from the POST is emitted, except in the cases of an error in which case the status information is emitted. The POST is considered successful if the POST can reach its destination and a 200 status is received. A successful return response is considered to be XML if the first character is a <. Otherwise, a flat document is created.

Example:

The following is an example of configuration settings for an HTTP Emit service object in iWay Designer:

A simple way to test your HTTP Read service is to first configure a channel that uses an HTTP listener as the inlet and a File emitter as the outlet to examine the messages that are received by the listener. Your HTTP listener configuration settings would look similar to the following example, where an HTTP port and a document root are specified.

After you deploy and start the channel with the HTTP listener and File emitter, you can test run your process flow, which contains an HTTP Emit service object. You must supply an incoming document with the appropriate content (for example, HTML):

<html>
  <head>
    <title>my iWay http</title>
   </head>
     <body> Testing HTTP Emit Service! </body>
</html>

If the service runs successfully, you will receive this HTML document in the output folder that is specified by your File emitter. The HTTP listener channel picks up the document that is emitted by the HTTP Emit service.



x
HTTP Nonblocking Emit Service (com.ibi.agents.XDNHttpEmitAgent)

Syntax:

com.ibi.agents.XDNHttpEmitAgent

Description:

Emits HTTP messages to a client without interrupting a configured business process. For more information, see the iWay Service Manager Protocol Guide.

Parameters:

Parameter

Description

Configuration Parameters

Target URL

URL that is used to post this information.

HTTP Client Provider

HTTP client Provider that is used to manage connections for this emitter.

Action Method

Select one of the following supported methods from the drop-down list:

  • GET method with data on the URL and URL Encoded.
  • POST method with a Content-Length header.

Request Content Type

Content type for the HTTP request to be sent by this emitter. Select a value from the drop-down list or provide your own.

User ID

User ID for Basic Authentication challenges.

Password

Password for Basic Authentication challenges.

Request Header Namespace

Special register namespace from which HTTP headers for the outgoing request will be taken. Choose "Default Namespace" to send HDR type registers with no nonamespace prefix, or supply a namespace prefix here. "None" means that no special registers will be sent as HTTP headers.

  • Default Namespace - to send HDR type registers with no namespace prefix.
  • Supply a namespace prefix here to indicate which headers to send.
  • none - means that no special registers will be sent as HTTP headers.

Request Main Part Header Namespace

Special register namespace from which MIME headers for the outgoing request will be taken. Provide a prefix to control the request Main BodyPart headers in the presence of attachments. Selecting none means that no special registers will be sent as MIME headers.

Response Header Namespace

Special register namespace into which HTTP headers from the incoming response will be saved. Choose "Default Namespace" to create special registers with no namespace prefix, or supply a namespace prefix here."None" means that no special registers will be created.

  • Default Namespace- to create special registers with no namespace prefix.
  • Supply a namespace prefix here to indicate header namespace.
  • Empty namespace prefix will be treated as default

Excluded Headers

A comma delimited list (case insensitive) of headers that should not be sent with the request, even if they are found in the request header namespace.

Ask for Compressed Response

If set to True, the request will set the accept-encoding to indicate that that the client can accept a compressed response. If the response has a compressed content encoding, the client will automatically inflate the response.

Compress Request

If set to True, the request entities will be compressed using the selected encoding and the content-encoding header will be set accordingly.

Replace Connection?

If set to False, the connection is not returned to the connection pool immediately. The connection's identifier will be stored in the httpclient-key special register and the connection can be handled by the HTTP Client Manager agent.

Try Expect/Continue Handshake?

If checked, client will send the HTTP Expect: 100-continue header and await HTTP 100 response before sending request body.

IP Properties

Persistence

If checked, ask the server to maintain the connection.

Response Timeout value in seconds

The value in seconds to wait for a response before generating an error.

Agent Specific Parameters

Return

Return from this agent. Choose "input" to return input document, "status" for an XML document with transaction parameters and status, or "response" to capture output from the server.

Preemitter

If set to True, preemitters will not run.

Response Wrapper Tag

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

Response Base64 Encoded

If set to True, the response will use Base64 encoding.



x
HTTP Read Service (com.ibi.agents.XDHTTPReadAgent)

Syntax:

com.ibi.agents.XDHTTPReadAgent

Description:

This service reads an HTTP source via HTTP GET and returns a result. The GET facility input accepts a URL in the incoming document and issues an HTTP GET through that URL. The transform business service and standard output can accept and operate upon this output. It is presumed that some output is returned, otherwise an error is generated.

In a use case scenario, the HTTP Read service can be part of an architecture for a Web search engine, similar to the Google search engine. The service could be used to traverse or spider the contents of Web pages for indexing purposes.

Parameters:

Parameter

Description

URL Tag Name *

Tag name is the input document containing the URL.

The input document might be the following assuming that the tagname parameter is set to inurl:

<?xml version="1.0"?>
<inurl>http://localhost:1234/xmlone.xml</inurl>

In addition to the URL parameter, any other parameters denoted by <parm> are treated as GET parameters, with the values specified in the parameter value. For example:

<agent>emitHttp
 <parm name='url' required='y'/>
 <parm name='header1' required='y'/ prompt='first header'>
 <parm name='header2' required='y'/ prompt='second header'>
</agent>

GET parameters with no value are ignored. GET parameters with values of x=y format are changed such that the x is the name and the y is the value. Thus a deploy user can fill in the blanks. The returned information is passed on as the output document. If it begins with a <, it is considered XML; otherwise, a flat document is returned.

Example:

The following is an example of configuration settings for an HTTP Read service object in iWay Designer:

A simple way to test your HTTP Read service is to first configure a channel that uses an HTTP listener. Your HTTP listener configuration settings would look similar to the following example, where an HTTP port and a document root are specified.

After you deploy and start the channel with the HTTP listener, you can test run your process flow, which contains an HTTP Read service object. You must ensure that the file name you supply within the <Test> tag of your incoming document is valid and is also contained within the document root folder specified for your HTTP listener configuration settings. A sample HTTP read incoming document can have the following format:

<Test>http://localhost:1234/index1.htm</Test>

If the service ran successfully, you will receieve the contents of index1.hml as the output from the service. For example:



x
Inflate Service (com.ibi.agents.XDInflateAgent)

Syntax:

com.ibi.agents.XDInflateAgent

Description:

This service is used decompress the data that is compressed by the Deflate service (com.ibi.agents.XDDeflateAgent).

Parameters:

Parameter

Description

Inflated Format *

Determines the format of the inflated output. Select one of the following options from the drop-down list:

  • bytes (default)
  • xml

If xml is selected, the output will be parsed.

The edges returned are listed in the following table.

Edge

Description

success

Successful operation.

fail_operation

The decompression could not be performed. The data is probably not deflated.

fail_parse

The compressed data could not be accessed.



x
Insert SAML Assertion Service (com.ibi.agents.XDInsertSAMLAssertionAgent)

Syntax:

com.ibi.agents.XDInsertSAMLAssertionAgent

Description:

This service is used to generate a WSSE SecurityTokenReference containing an embedded SAML assertion.

Parameters:

Parameter

Description

XML Namespace Provider

Provider for the mapping between XML namespace prefix and namespace URI. If left blank, Elements in the security token will use the default namespace.

Create Parent Element

Determines whether the parent element is created if it is missing. Select true or false (default) from the drop-down list.

Security Token Parent Element

Path to the element where the security token will be inserted. The default value is:

/soapenv:Envelope/soapenv:Header/wsse:Security

If the Create Parent Element parameter is set to true, the XPATH expression must be of the form /comp1/comp2/... where each path component has the following form:

ns:elem[@ns1:attrib="attribValue"]

The ns: and ns1: namespace prefixes are optional, but if they are present they must be declared in the XML Namespace Provider parameter. The selector in square brackets is optional. If no element with a matching attribute is found, then both the element and the attribute will be created.

WSSE Security Token Reference Id

The value of the SecurityTokenReference ID Attribute. Subsequent agents can retrieve this value in the saml_token_id special register.

SAML Assertion Id

The value of the SAML Assertion ID Attribute. Subsequent agents can retrieve this value in the saml_assertion_id special register.

SAML Issue Instant

The value of the SAML IssueInstant attribute. Subsequent agents can retrieve this value in the saml_issue_instant special register.

SAML Issuer

The value of the SAML Issuer attribute.

SAML Major Version

The value of the SAML MajorVersion attribute. The default value is 1.

SAML Minor Version

The value of the SAML MinorVersion attribute. The default value is 1.

SAML Authentication Instant

The value of the SAML AuthenticationInstant attribute

SAML Authentication Method

The value of the SAML AuthenticationMethod attribute.

SAML Name Identifier Format

The value of the SAML NameIdentifier Format attribute.

SAML Name Identifier

The value of the SAML NameIdentifier element.

SAML Subject Confirmation Method

The value of the SAML ConfirmationMethod element.

The location where to insert the Security Token Reference is given by a (restricted) XPATH expression pointing to the parent element. The XPATH expression can contain namespace prefixes if the optional XML Namespace Map Provider is specified. If the parent does not exist, it is created. The optional WSSE Security Token Reference Id is used to generate a wsu:Id attribute on the wsse:SecurityTokenReference element. The Id is saved in the saml_token_id special register. This can be used to refer to the security token in an XML Digital Signature Reference using the URL expression #SREG(saml_token_id).

The required SAML Assertion Id is used to generate a saml:AssertionId attribute on the saml:Assertion element. The Assertion Id is saved in the saml_assertion_id special register for later reference. The required SAML Issue Instant is used to generate a saml:IssueInstant attribute on the saml:Assertion element. The issue instance is saved in the saml_issue_instant special register. As per the SAML schema, the following parameters are all required: SAML Issuer, SAML Major Version, SAML Minor Version, SAML Authentication Instant, SAML Authentication Method, SAML Name Identifier Format, SAML Name Identifier, and SAML Subject Confirmation Method. The Major and Minor Versions both default to 1.

The following sample shows an SAML Assertion created by the service:

Available Response Edges for XDInsertSAMLAssertionAgent

When you connect the XDInsertSAMLAssertionAgent object to an End object using the OnCustom build relation in a process flow, the available line edges are provided in the Line Configuration dialog box.

The following table lists and describes the available line edges for the XDInsertSAMLAssertionAgent object.

Line Edge

Description

OnError

Error

OnSuccess

Success

OnFailure

Failure



x
Insert WSSE Timestamp Service (com.ibi.agents.XDInsertWSSETimestampAgent)

Syntax:

com.ibi.agents.XDInsertWSSETimestampAgent

Description:

This service is used to generate a WSSE timestamp.

Parameters:

Parameter

Description

XML Namespace Provider

Provider for the mapping between XML namespace prefix and namespace URI. If left blank, the XPATH expression for the Timestamp Parent Element cannot contain namespaces.

Create Parent Element

Determines whether the parent element is created if it is missing. Select true or false (default) from the drop-down list.

Timestamp Parent Element

Path to the element where the timestamp will be inserted. The default value is:

/soapenv:Envelope/soapenv:Header/wsse:Security

If the Create Parent Element parameter is set to true, the XPATH expression must be of the form /comp1/comp2/... where each path component has the following form:

ns:elem[@ns1:attrib="attribValue"]

The ns: and ns1: namespace prefixes are optional, but if present, they must also be declared in the XML Namespace Provider parameter. The selector in square brackets is optional. If no element with a matching attribute is found, then both the element and the attribute will be created.

WSSE Timestamp Id

The value of the Timestamp ID attribute. Subsequent agents can retrieve this value in the wsse_timestamp_id special register.

Expiration Period

The time period after which the timestamp will expire. If left blank, the timestamp will never expire.

Use the following format:

[xxh][xxm]xx[s] 

For example, 1m30s is 90 seconds.

The Created time is always the current time. The Expires Time is the current time plus the given Expiration Period. If the Expiration Period is left blank, the Expires element will not appear and the timestamp will never expire. The location where to insert the timestamp is given by a (restricted) XPATH expression pointing to the parent Element. The XPATH expression can contain namespace prefixes if the optional XML Namespace Map Provider is specified. If the parent does not exist, it is created. The optional Timestamp Id will generate a wsu:Id attribute if specified. The Id is saved in the wsse_timestamp_id special register. This can beused to refer to the Timestamp in an XML Digital Signature Reference using the URL expression #SREG(wsse_timestamp_id).

The following example shows a Timestamp inserted at /soapenv:Envelope/soapenv:Header/wsse:Security with expiration period 1m30s (for example, 90 seconds) and Timestamp Id mytimestampid.

Available Response Edges for XDInsertWSSETimestampAgent

When you connect the XDInsertWSSETimestampAgent object to an End object using the OnCustom build relation in a process flow, the available line edges are provided in the Line Configuration dialog box.

The following table lists and describes the available line edges for the XDInsertWSSETimestampAgent object.

Line Edge

Description

OnError

Error

OnSuccess

Success

OnFailure

Failure



x
Insert WSSE Token Service (com.ibi.agents.XDInsertWSSETokenAgent)

Syntax:

com.ibi.agents.XDInsertWSSETokenAgent

Description:

This service is used to generate a WSSE Binary Security Token containing an X509 certificate.

Parameters:

Parameter

Description

KeyStore Provider

Provider for the keystore containing the key.

Key Alias

Alias for the key to insert into the security token.

XML Namespace Provider

Provider for the mapping between XML namespace prefix and namespace URI. If left blank, Elements in the security token will use the default namespace.

Create Parent Element

Determines whether the parent element is created if it is missing. Select true or false (default) from the drop-down list.

Security Token Parent Element

Path to the element where the security token will be inserted. The default value is:

/soapenv:Envelope/soapenv:Header/wsse:Security

If the Create Parent Element parameter is set to true, the XPATH expression must be of the form /comp1/comp2/... where each path component has the following form:

ns:elem[@ns1:attrib="attribValue"]

The ns: and ns1: namespace prefixes are optional, but if they are present they must be declared in the XML Namespace Provider parameter. The selector in square brackets is optional. If no element with a matching attribute is found, then both the element and the attribute will be created.

WSSE Security Token Id

The value of the BinarySecurityToken ID attribute. If left blank, the default value is x509_signer. Subsequent agents can retrieve this value in the wsse_token_id special register.

The WSSE Binary Security Token can later be refered to by an XML Digital Signature KeyInfo element and signed like any other XML content. The Keystore Provider and Key Alias specify which certificate will appear in the Security Token. There is no password to enter because we are only retrieving the public certificate corresponding to this private key. The location where to insert the Binary Security Token is given by a (restricted) XPATH expression pointing to the parent element.

The XPATH expression can contain namespace prefixes if the optional XML Namespace Map Provider is specified. If the parent does not exist, it is created. The optional WSSE Security Token Id is used to generate a wsu:Id attribute on the wsse:BinarySecurityToken element. The Id is saved in the wsse_token_id special register. This can be used to refer to the security token in an XML Digital Signature Reference using the URL expression #SREG(wsse_token_id). It can also be used to generate a KeyInfo/SecurityTokenReference with the Token Id expression SREG(wsse_token_id).

The following example shows a Binary Security Token.

Available Response Edges for XDInsertWSSETokenAgent

When you connect the XDInsertWSSETokenAgent object to an End object using the OnCustom build relation in a process flow, the available line edges are provided in the Line Configuration dialog box.

The following table lists and describes the available line edges for the XDInsertWSSETokenAgent object.

Line Edge

Description

OnError

Error

OnSuccess

Success

OnFailure

Failure



x
Internal Emit Service (com.ibi.agents.XDInternalEmitAgent)

Syntax:

com.ibi.agents.XDInternalEmitAgent

Description:

This service sends the document to a designated recipient. The document always goes to the recipient that is specified in the parameters.

Parameters:

Parameter

Description

Queue Name *

Name of the internal queue to post messages.

Avoid Preemitter

Determines whether any preemitter should be avoided. Select one of the following options from the drop-down list:

  • true (default)
  • false

Return *

Select one of the following options from the drop-down list:

  • status (default) - status document will be the output document.
  • input - input document will become the output document.

Call at EOS?

In a streaming environment, EOS (End of Stream) is the short message that is sent after the last document, which signifies the EOS. This parameter determines whether this service should be called for the EOS message? The default value is false.

Example:

In a sample use case, an Internal Emit service is used to forward incoming documents to an internal queue. The architecture for this use case consists of two channels. The first channel feeds incoming documents to the internal queue and the second channel is used to process the internal queue. The first channel also contains a route that is associated with a process flow where an Internal Emit service is used. For example:

Every time an incoming document is processed by the first channel, the document is added to the internal queue, for example, queue1. The second channel contains an inlet that is associated with an Internal listener to access queue1. For example:

The second channel also contains a Move route, which routes the documents that reside on queue1 to the appropriate outlet. This outlet can consist of a File or Email Emitter. For example:

As documents are picked up by the first channel, they are processed by the first channel and then by the second channel. When the processing is finished, the documents will appear at the final location, which is specified by the second channel's emitter. For example:



x
Is Reachable Service (com.ibi.agents.XDIsReachable)

Syntax:

com.ibi.agents.XDIsReachable

Description:

This service is used test whether a specific IP target is reachable. If the target can be reached, the service returns success. This service is useful for supporting alternate routes, such that a message can be directed to a a primary or a backup host.

Parameters:

Parameter

Description

Host *

Host to be checked for reachability.

Timeout *

A timeout period to attempt to reach the host. The default value is 3 seconds.

The edges returned are listed in the following table.

Edge

Description

OnSuccess

The host is reachable.

fail_unreachable

The host is not reachable.

fail_partner

The host is not known. For example, the host is not identifiable in the DNS.



x
iWay Adapter (com.ibi.agents.XDAdapterAgent)

Syntax:

com.ibi.agents.XDAdapterAgent

Description:

This service is used to call an iWay adapter.

Note: This service should be used as adapters are defined. To use this service, an adapter must first be configured using iWay Explorer.

Parameters:

Parameter

Description

iBSP URL *

Select an available iBSP URL from the drop-down list or type a URL using the following format:

http://host:port

where:

host

Is the name of the machine where iWay Service Manager is installed.

port

Is the port on which iBSP listens for SOAP requests. The default port is 9000.

The iBSP URL allows you to access targets defined in the iBSP repository.

Adapter *

The name of the configured adapter you are working with, for example, RDBMS.

Target *

The name of the user-defined target that is associated with the configured adapter, for example, Oracle11.

Class

The name of the Java class that implements the adapter associated with the service. This field is populated by iWay Service Manager when you create the Adapter service and should not be modified.

Descriptor

Key used by iWay Service Manager to locate the adapter target parameters to associate with the service. This field is populated by iWay Service Manager when you create the Adapter service and should not be modified.

Keys

Key used by iWay Service Manager to locate the adapter persistence keys associated with the service. This field is populated by iWay Service Manager when you create the Adapter service and should not be modified.

Create Error Document

Select one of the following options from the drop-down list:

  • false

    The service will throw an exception when the adapter throws an exception.

  • true

    The service will capture exceptions that occur when the adapter is invoked and returns an XML document encapsulating the error message.

Persist Connection

Select one of the following options from the drop-down list:

  • false

    Each invocation of the agent will create a new instance of the adapter, activate it, use it, passivate it, and throw it away.

  • true

    When an instance of the agent is created, it will create a new instance of the adapter and activate it. This adapter is reused by subsequent invocations of the agent.

  • pooled

    iWay Service Manager maintains an adapter cache keys by adapter class, target, and agent parameters. When invoked, the Adapter service will check the cache for the required adapter. If there is one, that adapter will be used and if not one will be created and added to the cache. The cache maintains only one adapter for each key combination and access to that adapter is synchronized.

The edges returned are listed in the following table.

Edge

Description

success

Successful operation of the adapter.

fail_operation

The adapter failed and did not report the direct cause.

fail_security

The adapter has returned a security violation.

fail_partner

The adapter reports that it cannot reach the needed external system or that system has returned an error.

cancelled

The operation has been cancelled due to a timeout or other cause.

Example:

It is recommended to use an iWay Adapter as a Service object for connection with adapters rather than this service. For more information, see the Configuring the Adapter in iWay Designer chapter in the iWay adapter documentation that corresponds to the specific adapter you are trying to add or define (for example, iWay XML Adapter for RDBMS User's Guide).



x
JDBC Service (com.ibi.agents.XDJdbcAgent)

Syntax:

com.ibi.agents.XDJdbcAgent

Description:

This service uses industry-standard JDBC to generate the standard <eda> <response> result. Because JDBC standards limit the available database operations that can be performed, this service is correspondingly limited. For example, this service cannot process the <focus> tag of the input document. However, this service can avail itself of any configured JDBC driver. This includes the iWay SAP, IMS, and transaction server drivers as well as drivers from third-party providers.

Note: This service is deprecated. As an alternative it is recommended to use the SQL service.

Parameters:

Parameter

Description

Output Format *

The format of the result.

Transaction Isolation Level

Transaction isolation level to be set if possible.

User ID

The user ID if it is not specified in the document.

Password

The password if it is not specified in the document.

JNDI name *

JNDI name for the requested data source.

Example:

The JDBC Data Server properties must be configured before you can use the JDBC service. If you already configured a server, for example, localDB, you can run this service using the following input document:

<eda>
   <request>
      <connection>
         <dsn>local_DB</dsn>
   <user>iway</user>
   <password>iway</password>
   <sql>
        <query>select * from BALLS</query>
   </sql>
      </connection>
   </request>
</eda>

If your connection parameters are valid and the JDBC driver is configured, you will receive a response document from your local database in the following format (for the row output type):

<?xml version="1.0" encoding="UTF-8" ?>
<eda>
<response>
  <timestamp>2009-04-29T22:53:44Z</timestamp>
 <cncresult>
  <result format="std">
    <resultset>
<colinfo>
   <col type="1" length="100" offset="0" nullable="1">name</col>
   <col type="1" length="10" offset="100" nullable="1">color</col>
   <col type="4" length="11" offset="110" nullable="1">amt</col>
   <col type="3" length="20" scale="0" offset="121"
    nullable="1">diameter</col>
   <col type="1" length="10" offset="141" nullable="1">type</col>
</colinfo>
<row>Old tennis ball grey 5 3 tennis</row>
<row>New swim ball blue 2 5 pool</row>
<row>Swift golf ball white 10 1 golf</row>
<row>Leather soccer ball checkered 1 20 soccer</row>
    </resultset>
  </result>
 </cncresult>
<execstatus>0</execstatus>
</response>
</eda>


x
JMSQ Emit Service (com.ibi.agents.XDJMSQEmitAgent)

Syntax:

com.ibi.agents.XDJMSQEmitAgent

Description:

This service emits an input document to a JMS (Java Messaging Server) queue. It returns a status document or the original input document as the output document. For more information on JMS queue, see the Queuing Adapters chapter in the iWay Service Manager Protocol Guide.

Parameters:

Parameter

Description

Connection factory *

The object store name.

Receiver queue *

The name of the receiver queue.

Messaging type

The message type.

JNDI URL *

The JNDI URL.

JNDI factory *

The JNDI factory class name.

Correlation ID

The correlation ID.

Correlation ID tag

The correlation ID tag.

User ID

A valid user ID for challenges.

Password

A valid password for challenges.

Acknowledgement

Acknowledgement mode, or transactional.

Preemitter

Should any preemitter be avoided?

Return document

Select one of the following options from the drop-down list:

  • status - status document will be the output document.
  • input - input document will become the output document.

Output message type

Select an output message type.

JMS Reply-to

Queue or Topic (used for JNDI lookup).



x
Local Master Service (com.ibi.agents.LocalMasterAgent)

Syntax:

com.ibi.agents.LocalMasterAgent

Description:

Passes the document to a separate, named workflow and awaits the result. This service accepts the name of a configured LOCAL protocol which can be configured in any manner desired. The routes are pooled for efficiency. Unlike using an internal emitter to route a document to the internal protocol, this call is synchronous. Any errors reported by the named workflow are reflected in the calling flow, and any timeout configured for the flow includes time in the called flow. LocalMasterAgent differs from simply calling an external process flow in the normal manner in that a complete workflow is available including preparsers, reviewers, and so on. It is strongly recommended that this agent not be used unless no other means are available to accomplish the application purposes.

Parameters:

Parameter

Description

Name

Name of the defined local master (channel) to be called.

Call at EOS?

In a streaming environment, EOS (End of Stream) is the short message that is sent after the last document, which signifies the EOS. This parameter determines whether this service should be called for the EOS message? The default value is false.



x
Mail Attach Service (com.ibi.agents.XDMailAttachAgent)

Syntax:

com.ibi.agents.XDMailAttachAgent

Description:

This service is used to process an email attachment.

Parameters:

Parameter

Description

Attachment Tag *

Tag used to identify an attachment (attachment is the default).

Encode

If set to true, everything is base64 encoded, if false only non-txt is encoded.

Target

Target of attachments.

Output Directory

The target output directory.

Output File Name

The output file name, which can contain an asterisk character (*) and is expanded to a timestamp, if an empty attachment name is used.

Note: If you want to preserve the original name of the attachment, do not specify a value for this parameter.

Delete Mail Object

If no other component needs the mail object, it should be deleted.

Example:

In a sample scenario, a channel can be configured that uses an Email listener as an inlet, and a Mail Attach service as a route. The Mail Attach service processes the attachment from the incoming email and places the resulting document within the attachment tag. The following is an example of configuration settings for a Mail Attach service object in iWay Designer:

When an email containing simple HTML <Test><hello>hi</hello></Test> with an attachment file (test.xml) is sent to the address specified for the email listener, the channel runs and the Mail Attach service processes the email producing the following output document:

<?xml version="1.0" encoding="ISO-8859-1" ?>
<Test><hello>hi</hello><attachment mime="text/xml" file="c:\out\mailattch2009-05-13T20_05_57.986Z" name="test.xml"/></Test>

Notice that the attachment element was added to the original email, along with the location of the emitted attachment file, which you can locate as specified.



x
Mark Attach Service (com.ibi.agents.XDMarkAttachAgent)

Syntax:

com.ibi.agents.XDMarkAttachAgent

Description:

This service makes the body of a document into an attachment.

Parameters:

Parameter

Description

Attachment Name

Name for this attachment, usually the file name.

Attachment Type

Mime type; if omitted one is generated based on the data format.

Body Result *

Determines how to handle the body of the document.



x
Move Service (com.ibi.agents.XDMoveAgent)

Syntax:

com.ibi.agents.XDMoveAgent

Description:

This service moves the input to the output without duplicating the information. This is the fastest means of copying from input to output.

In a use case scenario, the Move service can be used as a route in a channel. This channel may need to parse an EDI document with a preparser or emit the document to a message queue.


Top of page

x
MQ Emit Service (com.ibi.agents.XDMQEmitAgent)

Syntax:

com.ibi.agents.XDMQEmitAgent

Description:

This service emits an input document to a Message Queuing (MQ) queue. It returns a status document or the original input document as the output document. For more information on MQ, see the Queuing Adapters chapter in the iWay Service Manager Protocol Guide.

Parameters:

Parameter

Description

correlid

The correlation ID.

queuemanager

The queue manager name.

queuename

The queue name.

The message ID appears in the <name> element of the <emitstatus> result.



x
MSMQ Emit Service (com.ibi.agents.XDMSMQEmitAgent)

Syntax:

com.ibi.agents.XDMSMQEmitAgent

Description:

This service emits an input document to a Microsoft Message Queuing (MSMQ) queue. It returns a status document or the original input document as the output document. For more information on MSMQ, see the Queuing Adapters chapter in the iWay Service Manager Protocol Guide.

Parameters:

Parameter

Description

host

The email host.

subject

The subject of the message.

to

The intended recipient as an email address.



x
MTOM Service (com.ibi.agents.XDMTOMAgent)

Syntax:

com.ibi.agents.XDMTOMAgent

Description:

The Message Transmission Optimization Mechanism (MTOM) service can be used to format a document for MTOM transmission or to reconstruct a document received in MTOM format.

Parameters:

Parameter

Description

Operation

Select the specific operation to perform from the drop-down list. Available options include:

  • Reconstruct the original message
  • Create an MTOM package
  • Add an Include

Delete Attachments

If the Reconstruct the original message option is selected for the Operation parameter, the Delete Attachments parameter specifies whether to delete the attachments that have replaced xop:Include elements.

Element Path

If the Create an MTOM package option is selected for the Operation parameter, you must specify an XPATH expression for the Element Path parameter that returns the set of base64binary nodes to extract.

If the Add an Include option is selected for the Operation parameter, you must specify an XPATH expression that returns the element where the xop:Include element will be added.

XML Namespace Provider

A provider for the mapping between XML namespace prefix and namespace URI in the Element Path.

Attachment Content-Type

If the Create an MTOM package option is selected for the Operation parameter, this is the Content-Type set on a new attachment when the xmlmime:contentType attribute is absent on the extracted element.

Attachment Content-ID

If the Add an Include option is selected for the Operation parameter, this value is the Content-ID of the existing attachment being referred to.

If the Create an MTOM package option is selected for the Operation parameter, the Content-ID of the new attachments will be the prefix specified here followed by a numeric suffix.



x
Node Set Extract Service (com.ibi.agents.XDNodeSetExtractAgent)

Syntax:

com.ibi.agents.XDNodeSetExtractAgent

Description:

This service creates a new document based on a node or set of nodes in the original input document.

Parameters:

Parameter

Description

XPATH Expression *

The XPATH expression which represents the node set.

Root name

Optional root for multiple children.

Example:

The best application of the Node Set Extract service would be to extract the sub-part of an incoming XML document. If you provide the XPATH location for the node where the extraction begins, you will receive an output of the XML sub-tree from the original document with the specified node as a root.

In the following example, the XPATH expression is specified as Test/attachment/. The incoming document consists of the following:

<Test><hello>hi</hello><attachment><a>555</a></attachment></Test>

The Node Set Extract service will return a result of the edge as success, along with the following output document:

<?xml version="1.0" encoding="UTF-8" ?>
<attachment>
   <a>555</a>
</attachment>


x
P Flow Service (com.ibi.agents.XDPFlowAgent)

Syntax:

com.ibi.agents.XDPFlowAgent

Description:

This service passes the input document through a process defined in the System area.

Parameters:

Parameter

Description

Name of the PFLOW *

The name of the process flow to run. This value could be a string value or a SREG reference for dynamic process flow invocation. In order for the service to be successful, the referenced process flow must be deployed as a service during run time.

Called at EOS?

In a streaming environment, EOS (End of Stream) is the short message that is sent after the last document, which signifies the EOS. This parameter determines whether this service should be called for the EOS message? The default value is false.

Example:

In a use case scenario, the PFlow service can be used to invoke a specified process flow. It can be used in situations where a specific process flow must be invoked dynamically, or when its parameters are being determined in the workflow. For example, you can call a process flow name stored as an SREG value.

The following is an example of configuration settings for a PFlow service object in iWay Designer:

Using an SREG allows you to add or change the name or list of names for the process flow to be called without modifying the original "caller" process flow.

The single or multiple process flows that are being called need to be deployed as services in order to be found by the PFlow service. Services can be deployed using the iWay Service Manager Administration Console from the Services category in the Deployments section, as shown in the following image.



x
P Flow Test Service (com.ibi.agents.XDPFlowTestAgent)

Syntax:

com.ibi.agents.XDPFlowTestAgent

Note: This agent is intended for internal use only.


Top of page

x
Parse to XML Service (com.ibi.agents.XDToXML)

Syntax:

com.ibi.agents.XDToXML

Description:

This service parses a flat document into an XML document. If the input is already in XML format, this service performs no action. This service is useful if a flat (non-XML) input document has been received and must be converted into XML format for additional processing.

Two possible returns are supported:

Example:

In a use case scenario, a response document is received from a Web server using an HTTP emitter, which sends a request to the server. When the response is received from the Web server, it is unreadable by a File reader until it is converted to XML format. As a result, using the Parse to XML Service is required to convert the message, as shown in the following image.

On success, the output of this process flow is an XML message. If the response can not be parsed as a valid XML file, an error is returned.


Top of page

x
PF File Ops Service (com.ibi.agents.XDPFFileOpsAgent)

Syntax:

com.ibi.agents.XDPFFileOpsAgent

Description:

This service performs operations on the specified file(s) including copy, move, rename, prepend, append, delete, size, and exist.

Parameters:

Parameter

Description

Operation *

Command to execute when service goes active.

File (from) *

Originating file to be operated on. Relative or absolute file paths are supported explicitly or through a SREG or XPATH expression evaluated using the incoming document.

File (to)

Destination file to be operated on. Wild cards accepted. Required except for delete, size, exists.

Size

Special register designated to hold size. Required for size.

Out Document *

Document returned by operation (bad input defaults to result)

Action on Failure *

Determines whether input document or status document is returned on failure.

Retry

If non-zero, will retry the operation n times at one-second intervals.

Example:

If running it using the move operation on a specified file, the result is:

<?xml version="1.0" encoding="UTF-8" ?>
<manager>
<status>OK</status>
<msg>Success</msg>
</manager>


x
PF File Read Service (com.ibi.agents.XDPFFileReadAgent)

Syntax:

com.ibi.agents.XDPFFileReadAgent

Description:

This service embeds a specified binary, XML or text file in the input document.

Parameters:

Parameter

Description

Name of File *

File to be read. Relative or absolute file paths are supported explicitly or through a SREG or XPATH expression evaluated using the incoming document.

Delete after read *

Determines whether to delete the file read on a successful read.

Format *

Format of the input data.

Tag

Name of the XML tag to wrap the data read in. Required if data is flat.

Character Set Encoding

Character set encoding of the document to be read in. Default system encoding will be used if left blank.

Embed *

Determines whether to embed the data from the read operation into the input document.

Base64 Encode *

Base64 encode the read in document when embedding.

Parent Tag

Where in the input document the input data should be embedded.

Retry

If non-zero, will retry the operation n times at one-second intervals.



x
PFFTP Ops Service (com.ibi.agents.XDPFFTPOpsAgent)

Syntax:

com.ibi.agents.XDPFFTPOpsAgent

Description:

This service performs operations on the specified file(s) including copy, move, rename, prepend, append, delete, size, and exist.

Parameters:

Parameter

Description

Operation *

Command to execute when service goes active.

File (from) *

Originating file to be operated on. Relative or absolute file paths are supported explicitly or through a SREG or XPATH expression evaluated using the incoming document.

File (to)

Destination file to be operated on. Wild cards accepted. Required except for delete, size, exists.

Host name *

DNS name (or IP address) of the FTP server that you want to connect to.

Password *

Valid password for the FTP server.

User Name *

Valid user ID on the FTP server.

Port *

Port to connect to on the FTP site.

Size

Special register designated to hold size. Required for size.

Out Document *

Document returned by operation (bad input defaults to result).

Action on Failure *

Determines whether input document or status document returned on failure.

Retry

If non-zero, will retry the operation n times at one-second intervals.



x
PFFTP Read Service (com.ibi.agents.XDPFFTPReadAgent)

Syntax:

com.ibi.agents.XDPFFTPReadAgent

Description:

This service embeds a specified binary, XML or text file in the input document.

Parameters:

Parameter

Description

Name of File *

File to be read. Relative or absolute file paths are supported explicitly or through a SREG or XPATH expression evaluated using the incoming document.

Delete after read *

Determines whether to delete the file read on a successful read.

Host name *

DNS name (or IP address) of the FTP server that you want to connect to.

Password *

Valid password for the FTP server.

User Name *

Valid user ID on the FTP server.

Port *

Port to connect to on the FTP site.

Format

Format of the input data.

Tag

Name of the XML tag to wrap the data read in. Required if data is flat.

Character Set Encoding *

Character set encoding of the document to be read in. Default system encoding will be used if left blank.

Embed *

Determines whether to embed the data from the read operation into the input document.

Parent Tag

Determines where in the input document the input data should be embedded.

Action on Failure *

Determines whether input document or status document returned on failure.

Retry

If non-zero, will retry the operation n times at one-second intervals.



x
Preemitter in Flow Service (com.ibi.agents.XDPreemitAgent)

Syntax:

com.ibi.agents.XDPreemitAgent

Description:

Runs a specified preemitter. This service is usually used before an emit service.

Parameters:

Parameter

Description

Preemitter

Name of the defined preemitter to run. If blank, standard selection is used.

return*

Output is the preemit result. If the preemitter fails, 'status' - status document will be the out document. 'input' - in document will become the out document.

Call at EOS? *

In a streaming environment, EOS (End of Stream) is the short message that is sent after the last document, which signifies the EOS. This parameter determines whether this service should be called for the EOS message? The default value is false.

Example:

Running this service with XDCharRepl, the following result is provided:

<?xml version="1.0" encoding="UTF-8" ?> 
<emitstatus status="1">
<protocol>preemit</protocol>
<parms>
   <parm name="wanteos">false</parm>
   <parm name="return">status</parm> 
   <parm name="name">com.ibi.preemit.XDCharRepl</parm>
</parms>
<timestamp>2009-01-28T00:26:14.113Z</timestamp>
<status>1</status> 
</emitstatus>


x
Print Emit Service (com.ibi.agents.XDPrintEmitAgent)

Syntax:

com.ibi.agents.XDPrintEmitAgent

Description:

This service is a general print emitter for use within the service stack.

Parameters:

Parameter

Description

Printer URL *

The URL for the printer.

Server Name *

Name of the printer at the URL.

Copies

Number of copies.

Retries

Number of retries if print server down.

Print format

Print format.

Secure

If enabled, secure connection will be used.

Secure 128-bit

If enabled, use of 128-bit encryption will be enforced.

Proxy Server

If enabled, emit through proxy server.

Proxy URL

The URL of the proxy server.

User ID

User ID for challenges.

Password

Password for challenges.

Preemitter

Should any preemitter be avoided?



x
Protocol Business Services

Protocol business services are standard business services that can emit a document to a designated target or can read from a source. In the standard situation for output, a <replyto> should be used, however for some circumstances, a protocol business service can be employed. In all cases, if an emitter can be used it should be used in preference to a protocol business service. Each protocol business service takes initialization parameters appropriate to the protocol type.

Protocol Agents Result Document

<emitstatus>
<protocol>name</protocol>
<status>status code</status>
<parms>stringOfParms</parms>
<native>nativeSystemErrorCode</native>
<text>error descriptive text</text>
<name>nameOfCreatedFile</name>
<retries>numberOfRetries</retries>
<timestamp>timeOfCompletion</timestamp>
</emitstatus>

The output edges returned are listed in the following table.

Edge

Description

success

Standard success edge.

fail_parse

Could not parse the XPATH expression or other entered function.

fail_operation

File write failure occurred.

notfound

No information meeting the source criteria was located.



x
QA Service (com.ibi.agents.XDQAAgent)

Syntax:

com.ibi.agents.XDQAAgent

Description:

This service emits a flattened copy of the input document to a file named in the init() parameters. The business service outputs the document (XML or flat) either in QA mode or always, depending on the setting of a parameter. If the QA mode is not enabled (set in the Diagnostic System Properties Console Configuration page) and the always parameter is not set, this business service acts as a move business service. This business service is designed to work as a chained business service for debugging purposes. The document and all special registers are included in the output.

Parameters:

Parameter

Description

Where *

File pattern to receive trace file.

When

Determines when to emit the information.

Name

Identifier name to mark emitted trace document.

Emit input

Location (file pattern} to which to emit actual input document. If omitted or empty, the incoming document is not emitted.

Base64 Decode

If set, the value is assumed to be in base64 notation. Only applicable is a specific write value is specified.



x
RDB Service (com.ibi.agents.XDRDBAgent)

Syntax:

com.ibi.agents.XDRDBAgent

Parameters:

Parameter

Description

Format *

Format of result.

Property Name

Name of properties group (if none, DSN is used).

Transaction level

Transaction isolation level to be set if possible.

URL

URL to reach the data source.

JDBC driver

JDBC driver to use.

User ID

User ID if not in the document.

Password

Default password if not in the document.

JNDI name

JNDI name for the registered data source.

Datasource type

Type of data source.



x
Route Service (com.ibi.agents.XDRouteAgent)

Syntax:

com.ibi.agents.XDRouteAgent

Description:

This service routes based on specified routing rules.

Parameters:

Parameter

Description

Routing Rules *

Name of rules section to be used as basis of routing.

Special Register Name *

Name of special register to set from selected destination.

Output Type

Type of output from this service.



x
Rule Router Service (com.ibi.agents.XDRuleRouterAgent)

Syntax:

com.ibi.agents.XDRuleRouterAgent

Parameters:

Parameter

Description

Error Location *

The error output directory.

Error Mask *

The error file name with possible wild cards.

Valid Location

The valid output directory.

Valid Mask

The valid file name with possible wild cards.

Ack Location

The acknowledgement output directory.

Ack Mask

The acknowledgement file name with possible wild cards.

Original Location

The original data output directory.

Original Mask

The original data file name with possible wild cards.

Status Location *

The status document output directory.

Status Mask *

The status document file name with possible wild cards.



x
Run OS Shell Command Service (com.ibi.agents.XDRunCmdAgent)

Syntax:

com.ibi.agents.XDRunCmdAgent

Description:

This service runs a system command.

Example:

The following is an example of configuration settings for the Run OS Shell Command service in the iWay Service Manager Administration Console:

In this example, the Run OS Shell Command service runs a command prompt command to invoke a third-party FTP program for a file transfer that is required. Similarly, you can also use this service to run the supported commands in your shell environment as needed by referring to third-party tools.


Top of page

x
Security: Authenticate/Impersonate Service (com.ibi.agents.XDPrincipalAgent)

Syntax:

com.ibi.agents.XDPrincipalAgent

Description:

The relationship between a user and their credentials creates a principal. The arrival of a message with standardized user information, such as HTTP, automatically authenticates the user and creates the "base" principal for a channel. For protocols that either do not have standardized security information, or when it is desired to "change" the current principal for [some of] the remainder of message processing (for example, by using information in the message) the XDPrincipal service can authenticate the user and/or push/pop the principal. Changing the principal for some portion of the message processing is called impersonation.

The iWay Functional Language (iFL) functions _hasrole() and _getprin() operate on the current principal.

Parameters:

Parameter

Resolved

Description

Action*

Initialization

Action to be performed by agent. Select one of the following options from the drop-down list:

  • Authenticate (auth) - The user is authenticated against the realm, but the principal is not changed.
  • Impersonate (push) - The user is authenticated and the principal is pushed.
  • Pop (pop) - The current principal is popped (deleted). You cannot pop past the base principal. Managing the relationship between impersonation push and the pop is the responsibility of the process designer.

Realm*

Initialization

Authentication realm provider to use. The authentication realm must be configured at the time the service is used.

User

Per Message

The user to be authenticated.

Credential

Per Message

The credential used to authenticate the user.

The edges returned are listed in the following table.

Edge

Description

success

The user is authenticated.

fail_security

The user is not authenticated.



x
Snip Service (com.ibi.agents.XDSnipAgent)

Syntax:

com.ibi.agents.XDSnipAgent

Description:

This service sends a subtree of the input document to the output document. This business service is especially useful in pulling body structures from documents that surround the body with a header structure.

Parameters:

Parameter

Description

Target *

The name of the node of the desired subtree.

Type *

Type of target node.

Example:

The following XML is used to run the service:

<?xml version="1.0" encoding="UTF-8" ?>
<iway>
<response totalrows="4">
<cncresult>
<result format="std">
<resultset rowcount="4">
<colinfo>
   <col type="1" length="100" offset="0" nullable="1">name</col>
   <col type="1" length="10" offset="100" nullable="1">color</col>
   <col type="4" length="11" offset="110" nullable="1">amt</col>
   <col type="3" length="20" scale="0" offset="121"
   nullable="1">diameter</col>
<col type="1" length="10" offset="141" nullable="1">type</col>
</colinfo>
<row>Old tennis ball grey 5 3 tennis</row>
<row>New swim ball blue 2 5 pool</row>
<row>Swift golf ball white 10 1 golf</row>
<row>Leather soccer ball checkered 1 20 soccer</row>
</resultset>
</result>
</cncresult>
<timestamp>2009-03-26T18:48:55Z</timestamp>
<execstatus>0</execstatus>
</response>
</iway>

As a result, the following subtree of the correct content is returned:

<?xml version="1.0" encoding="UTF-8" ?>
<resultset rowcount="4">
<colinfo>
   <col type="1" length="100" offset="0" nullable="1">name</col>
   <col type="1" length="10" offset="100" nullable="1">color</col>
   <col type="4" length="11" offset="110" nullable="1">amt</col>
   <col type="3" length="20" scale="0" offset="121"
   nullable="1">diameter</col>
<col type="1" length="10" offset="141" nullable="1">type</col>
</colinfo>
<row>Old tennis ball grey 5 3 tennis</row>
<row>New swim ball blue 2 5 pool</row>
<row>Swift golf ball white 10 1 golf</row>
<row>Leather soccer ball checkered 1 20 soccer</row>
</resultset>


x
Sonic Emit Service (com.ibi.agents.XDSonicEmitAgent)

Syntax:

com.ibi.agents.XDSonicEmitAgent

Description:

This service emits data using the Sonic version of JMS to a queue or topic. For more information, see the iWay Service Manager Protocol Guide.

Parameters:

Parameter

Description

Queue Name *

The name of the receiver queue.

Broker URL *

URL (address) used by the listener to connect to the Sonic broker. The format of the URL is Protocol://host:port. If Service Manager is listening on a Sonic broker configured to listen on TCP, the format of the URL is tcp://host:port. The default TCP port on which Sonic listens is 2506. This value is configured in the Sonic broker.ini file. When Service Manager listens to Sonic, the URL is in the form of http://host:port where the HTTP port is defined in the Sonic broker.ini file.

The Sonic listener supports fail over if unable to reach a particular broker. You must provide a comma-separated list of broker URLs. The client attempts to connect to brokers in the list, for example, tcp://host:port, tcp://host:port.

User ID

User ID for challenges.

Password

Password for challenges.

Messaging type

The messaging type. Select one of the following options from the drop-down list:

  • queue
  • topic

Output Message Type

The output message type. Select one of the following options from the drop-down list:

  • bytes
  • text
  • dynamic

Ackmode

The acknowledgement mode, or transactional. Select one of the following options from the drop-down list:

  • auto
  • dupsok
  • client
  • trans

Send Persistently

Support for persistent and non-persistent messages. In the event of a network or system failure, the persistent option prevents messages from being lost.

In the event of a broker or Service Manager failure, non-persistent messages are volatile. Persistent messages are saved to disk.

Load balance

Determines whether to load balance among brokers. Select true or false.

Duplicates Detect

Determines whether to detect for duplicates. Select true or false.

Priority

Priority of the message, which can also be specified using XPATH(). The default is 3.

Correlation ID

Correlation ID of the message, which can also be specified using XPATH().

Preserve undelivered

Determines whether to preserve undelivered documents. Select true or false.

Notify undelivered

Determines whether to notify if documents are undelivered. Select true or false.

Preemitter

Should any preemitter be avoided?

Fault Tolerant

Determines whether the listener is connecting to the Sonic Broker as a fault tolerant client or not. The default value is false, that is, the listener is not connecting as a fault tolerant client.

This feature is supported only when the Sonic Broker is installed with a Sonic Fault Tolerance license code.

Sequential

When multiple brokers listed, this parameter determines whether they are used sequentially or randomly. Select true or false.

Reconnect Fault Timeout

Determines how long to wait (in seconds) before trying to reconnect.

Initial Connect Timeout

Determines how long to wait (in seconds) after failing initially, before trying to reconnect.

Return document

Select one of the following options from the drop-down list:

  • status - status document will be the output document.
  • input - input document will become the output document.


x
SP Router Service (com.ibi.agents.XDSPRouter)

Syntax:

com.ibi.agents.XDSPRouter

Description:

This service stacks a stored procedure to handle an EDA doc SP tag.

Parameters:

Parameter

Description

prefix

The path to prepend to an agent (service) name.



x
Split Service (com.ibi.agents.XDSplitAgent)

Syntax:

com.ibi.agents.XDSplitAgent

Description:

This service splits an incoming document to multiple documents according to XSLT transform.

Parameters:

Parameter

Description

Directory *

Path pattern for the split files.

Transform *

XSLT file name and location.



x
Split To MQ Service (com.ibi.agents.XDSplitToMQAgent)

Syntax:

com.ibi.agents.XDSplitToMQAgent

Description:

This service splits an incoming document into multiple documents according to the document format and outputs resulting documents into the specified MQ/Series queue.

Parameters:

Parameter

Description

Manager *

Name of the local MQ Series queue manager to be used.

Queue name *

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, which is needed if you are using MQ client.

MQ port

The MQ port, which is needed if you are using MQ client. The default is 1414.

Channel

The MQ server channel, which is needed if you are using MQ client.

Delivery

Request confirmation of delivery.

Arrival

Request confirmation of arrival.

Report Queue

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

Priority

Priority of message, which can be specified using XPATH(). The default is 3.

Format

Name of MQ message format. The default is STRING.

Type

Name of MQ message type.

Message persistence

Message persistence. Default is as defined for the queue.

Expiry

An expiry time expressed in tenths of a second. The default is unlimited.

MQ Character set

MQ Character set, default as per queue manager.

Attributes

Include user attributes in the emitted document.

Preemitter

Should any preemitter be avoided?

SSL CipherSpec

The SSL Cipher Specification being used.

Return document

Select one of the following options from the drop-down list:

  • status - status document will be the output document.
  • input - input document will become the output document.

Join Local Transaction?

If the listener is a transaction manager, should this emit be rolled back if the transaction fails?

Call at EOS?

In a streaming environment, EOS (End of Stream) is the short message that is sent after the last document, which signifies the EOS. This parameter determines whether this service should be called for the EOS message? The default value is false.



x
SQL Service (com.ibi.agents.XDSQLAgent)

Syntax:

com.ibi.agents.XDSQLAgent

Description:

This service enables you to execute an arbitrary SQL statement, specified as a service configuration parameter. The service returns an EDA response document, as defined elsewhere. This service differs from the more complete RDBMS services and adapters in that it does not interrogate an iWay response document to obtain its SQL. Instead, it accepts the SQL as a configuration parameter and modifies the statement based on the current document or environment. The SQL expression can be modified during execution by iWay standard parameter expressions.

Using the SQL service instead of the RDMBS Adapter is preferred in cases where dynamically built queries are processed or when simple (non-looping) SQL statements need to be processed quickly. This service also provides conditional transactionality support, multi-part transactional support, advanced SQL language capabilities, and error-handing features.

Parameters:

Parameter

Description

SQL DML *

The SQL statement, which can also evaluate an iFL expression to build an SQL statement dynamically. For example, inserting SREG(value) into the text of your query.

Evaluate SQL

If set to true, an attempt is made to treat the SQL as an expression. This may not be appropriate to all SQL. For example, quotes in evaluated strings must be escaped by doubling.

Output Format *

The format of the result.

Transaction Isolation Level

Transaction isolation level to be set if possible.

Pool Connections

If set to true, connections are pooled.

Validate Pooled Connection?

If set to true, an attempt to execute the specified SQL statement is made before reusing a pooled connection.

Validation Statement

SQL statement to execute when testing a pooled connection before use. The default value is recommended for most DBMS.

Attempt Read Only

For select set JDBC 'read only' flag. Some drivers cannot handle this optimization and can give security failures.

Connection Properties

Properties to apply to a connection.

Need Commit

Should a commit be performed on completion? If yes, pools will be built accordingly.

Timeout

Number of seconds this service will wait for an operation to complete. A value of 0 means no timeout check.

Max Rows

Maximum rows if query DML (0 is all).

Make Siblings

If set to true, sibling documents are created for each Max Rows group.

Max Siblings

Maximum siblings of maximum rows (if siblings selected).

Emit No Empty

If set to true, empty documents are not emitted.

Issuance Strategy

Issuance strategy: via SQL construction or via SQL bind.

Reply Node Name

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

Base 64 if Needed

If set to true, all fields are checked for base64.

Call at EOS?

In streaming a last call is made AFTER the last document. Does this Service want to be called?

Connection

JDBC Driver *

The JDBC driver to use.

Data Source URL *

The URL to reach the data source.

User ID

Default user ID for the connection.

Password

Default password for the connection.

Example:

To run the SQL service, you must first configure a database connection. The service will run with any given input document. The following is an example of configuration settings for an SQL service object in iWay Designer, where a connection to an MSSQL Server database is configured:

If your connection parameters are valid and the appropriate database driver is configured (see the iWay Service Manager User’s Guide for more information), you will receive a response document from your local database in the following format (for the row output type):

<?xml version="1.0" encoding="UTF-8" ?>
<iway>
<response totalrows="4">
<cncresult>
<result format="std">
<resultset rowcount="4">
<colinfo>
  <col type="1" length="100" offset="0" nullable="1">name</col>
  <col type="1" length="10" offset="100" nullable="1">color</col>
  <col type="4" length="11" offset="110" nullable="1">amt</col>
  <col type="3" length="20" scale="0" offset="121"
  nullable="1">diameter</col>
  <col type="1" length="10" offset="141" nullable="1">type</col>
</colinfo>
<row>Old tennis ball grey 5 3 tennis</row>
<row>New swim ball blue 2 5 pool</row>
<row>Swift golf ball white 10 1 golf</row>
<row>Leather soccer ball checkered 1 20 soccer</row>
</resultset>
</result>
</cncresult>
<timestamp>2009-05-13T22:45:10Z</timestamp>
<execstatus>0</execstatus>
</response>
</iway>


x
SREG Service (com.ibi.agents.XDSREGAgent)

Syntax:

com.ibi.agents.XDSREGAgent

Description:

This service sets one or more special registers under program control. The registers can be set to any of the supported scopes (message, flow, or thread) and can be of any defined category (hrd, user, or doc). Registers cannot be set above the Message scope.

Parameters:

Parameter

Description

Type of variable

Type of variable (headers appear in emitted documents as header values). Select one of the following options from the drop-down list:

  • User

    This variable is part of the process flow logic and is the most commonly used type.

  • Document

    This variable is specific to the incoming document, such as the name of the input document.

  • Header

    This variable is part of the document routing information, such as an HTTP header or an IBM MQSeries descriptor.

  • Delete

    This variable indicates the removal of the register set that is used in a process flow.

Scope of variable

For process flows, scope can be for all nodes or only nodes forward on this edge. Select one of the following options from the drop-down list:

  • Message
  • Flow
  • Thread

Flow- and message-scoped variables have one shared copy for the entire process flow. Therefore, a change made to the variable will be seen on all parallel paths. Unless various points of the parallel process flows are synchronized, the results that are written to a global variable may leave the variable with an unpredictable value.

Flow-scoped variables are deleted at the termination of the process flow (or sub-flow) in which they are declared. If you need a variable to be available to the calling process flow (parent flow) or to subsequent components, such as outlets and emitters, select Message as the scope.

Thread-scoped variables are duplicated for each parallel document path, allowing independent manipulation of each copy. After parallel paths converge at a Join object, the value of the thread is undefined.

Automatic evaluation

Causes contents to be evaluated to hold functions. Select one of the following options from the drop-down list:

  • true

    Evaluates an SREG every time it is retrieved.

  • false (default)

    Evaluates an SREG only once, as the value is stored.

To summarize, if you select false, the expression is not evaluated upon storage into the SREG. If you select true, the contents of the SREG are evaluated every time it is retrieved.

For expressions that have different results at different times, this offers more functionality than storing the result once (for example, an expression that formats a timestamp saved to an SREG).

However, if the Automatic evaluation parameter is set to true for _flatof(), XPATH, or other operations that pertain to the document itself, the result will always be NULL because access to “the document” is not available.

Call at EOS?

In a streaming environment, EOS (End of Stream) is the short message that is sent after the last document, which signifies the EOS. This parameter determines whether this service should be called for the EOS message? The default value is false.

Example:

The SREG Service can be used to save a state of the current document or a document specific parameter, such as an XPATH value. For example, you need to run a transformation on a document, but also want to capture the document first by saving it in a SREG value. In the event of an error during the transformation, you can provide the original document that caused the error.

The service can be invoked using the typical parameter values, as shown in the following image:

The user-defined parameters pane is where the SREGs must be defined, as shown in the following image:

The following SREG types are supported:



x
SREG Insert Service (com.ibi.agents.XDSregInsertToDocAgent)

Syntax:

com.ibi.agents.XDSregInsertToDocAgent

Description:

This service inserts special register groups into the document. Select a prefix or a namespace for a group of registers and insert them as elements under the specified node. Special register names and values will be inserted as attributes. You would want to use this service if you need to insert a number of elements into your document, but you do not initially know how many of them will be defined in runtime.

Parameters:

Parameter

Description

XPATH for Parent Node

The parent node.

Element name for the new nodes

Element name for the new nodes.

SREG Prefix

The namespace being used.

Attribute name for keys

An attribute name for the SREG name.

Attribute name for values

An attribute name for the SREG value.

Example:

The following is a sample input document:

<root>
   <group>
   </group>
   <data>
   ...
   </data>
</root>

The following parameters are defined:

Parameter

Value

XPATH for Parent Node

/root/group

Element name for the new nodes

sreg

SREG Prefix

mysregs.

Attribute name for keys

name

Attribute name for values

value

The following special registers are defined:

The following is a sample output document:

<root>
   <group>
       <sreg name="first" value="one" />
       <sreg name="second" value="two" />
       <sreg name="third" value="three" />
   </group>
   <data>
   ...
   </data>
</root>

If running it with <Test>sreg(iwayhome)</Test>, the service successfully inserts iwayhome in the document:

<?xml version="1.0" encoding="UTF-8" ?>
<Test>
   <META test="C:/IWAY60~3/" />
</Test>


x
SREG Namespace Service (com.ibi.agents.XDSREGNamespaceAgent)

Syntax:

com.ibi.agents.XDSREGNamespaceAgent

Description:

This service performs the following operations on registers in namespaces:

The SREG namespace service offers from name and to name combo-box parameters. Each of these parameters offers the [listener] and [default] options which are interpreted as described above.

Parameters:

Parameter

Description

Function *

Determines which function should be performed by the service. Select one of the following options from the drop-down list:

  • copy (default)
  • move
  • delete
  • exist

From Namespace *

Copy/move/exist/delete from namespace. Select [listener-xx] from the drop-down list to receive the values configured on the listener.

To Namespace

Copy/move to namespace. Select [listener-xx] from the drop-down list to receive the values configured on the listener.



x
SWIFT Out Report Service (com.ibi.agents.SWIFTOutReportAgent)

Syntax:

com.ibi.agents.SWIFTOutReportAgent

Description:

This service creates a SWIFT Validation Report for SWIFT outbound (XML to SWIFT) documents. When configured with a preemitter, this service creates an XML document that contains any errors in the generated SWIFT document. For more information, see the iWay Integration Solution for SWIFT User's Guide.

Parameters:

Parameter

Description

Basic Header

If set to true, a Basic Header is added to the report.

Application Header

If set to true, an Application Header is added to the report.

User Header

If set to true, a User Header is added to the report.



x
SWIFT Transform Service (com.ibi.agents.XDSWIFTTransformAgent)

Syntax:

com.ibi.agents.XDSWIFTTransformAgent

Description:

This service transforms SWIFT FIN messages to SWIFT XML documents. For more information, see the iWay Integration Solution for SWIFT User's Guide.

Parameters:

Parameter

Description

Base Path *

Base path to the transform template.

Version *

The SWIFT version.

Block 4 Delimiter

If set to true, a delimiter is inserted into SWIFT Block 4.



x
SWIFT Validation Service (com.ibi.agents.XDSWIFTValidationReportAgent)

Syntax:

com.ibi.agents.XDSWIFTValidationReportAgent

Description:

This service creates a SWIFT Validation Report for SWIFT inbound (SWIFT to XML) documents. When configured with a preparser this service creates an XML document that contains any errors in the SWIFT document that is received. For more information, see the iWay Integration Solution for SWIFT User's Guide.

Parameters:

Parameter

Description

Basic Header

If set to true, a Basic Header is added to the report.

Application Header

If set to true, an Application Header is added to the report.

User Header

If set to true, a User Header is added to the report.



x
SWIFT XML Transform Service (com.ibi.agents.XDIWAYSWIFTXMLTransformAgent)

Syntax:

com.ibi.agents.XDIWAYSWIFTXMLTransformAgent

Description:

This service transforms SWIFT XML documents to SWIFT FIN messages. For more information, see the iWay Integration Solution for SWIFT User's Guide.

Parameters:

Parameter

Description

SWIFT FIN Message Version *

The SWIFT FIN message version.

Transformation Template *

The template used for the conversion.

Encoding

The encoding type for the output.

Validation Off

Enables or disables XMLG SWIFT validation.

Block 4 Delimiter

If set to true, a delimiter is inserted into SWIFT Block 4.



x
TCP Emit Service (com.ibi.agents.XDTCPEmitAgent)

Syntax:

com.ibi.agents.XDTCPEmitAgent

Description:

This service emits a document over TCP/IP.

Parameters:

Parameter

Description

Host *

The machine name or IP address of the TCP host.

Port *

The port to which to connect to the host.

Sending Type

Select one of the following options from the drop-down list:

  • NONE - sending XML.
  • MSB - 4-byte binary length prepended.
  • ASC - 6-byte ASCII length prepended.
  • CLOSE - send non-XML and close the socket.

Return

Select one of the following options from the drop-down list:

  • status - status document will be the output document.
  • input - input document will become the output document.
  • swap - as input, but replace written data in the source nodes with the file name to which the data was written.

IP Interface Host

Local IP interface host from which the outgoing IP socket originates.

IP Interface Port

Local IP interface port from which the outgoing IP socket originates.

Timeout

Timeout interval for socket. The protocol will test for STOP each cycle of this period.

Example:

The following is an example of configuration settings for a TCP Emit service object in iWay Designer:

A simple way to test your TCP emitted messages is to configure another running channel with a TCP listener and an appropriate emitter (for example, a File emitter) to consume the messages that are emitted by the service. The following is an example of configuration settings for a TCP listener:

After deploying and starting the channel with the TCP listener and File emitter, you can test run your process flow containing the TCP Emit service object. You must supply an incoming document that contains the appropriate content. For example, HTML:

<html>
<head> <title>my iWay tcp</title>
</head>
<body>
Testing TCP Emit Service!
</body>
</html>

If the service runs successfully, the TCP listener picks up the sample HTML document that is emitted by the TCP Emit service. The HTML document is then received in the destination folder that is specified for the File emitter.



x
TIBCO RV Emit Service (com.ibi.agents.XDTIBRVEmitAgent)

Syntax:

com.ibi.agents.XDTIBRVEmitAgent

Description:

This service sends the message to the TIBCO Rendezvous queue and waits for a response. For more information, see the iWay Service Manager Protocol Guide.

Parameters:

Parameter

Description

Send subject

The subject to which the message will be emitted.

Reply subject

The subject to which the message's response is to be sent.

Field name

Field (message) name.

Service name

The service name.

Network name

The network name.

Daemon host:port

Daemon host:port

Synchronous Send

Send the message and wait for the response. Select one of the following options from the drop-down list:

  • true
  • false (default)

Timeout

Maximum time to wait for the answer (in seconds), -1 means infinite wait.

Data Type

Reads a file and returns the read result. Select one of the following options from the drop-down list:

  • Opaque (default)
  • String
  • TibrvMsg
  • TibrvXml

Preemitter

Determines whether any preemitter should be avoided. Select one of the following options from the drop-down list:

  • true (default)
  • false

Return document

Select one of the following options from the drop-down list:

  • status (default) - status document will be the output document.
  • input - input document will become the output document.


x
Transform Service (com.ibi.agents.XDTransformAgent)

Syntax:

com.ibi.agents.XDTransformAgent

Description:

This service applies a defined transform to each document. The transform name should be an alias specified in the transforms section of the engine configuration. The transformation can be an iWay transform or an XSLT transform. The transform service is especially useful as part of a sequence of business services in which the output is chained to another business service to execute a business process.

Note: The Transform service is only used to call a transform dynamically. Otherwise, you must configure a Transform object using iWay Designer. In order for a transform to be called properly during run time, the transform must be contained in a process flow, which is deployed as a service.

Parameters:

Parameter

Description

Transform name *

The name of the defined transform to execute.

Expected input

Type of input document expected to be received for the transform.

Document type

Type of output document being emitted by the transform.

Engine

Type of transform.

Trim

Should data be trimmed before transforming?

Called at EOS?

In streaming a last call is made AFTER the last document. Does this process flow want to be called?

Guid

The component guid.



x
Tree Evaluator Service (com.ibi.agents.EvalWalk)

Syntax:

com.ibi.agents.EvalWalk

Description:

This service evaluates all functions within a tree. It implements the iWay Active Document within a service. The exit evaluates each attribute and entity value in the document, executing all iWay functions. For example, the following node:

<node1/ATR1="_ISERROR()">SREG(ip)</node1>

might become:

<node1/ATR1="false">123.45.678.910</node1>

Example:

If running it with <Test>sreg(iwayhome)</Test>, the result is:

<?xml version="1.0" encoding="UTF-8" ?>
<Test>C:/IWAY60~1/</Test>

Top of page

x
Update Correl Entry Service (com.ibi.agents.XDUpdateCorrelEntryAgent)

Syntax:

com.ibi.agents.XDUpdateCorrelEntryAgent

Description:

This service uses the correlation management bus to update a correlated process.

Parameters:

Parameter

Description

Correlation ID *

The identifier for the correlated process. Normally a runtime function such as XPATH() or SREG().

Namespace

Namespace for the correlation ID. IDs will normally be unique within a namespace.

Activity Type *

Determines the type of update.

Close Correlated Process *

If set to true, the correlated process is closed.

Comment

Any additional information associated with this correlated process.



x
Web Service Client Service (com.ibi.agents.XDWSClientAgent)

Syntax:

com.ibi.agents.XDWSClientAgent

Description:

This service executes a Web service and allows a transformation to be applied to the response.

Parameters:

Parameter

Description

End point *

The location where the Web service has been deployed.

SOAP Action

Value of the SOAPAction header for HTTP.

Header

The header of the Web service message. This value can be a file name, transform, or actual data with SREG, XPATH, and so on.

Body

The body of the Web service message. Can be a file name, transform, or actual data with SREG, XPATH, and so on.

Response Transform

Transformation for the Web service response.

Fault Transform

Transformation for Web service fault.

Strip SOAP Envelope

Removes SOAP envelope from the response document.

Proxy

If enabled, emit through proxy server.

Proxy URL

The URL of the proxy server.

Proxy User ID

User ID for basic authentication challenges issued by the proxy.

Proxy Password

Password for basic authentication challenges issued by the proxy.

User ID

User ID for basic authentication challenges.

Password

Password for basic authentication challenges.



x
X12 Validation Service (com.ibi.agents.XDX12ValidationReportAgent)

Syntax:

com.ibi.agents.XDX12ValidationReportAgent

Description:

This service produces a validation report (from the EDI rules validation) after validating an incoming EDI X12 message in XML format. This service is used in tandem with the XML to X12 transformation service.


Top of page

x
XA Log Inquiry By Context Service (com.ibi.agents.XDXALogInquiryByContextAgent)

Syntax:

com.ibi.agents.XDXALogInquiryByContextAgent

Description:

This service queries the activity bus driver by date and context.

Parameters:

Parameter

Description

Start Date *

Report records after this date.

End Date *

Report records before this date.

Max Rows *

Maximum number of rows to return. A value of 0 means no limit.

Name of special register to match *

Queries the activity bus driver by date and context.

Max Rows

Maximum number of rows to return. A value of 0 means no limit.



x
XA Log Inquiry By Date Service (com.ibi.agents.XDXALogInquiryByDateAgent)

Syntax:

com.ibi.agents.XDXALogInquiryByDateAgent

Description:

This service queries the activity bus driver by date.

Parameters:

Parameter

Description

Start Date *

Report records after this date.

End Date *

Report records before this date.

Max Rows

Maximum number of rows to return. A value of 0 means no limit.



x
XA Log Inquiry By Partner Service (com.ibi.agents.XDXALogInquiryByPartnerAgent)

Syntax:

com.ibi.agents.XDXALogInquiryByPartnerAgent

Description:

This service queries the activity bus driver by date and partners.

Parameters:

Parameter

Description

Start Date *

Report records after this date.

End Date *

Report records before this date.

Partner From

Partner where the message is coming from. Leave empty if not used.

Partner To

Partner where the message is going.

Max Rows

Maximum number of rows to return. A value of 0 means no limit.



x
XA Log Inquiry By Transaction ID Service (com.ibi.agents.XDXALogInquiryByTIDAgent)

Syntax:

com.ibi.agents.XDXALogInquiryByTIDAgent

Description:

This service queries the activity bus driver by transaction ID.

Parameters:

Parameter

Description

Transaction ID *

The transaction ID to match.

Record Type

The specific record type to match. A value of 0 matches any record type.



x
XML Digital Signature Create Service (com.ibi.agents.XDXMLDSigCreateAgent)

Syntax:

com.ibi.agents.XDXMLDSigCreateAgent

Description:

This service is used to generate an XML Digital Signature.

Parameters:

Parameter

Description

XML Digital Signature JCE Provider

JCE Provider for the XMLSignatureFactory service.

Canonicalization Method

Algorithm used to canonicalize the SignedInfo element before it is digested as part of the signature operation.

Canonicalization Method Parameters

Parameters for the Canonicalization Method. For Inclusive Canonical XML, this is empty. For Exclusive Canonical XML, this is a space separated list of XML namespace prefixes.

Signature Method

Signature algorithm used to convert the canonicalized SignedInfo into the SignatureValue.

Signature Key

KeyStore Provider

Provider for the keystore containing the signature private key.

Signing Key Alias

Private key alias used to sign the SignedInfo.

Signing Key Password

Password for the signing private key. If left blank, the password for accessing the keystore will be used.

Enforce KeyUsage Extension

If set to true, the verify certificates used for signing allow the digitalSignature KeyUsage extension.

Signature Location

XML Namespace Provider

Provider for the mapping between XML namespace prefix and namespace URI. If left blank, Elements in the XML Digital Signature will use the default namespace, and XPATH expressions in the Parent and Next Sibling Paths cannot contain namespaces.

Create Parent Element

Determines whether the parent element is created if it is missing. Select true or false (default) from the drop-down list.

Signature Parent Element

Path to the element where the signature will be inserted. If left blank, the signature parent is the root element. If the Create Parent Element parameter is set to true, the XPATH expression must be of the form /comp1/comp2/... where each path component has the following form:

ns:elem[@ns1:attrib="attribValue"]

The ns: and ns1: namespace prefixes are optional, but if present they must be declared in the XML Namespace Provider parameter. The selector in square brackets is optional. If no element with a matching attribute is found and Create Parent Element is true, then both the element and the attribute will be created.

Signature Next Sibling

Path to the next sibling node. The signature will be inserted before this node. If left blank, the signature is added as the last child of the parent.

Key Info

Include Issuer Serial

Determines whether the X509IssuerSerial element is included in the KeyInfo X509Data element. Select true or false (default) from the drop-down list.

Include Subject Name

Determines whether the X509SubjectName element is included in the KeyInfo X509Data element. Select true (default) or false from the drop-down list.

Include Certificate Chain

Determines how much of the signer certificate chain is included in the KeyInfo X509Data element. Select one of the following values from the drop-down list:

  • Complete Certificate Chain {complete}
  • Signer Certificate Only {signer} (default)
  • No Certificates {none}

Include WSSE Security Token Reference

Determines whether a WSSE SecurityTokenReference is included in the KeyInfo element. Select true or false (default) from the drop-down list.

WSSE Security Token Id

The value of the BinarySecurityToken ID attribute referenced by the WSSE SecurityTokenReference. If left blank, the default value is x509_signer.

ID Attributes

Signature Id

The value of the Signature Id Attribute. If left blank, the generated Signature element will not have an Id attribute.

SignatureValue Id

The value of the SignatureValue Id Attribute. If left blank, the generated SignatureValue element will not have an Id attribute.

SignedInfo Id

The value of the SignedInfo Id Attribute. If left blank, the generated SignedInfo element will not have an Id attribute.

KeyInfo Id

The value of the KeyInfo Id Attribute. If left blank, the generated KeyInfo element will not have an Id attribute.

ID Attributes

Space-separated list of attributes that are considered type ID. The value of an ID attribute can be used in a same-document reference with a URI of the form #idvalue. Each attribute declaration has the form

ns:*/@ns1:attrib

or

@ns1:attrib 

In this declaration, ns: and ns1: are optional. If used, the ns and ns1 prefixes must be declared in the XML Namespace Provider parameter.

The form @ns1:attrib means an attribute named attrib in XML Namespace ns1. The form ns:*/@ns1:attrib is similar except the attribute must also appear on an element of any name in the XML Namespace ns. The default value is:

xml:id ds:*/@Id wsu:Id

Reference 1

Reference 1 URI

URI to the first piece of data that will be digested and signed. If the left blank, the whole XML document will be digested and signed.

Reference 1 Digest Method

Digest algorithm applied to the first reference data (after Transforms are applied if specified) to yield the DigestValue.

Reference 1 Transform 1

First transform algorithm to apply to the first reference data.

Reference 1 Transform 1 Parameters

Parameters for the first transform algorithm to apply to the first reference data. For Exclusive Canonical XML, this is a space separated list of XML namespace prefixes. For XSLT, this is the name of a defined transform. For XPathFilter, this is an XPATH expression. For XPathFilter2, this is the string intersect, subtract or union, followed by an XPATH expression. For more XPathFilter2 XPathType clauses, create user parameters called ref1transform1parms[Z], ref1transform1parms[Z]nsmap where Z >= 2.

Reference 1 Transform 1 XML Namespace Provider

Provider for the XML Namespace Map for XPathFilter and XPathFilter2 transforms.

Reference 1 Transform 2

Second transform algorithm to apply to the first reference data.

Reference 1 Transform 2 Parameters

Parameters for the second transform algorithm to apply to the first reference data. For Exclusive Canonical XML, this is a space separated list of XML namespace prefixes. For XSLT, this is the name of a defined transform. For XPathFilter, this is an XPATH expression. For XPathFilter2, this is the string intersect, subtract or union, followed by an XPATH expression. For more XPathFilter2 XPathType clauses, create user parameters called ref1transform2parms[Z], ref1transform2parms[Z]nsmap where Z >= 2.

Reference 1 Transform 2 XML Namespace Provider

Provider for the XML Namespace Map for XPathFilter and XPathFilter2 transforms.

Reference 2

Reference 2 URI

URI to the second piece of data that will be digested and signed. If you need more references, create user parameters named ref[X]uri, ref[X]digest, ref[X]transform[Y], ref[X]transform[Y]parms[Z] where X >= 3, Y >= 1, Z >= 1.

For example, ref3transform2 is the second transform of the third reference.

Reference 2 Digest Method

Digest algorithm applied to the second reference data (after Transforms are applied if specified) to yield the DigestValue.

Reference 2 Transform 1

First transform algorithm to apply to the first reference data.

Reference 2 Transform 1 Parameters

Parameters for the first transform algorithm to apply to the second reference data. For Exclusive Canonical XML, this is a space separated list of XML namespace prefixes. For XSLT, this is the name of a defined transform. For XPathFilter, this is an XPATH expression. For XPathFilter2, this is the string intersect, subtract or union, followed by an XPATH expression. For more XPathFilter2 XPathType clauses, create user parameters called ref2transform1parms[Z], ref2transform1parms[Z]nsmap where Z >= 2.

Reference 2 Transform 1 XML Namespace Provider

Provider for the XML Namespace Map for XPathFilter and XPathFilter2 transforms.

Reference 2 Transform 2

Second transform algorithm to apply to the second reference data.

Reference 2 Transform 2 Parameters

Parameters for the second transform algorithm to apply to the second reference data. For Exclusive Canonical XML, this is a space separated list of XML namespace prefixes. For XSLT, this is the name of a defined transform. For XPathFilter, this is an XPATH expression. For XPathFilter2, this is the string intersect, subtract or union, followed by an XPATH expression. For more XPathFilter2 XPathType clauses, create user parameters called ref2transform1parms[Z], ref2transform2parms[Z]nsmap where Z >= 2.

Reference 2 Transform 2 XML Namespace Provider

Provider for the XML Namespace Map for XPathFilter and XPathFilter2 transforms.

The parameters can be divided into the following groups: signature algorithm, signing key, parent element, KeyInfo content, Id Attributes, and References.

The signature algorithm parameters are:

The JCE Provider for the XMLSignatureFactory service must be set to XMLDSig to select the XML Digital Signature implementation.

The Canonicalization Method is the Algorithm used to canonicalize the SignedInfo element before it is digested as part of the signature operation. It can be the URI for Inclusive Canonical XML with or without comments, or the URI for Exclusive Canonical XML with or without comments. For Inclusive Canonical XML, the Canonicalization Method Parameters are empty. For Exclusive Canonical XML, the Canonicalization Method Parameters hold a space separated list of XML namespace prefixes.

The Signature Method is the Signature algorithm used to convert the canonicalized SignedInfo into the SignatureValue. It can be the full URI for rsa-sha1 or dsa-sha1.

The signing key parameters are:

The KeyStore Provider is the name of the provider that holds the private key. The Signing Key Alias and Signing Key Password are the Alias and Password for the private key. This key must be compatible with the signature algorithm chosen in the Signature Method parameter. When the Enforce KeyUsage Extension parameter is on, it will ensure certificates used for signing to allow the digitalSignature KeyUsage extension.

The parent element parameters are:

The XML Namespace Provider is optional. It is the name of the provider that gives the mapping between XML Namespace prefixes and XML Namespace URIs. If left blank, the Signature Parent Element and Signature Next Sibling path expressions cannot contain namespace prefixes. The XML Namespace Provider is also used to choose a prefix for the Signature elements. If the http://www.w3.org/2000/09/xmldsig# namespace is not found, the generated Signature element will redeclare the default namespace to this URI.

The Create Parent Element parameter is a boolean. If true, the Signature Parent Element will be created when missing from the XML Document. To make the creation of the parent possible, the Signature Parent Element must be a restricted XPATH expression. If false, the Signature Parent Element can be any XPATH 1.0 expression but the element must already exist in the XML Document.

The Signature Parent Element is an XPATH expression pointing to the element where the ds:Signature element will be inserted.

The Signature Next Sibling is an XPATH expression that points to a child of the parent element. The signature will be inserted before this node. If left blank, the signature is added as the last child of the parent.

The KeyInfo content parameters are:

These parameters determine the content of the generated KeyInfo element. They can be used alone or in any combinations. If none of the parameters are used, the KeyInfo element will not appear.

The Include Issuer Serial boolean parameter determines whether a KeyInfo/X509Data/X509IssuerSerial element is generated. This element uniquely describes the signer certificate by listing the Issuer DN and the certificate Serial Number.

The Include Subject Name boolean parameter determines whether a KeyInfo/X509Data/X509SubjectName element is generated. This element contains the signer certificate subject DN.

The Include Certificate Chain parameter determines how many certificates in the certificate chain are included in the KeyInfo. The choices are: no certificates, just the signer certificate, or all certificates. Each certificate is base64 encoded in a separate KeyInfo/X509Data/X509Certificate element.

The Include WSSE Security Token Reference parameter determines whether a KeyInfo/SecurityTokenReference element is generated to point to a previously generated WSSE Binary Security Token. If on, the WSSE Security Token Id parameter specifies the Id of the existing Binary Security Token. The InsertWSSETokenAgent is a convenient way to pre-generate the Binary Security Token. In that case, the Security Token Id can be retrieved with the expression SREG(wsse_token_id)

The Id Attribute parameters are:

The Signature Id, SignedInfo Id, SignatureValue Id and KeyInfo Id parameters specify the value of the Id attribute on the Signature, Signature/SignedInfo, Signature/SignatureValue and Signature/KeyInfo elements respectively. If left blank, the Id attribute will not appear.

The ID Attributes parameter is a space-separated list of attributes that are considered type ID. The value of an attribute can be used in a same-document reference with a URI of the form #idvalue but only if it declared of type ID. This parameter performs this type assignment. Each attribute declaration has the form ns:*/@ns1:attrib or @ns1:attrib where ns: and ns1: are optional. If used, the ns and ns1 prefixes must be declared in the XML Namespace Provider. The form @ns1:attrib means an Attribute named attrib in XML Namespace ns1. The form ns:*/@ns1:attrib is similar except the attribute must also appear on an element of any name in the XML Namespace ns. The default value is: xml:id ds:*/@Id wsu:Id. The namespace prefix actually used is not important. Only the namespace URI is used to find a match.

The Reference parameters are:

The reference URIs supported are: <empty string> for the whole XML Document; #idattrib for the same-document sub-tree rooted at the element that has an ID attribute with value idattrib; cid:contentid for the attachment that has a Content-ID header with value <contentid>; http://host:port/page for the resource located at this HTTP address, and possibly other URLs built-in to the JDK 1.6.

The Reference 1 URI parameter is the URI to the first piece of data that will be digested and signed. If the left blank, the whole XML document will be digested and signed.

The Reference 1 Digest Method is the digest algorithm applied to the reference data (after Transforms are applied if specified) to yield the DigestValue. The choices are the full URI corresponding to sha1, sha256 or sha512.

The Reference 1 Transform 1 is the first transform algorithm to apply to the reference data. The Reference 1 Transform 1 Parameters contain the parameters for the transform. Many transforms have implicit parameters and do not require any explicit parameters. For Exclusive Canonical XML, this is a space separated list of XML namespace prefixes.

The Reference 1 Transform 2 is the second transform and Reference 1 Transform 2 Parameters specify its parameters.

Subsequent references 2, 3, ... are similar to reference 1 except a missing reference URI indicates the end of the list of references instead of the whole document.

The list of transforms per reference is not limited to 2. Any number of transforms can be specified using user parameters.

The list of references is not limited to 2. Any number of references can be specified using user parameters.

Transforms Available to Digital Signature Agent

XPathFilter

The user must provide the XPATH expression in ref[X]transform[Y]parms1 and optionally an XML Namespace provider name in ref[X]transform[Y]parms1nsmap to declare a namespace map.

XPathFilter2

Each XPathType can be declared by a pair of parms: ref[X]transform[Y]parms[Z] and optionally ref[X]transform[Y]parms[Z]nsmap. ref[X]transform[Y]parms[Z] must start with the string intersect, subtract or union, followed by an XPATH expression. ref[X]transform[Y]parms[Z]nsmap if present must be the name of an XML Namespace Provider to declare the Namespace map for this XPathType.

XSLTTransform

The parms to the transform is the name of a defined transform (similar to what is done with the XDGenTransform agent). The defined transform must be an XSLT transform and return XML.

Attachment Content Signature Transform

No parameters are required.

If you need more references, create user parameters named ref[X]uri, ref[X]digest, ref[X]transform[Y], ref[X]transform[Y]parms where X >= 3 and Y >= 1, for example, ref3transform2 is the second transform of the third reference.

When the debug level is on, the agent will show the referenced data that was digested.

The following is an example of a signature over the entire document with some X509 information under the Signature/KeyInfo/X509Data element.

The following is an example of a signature over the SOAP Body with a WSSE SecurityTokenReference in the KeyInfo pointing to a WSSE BinarySecurityToken previously generated in the SOAP Headers.

Available Response Edges for XDXMLDSigCreateAgent

When you connect the XDXMLDSigCreateAgent object to an End object using the OnCustom build relation in a process flow, the available line edges are provided in the Line Configuration dialog box.

The following table lists and describes the available line edges for the XDXMLDSigCreateAgent object.

Line Edge

Description

OnError

Error

OnSuccess

Success

OnFailure

Failure



x
XML Digital Signature Verify Service (com.ibi.agents.XDXMLDSigVerifyAgent)

Syntax:

com.ibi.agents.XDXMLDSigVerifyAgent

Description:

This service is used to validate an XML Digital Signature.

Parameters:

Parameter

Description

XML Digital Signature JCE Provider

JCE Provider for the XMLSignatureFactory service.

TrustStore Provider

Provider for the keystore containing the Certificate Authorities.

Certificate Store Provider

Comma-separated List of Keystore, Directory CertStore or LDAP providers for the certificate stores used to complete signer certificate chains when the signature contains fewer certificates than needed.

PKIX Signature JCE Cryptography Provider

JCE Provider for Signature Objects created by the PKIX Certificate Path Builder.

PKIX JCE Provider

JCE Provider for PKIX services. If left blank, the default JCE provider for PKIX will be used.

Enable Certificate Revocation

If set to true, use the CRLs from the CertStore to check whether the signer's certificate has been revoked.

Enforce KeyUsage Extension

If set to true, verify certificates used for signing allow the digitalSignature KeyUsage extension. Select true or false (default) from the drop-down list.

XML Namespace Provider

Provider for the mapping between XML namespace prefix and namespace URI. If left blank, the XPATH expression in the Element Path and Required Signature Coverage parameters cannot contain namespaces.

Signature Element Path

Path to the signature XML element. If left blank, the agent will search throughout the document for an element named Signature in the namespace http://www.w3.org/2000/09/xmldsig#.

ID Attributes

Space-separated list of attributes that are considered type ID. The value of an ID attribute can be used in a same-document reference with a URI of the form #idvalue. Each attribute declaration has the form ns:*/@ns1:attrib or @ns1:attrib where ns: and ns1: are optional. If used, the ns and ns1 prefixes must be declared in the XML Namespace Provider. The form @ns1:attrib means an Attribute named attrib in XML Namespace ns1. The form ns:*/@ns1:attrib is similar except the attribute must also appear on an element of any name in the XML Namespace ns. The default value is xml:id ds:*/@Id wsu:Id.

Acceptable Transforms

Space-separated list of transforms that can appear in the XML Digital Signature; other transforms will cause a validation failure before being evaluated. If this field is left blank, all transforms are accepted.

Required Signature Coverage

An XPATH expression that returns a node set, where each node in the set must have been signed by the Signature to be considered valid.

Unsigned Attachment

Action to perform when a document contains an unsigned attachment. Select one of the following values from the drop-down list:

  • Keep Unsigned Attachment {keep} (default)
  • Remove Unsigned Attachment {remove}
  • Fail Validation {fail}

Remove Security Parent Element

If set to True, the WSSE Security parent element is removed from the document after the verification is successful.

The JCE Provider for the XMLSignatureFactory service must be set to XMLDSig to select the XML Digital Signature implementation.

The agent recovers the signer public key based on the information it finds in the KeyInfo element. To begin, the agent collects all the X509Certificates and X509CRLs under the X509Data element and creates a certificate store. This store together with the certificate store providers will be used to complete the certificate chain. The agent then iterates through the KeyInfo content. The agent understands X509IssuerSerial, X509SubjectName and X509SKI (for example, the Subject Key Identifier). The agent also understands a wsse:SecurityTokenReference pointing to a wsse:BinarySecurityToken holding an X509 certificate encoded in base64. The agent iterates in order of appearance and works with the first item it understands ignoring subsequent ones. A Certificate selector is created and the CertStores are queried to complete and validate the chain.

If the signature validates, the agent will continue on the success edge. The xmldsig_signer special register will hold the signer DN and the xmldsig_signer_cn will hold the Common Name found in the signer DN. If validation fails because of Unsigned Attachments or incomplete Required Signature Coverage, the agent will follow the fail_coverage edge. If validation fails for other reasons, the agent will follow the fail_verify edge. If there is no signature, the flow will continue on the unsigned edge.

When the debug level is on, the agent will show the referenced data that was actually digested. It will also show whether core validation passed, and the validation status of each reference.

Multiple WSSE Secuity Headers

The WSSE Timestamp, WSSE SecurityToken, SAML Assertion, and XML Digital Signature will often appear within a WSSE Security header. It is sometimes desirable to create multiple WSSE Security Headers in the same document because they are distined for different actors. The agents must choose the WSSE Security Header with the right actor when inserting the new content. The solution is to write the XPATH expression with a selector for the Actor attribute.

The following is a path that selects the WSSE Security Header destined for myActor even if there are other WSSE Security headers present: /soapenv:Envelope/soapenv:Header/wsse:Security[@soapenv:Actor=\"myActor\"]

This expression is valid for full XPATH 1.0 or restricted XPATH. When "Create Parent Element" is true and the WSSE Security Header is not found, the agent will create a new WSSE Security Header and create the Actor attribute before inserting the new content.

Available Response Edges for XDXMLDSigVerifyAgent

When you connect the XDXMLDSigVerifyAgent object to an End object using the OnCustom build relation in a process flow, the available line edges are provided in the Line Configuration dialog box.

The following table lists and describes the available line edges for the XDXMLDSigVerifyAgent object.

Line Edge

Description

OnError

Error

OnSuccess

Success

OnFailure

Failure

fail_unsigned

fail_unsigned

fail_verify

fail_verify

fail_coverage

fail_coverage



x
Zip Out Service (com.ibi.agents.XDZipOutAgent)

Syntax:

com.ibi.agents.XDZipOutAgent

Description:

This service converts an input document into a compressed .zip file.

Parameters:

Parameter

Description

Entry name *

The name associated with this entry.

Comment

A comment associated with this entry.

Example:

The following is an example of configuration settings for a Zip Out service object in iWay Designer:

You can test the Zip Out service by configuring a channel with a basic File listener and a route, which is associated with a process flow containing a Zip Out service object.

The contents of the incoming message are added to a .zip file, which is placed in the destination folder of your File listener. The entry in the .zip file is composed from the value that is specified for the Entry name parameter (for example, testzip.xml). When you configure the File listener, it is recommended to specify zip for the Suffix Out parameter. However, you can always rename the extension of the output file that is generated to .zip and extract the contents.


iWay Software