Developer

AgileApps

AgileApps provides an interface to other products and applications to communicate with the AgileApps platform. Other products and Applications can use this connector to invoke any AgileApps REST API.

Availability: Workflows and FlowServices

Custom Actions

AgileApps connector lets you create your own custom actions for performing specific tasks. The actions you create look and work exactly like the other actions do.

To know more about how to create custom actions, click here.

AMQP

AMQP (Advanced Messaging Queuing Protocol) is an open source messaging protocol operating in the application layer of ISO OSI model. AMQP mandates the behavior between the message provider and the client in a similar way of other protocols such as HTTP, FTP, SMTP etc.

Availability: Workflows only

Triggers

Actions

Note: We are currently supporting AMQP 0-9-1 messaging protocol.

API Specs

Create custom actions with ease using RAML and Swagger.

Availability: Workflows only

Actions

Akamai

Akamai is a Content Delivery Network (CDN) and cloud service provider which helps boost your website response time by distributing content via servers closest to user’s location.

Availability: Workflows only

Actions

Archive

Zip and unzip files with ease.

Availability: Workflows only

Actions

ARIS

Runtime systems, for example SAP® or Oracle® systems, have data such as the frequency of executed processes and their data, access frequencies and problems or error messages that have occurred. webMethods io Integration allows using the ARIS connector to create the connection between ARIS and these systems. For example, this data can be transferred from runtime systems to ARIS and written to attributes in ARIS. Thus these real data are also available in ARIS.

Availability - Workflows and FlowServices

For information about the ARIS REST API, see ARIS repository API technical introduction document.

Using the ARIS connector

ARIS connector allows you to create your own custom actions.

  1. Add a custom action.

    Always select ArisServices as the functional area. ArisAuthService is used internally by webMethods.io Integration.

  2. Create a connection. Specify connection details and session parameters.

    • Account name: The account name is used to identify the connection. You can enter any name.
    • Server URL: The server URL is the URL to ARIS Repository API. Edit the domain. Typically, this is the host name of the ARIS system used. Enter only the URL and leave the /abs part unchanged.
    • Username: The user account name of ARIS.
    • Password: The password for the user name provided in the Username field.
    • Auth Server URL: The Auth Server URL is the URL to the User Management of ARIS. Edit the domain. Typically, this is the host name of the ARIS system used. Edit the domain. Enter only the URL and leave the /umc/api part unchanged.
    • Tenant: Specify default.
    • Session Management: Set to fixed.
    • Session Timeout: Set to 45 minutes.

      webMethods.io Integration requests a session token from ARIS and uses it when calling ARIS. By default the session token expires in ARIS in sixty minutes. To ensure token renewal, use a session timeout lower than the duration of the ARIS session.

  3. Edit the parameters.

    The parameter umcsession is set internally by the ARIS connector.

    The Content-Type parameter of the request header should always be set to application/json.

    Do not edit either of the parameters.

  4. Find items in the database.

    The ARIS repository has a method for finding elements in a database. This method can be used to find groups, object definitions, or models. The ARIS connector provides a search function with three different operations:

    • find groups in a database
    • find objects in a database
    • find models in a database

AS2

Availability: FlowServices only

AS2 (Applicability Statement 2) is a communication protocol developed by the Internet Engineering Task Force (IETF) for the exchange of business-to-business (B2B) transactions over the Internet securely. The AS2 application uses the HTTP transport protocol along with Multipurpose Internet Mail Extensions (MIME). The AS2 application governs the means of connection and exchange of data securely and reliably. Besides the advanced security features, the AS2 application offers the following additional benefits:

The AS2 application provides a medium to exchange business data with partners by configuring an account in webMethods.io Integration. The application supports the AS2 protocol versions 1.1 and 1.2.

Field Description
Recipient Endpoint The endpoint URL of the recipient.
Authorization Type The type of HTTP authorization scheme to use for the connection. You can choose one of the following options:
  • none: No additional authorization scheme will be executed at run time. For example, when you specify a user name and password, but do not specify a value for the authorization type, the user credentials are not inserted into an authorization header.
  • basic: When the application requires or supports HTTP basic authentication for user name and password.
From The AS2 ID of the sender.
To The AS2 ID of the recipient.
Response Timeout The number of milliseconds the application waits for a response before canceling its attempt to connect to the back end. In case the network is slow or the back end processing takes longer than usual, increase the Response Timeout value. It is recommended to specify a value other than 0. If you specify 0, the application will wait indefinitely for a response.
Retry Count on Response Failure The number of times the application attempts to connect to the back end to read a response if the initial attempt fails. If an I/O error occurs, it will retry only if you have selected the Retry on Response Failure option.
Retry on Response Failure Whether the application should attempt to resend the request when the response has failed, even though the request was sent successfully. Select this option if you want to re-establish the connection.
Trust store Alias Select the alias name of the webMethods.io Integration trust store configuration from the list. The trust store contains trusted certificates used to determine trust for the remote server peer certificates. Select New Certificate > New Truststore to add a new trust store from this list.
Keystore Alias Select the alias for the webMethods.io Integration keystore configuration. This is a text identifier for the keystore alias. A keystore file contains the credentials (private key/signed certificate) that a client needs for authentication. Select New Certificate > New Keystore to add a new keystore from this list.
Client Key Alias Alias to the private key in the keystore file specified in the Keystore Alias field. The outbound connections use this key to send client credentials to a remote server. To send the client’s identity to a remote server, you must specify values in both, Keystore Alias and Client Key Alias fields.
Hostname verifier Select a hostname verifier implementation for guards against man-in-the-middle (MITM) attacks from the list. The default is org.apache.http.conn.ssl.DefaultHostnameVerifier. This enables hostname verification. Select org.apache.http.conn.ssl.NoopHostnameVerifier from the list to disable hostname verification.
Username The name of the user account that the AS2 connection will use to connect to the AS2 provider.
Password The password for the user name provided in the Username field.
Compression Select this option to compress an outbound AS2 message.
Sign Message Select this option to sign an outbound AS2 message.
Signing Algorithm The signing algorithm to use for an outbound AS2 message. The available options are:
  • MD5
  • SHA-1
  • SHA-256
  • SHA-384
  • SHA-512
Signing Keystore and Key Aliases The keystore aliases and the key aliases in the keystore to use for signing an outbound AS2 message.
Receive Signed Message Select this option to receive a signed inbound AS2 message. If you select this option and the incoming AS2 message is not signed, then an Insufficient message security error is encountered and shared with the sender if MDN is requested by the sender.
Signature Verification Certificate The certificate to use for verifying an inbound signed AS2 message.
Encrypt Message Select this option to encrypt an outbound AS2 message.
Encryption Algorithm The encryption algorithm to use for an outbound AS2 message. The available options are:
  • RC2 40
  • RC2 64
  • RC2 128
  • DES
  • TripleDES
  • AES 128
  • AES 192
  • AES 256
Encryption Certificate The certificate to use for encrypting an outbound AS2 message.
Receive Encrypted Message Select this option to receive an encrypted inbound AS2 message. If you select this option and the incoming AS2 message is not encrypted, then an Insufficient message security error is encountered and shared with the sender if MDN is requested by the sender.
Decryption Keystore and Key Aliases The keystore aliases the key aliases in the keystore to use for decrypting an inbound AS2 message.
Request MDN Whether you want the recipient to return an MDN to the sender.

You can select one of the following options:

  • None: The recipient of the AS2 message does not return an MDN to the sender.
  • Synchronous: The recipient of the AS2 message returns an MDN to the sender through the same HTTP connection used to send the original AS2 message.
  • Asynchronous: The recipient of the AS2 message returns an MDN to the sender through a different HTTP connection instead of the one used to send the original AS2 message.
Request Signed MDN Select this option if you want the recipient to sign an AS2 MDN.

Ensure that you also select an option in the Request MDN field if you want the recipient to sign and return an AS2 MDN.

Asynchronous MDN Endpoint Type your endpoint URL that accepts an inbound AS2 MDN if you selected the Asynchronous option for Request MDN.
AS2 Version Select the AS2 protocol version to use from the list.
Enable SNI Server Name Indication (SNI) is an extension to the TLS protocol by which a client indicates which host name it is attempting to connect to at the start of the handshaking process. Enable this option if the SaaS provider offers SNI-based TLS connectivity, and if you want to connect to an SNI enabled SAAS provider to send the host name specified in the Server URL field, as part of the TLS SNI Extension server_name parameter.
SNI Server Name If you want to explicitly specify a host name to be included as a part of the SNI extension server_name parameter, in case the host name is other than the host name specified in the Server URL field, specify the host name value in the SNI Server Name field.

AS2 Predefined Operations

The following predefined Applicability Statement 2 (AS2) operations are available:

receive

Receives an AS2 message from a recipient.

You can perform the following configurations in the AS2 application using the receive service.

Input Parameters

contentStream Object Receives an AS2 message of content type other than application/xml.
node Object Optional. Receives an AS2 message of content type application/xml only.

Output Parameters

status String Status of an inbound message.
statusMessage String Processing status of an inbound message.
request Document Receives the raw stream, extracted payload, and attachments of an inbound message.
stream Object Raw output stream received by an application.
headers Document AS2 message headers.
AS2-To String AS2 ID of the recipient.
AS2-From String AS2 ID of the sender.
Message-ID String Message ID of the inbound message.
AS2-Version String AS2 protocol version used for the inbound message.
Content-Type String MIME content type of the inbound message.
EDIINT-Features String Optional features supported by the application.
Receipt-Delivery-Option String Optional. Sender's asynchronous MDN endpoint URL.
Disposition-Notification-To String Optional. Acknowledgment request for the inbound message.
Disposition-Notification-Options String Optional. Acknowledgment request to be signed for the inbound message.
payload Document Extracted payload that you receive.
stream Object Extracted payload stream.
contentType String Content type assigned to the payload.
headers Document Headers assigned to the payload.
attachments Document Array Optional. Attachments you receive with an inbound message, if any.
stream Object Output stream of the attachment.
contentType String Content type assigned to the attachment.
headers Document Headers assigned to the attachment.
response Document Sent MDN or received asynchronous MDN response.
status String Status of the sent or received MDN.
statusMessage String Status message of the sent or received MDN.
receipt Document Optional. Sent or received MDN.
stream Object Object stream of the sent or received MDN.
headers Document Headers of the sent or received MDN.
AS2-To String AS2 ID of the recipient.
AS2-From String AS2 ID of the sender.
Message-ID String Message ID of the inbound or outbound MDN.
AS2-Version String AS2 protocol version used for the inbound or outbound MDN.
Content-Type String MIME content type of the inbound or outbound message.

send

Sends an AS2 message to a recipient’s defined endpoint.

Input Parameters

data Document Payload you want to send.
stream Object java.io.InputStream object you want map from EDI or XML data.
contentType String Content type to assign to an outbound message. The following options are available by default:
  • application/edi-x12

  • application/edifact
  • application/xml

You can also type a custom value.

otherHeaders Document Optional. key and value strings of the header for an outbound message.
attachments Document Array Optional. Attachments for a message, if any.
stream Object java.io.InputStream object you want add to the attachment.
contentType String Content type of the attachment. For example, application/zip if the attachment is a .zip file.
otherHeaders Document Optional. key and value strings of the header you want to add to the attachment.
customHeaders Document Optional. Custom headers you want to include in an AS2 message.
key String Key for the custom header.
value String Value for the customer header.

Output Parameters

status String Status of an outbound message.
statusMessage String Processing status of an outbound message.
request Document AS2 message sent to a recipient.
stream Object AS2 message stream.
headers Document Optional. AS2 message headers.
AS2-To String AS2 ID of the recipient.
AS2-From String AS2 ID of the sender.
Message-ID String Message ID of the outbound message.
AS2-Version String AS2 protocol version used for the outbound message.
Content-Type String MIME content type of the outbound message.
EDIINT-Features String Optional features supported by the application.
Receipt-Delivery-Option String Optional. Recipient's asynchronous MDN endpoint URL.
Disposition-Notification-To String Optional. Acknowledgment request for the outbound message.
Disposition-Notification-Options String Optional. Acknowledgment request to be signed for the outbound message.
response Document Received MDN response.
status String Status of the received MDN.
statusMessage String Status message of the received MDN.
receipt Document Optional. Received MDN.
stream Object Object stream of the received MDN.
headers Document Optional. Headers of the received MDN.
AS2-To String AS2 ID of the recipient.
AS2-From String AS2 ID of the sender.
Message-ID String Message ID of the inbound MDN.
AS2-Version String AS2 protocol version used for the inbound MDN.
Content-Type String MIME content type of the inbound message.

Configuring the Auto Detect Option

You can select the Auto Detect option for the AS2 application to automatically identify an account based on the AS2-From and AS2-To headers of an inbound message.

This option enables the AS2 application to compare an account configured with From and To fields with the AS2-From and AS2-To headers of an inbound message and vice versa. In addition, specifying this option allows the use of an individual endpoint URL with multiple partners.

Note: Auto Detect option is supported only for the receive operation.

Important: Configuring multiple accounts with identical values for the From and To fields might generate unpredictable results. This happens when the application uses the account that matches the first AS2-From and AS2-To headers of an inbound message. Therefore, if you have multiple accounts configured with identical values for the From and To fields, then do not select the Auto Detect option.

Creating an Endpoint URL

A sender requires a recipient’s endpoint URL to transfer AS2 messages. You must create an endpoint URL and share it with your partner to send AS2 messages to the endpoint URL.

To create an endpoint URL

  1. Create a FlowService. Ensure that you specify a signature with contentStream and node as input parameters of type Object. Alternatively, you can define a Document Type as a signature with contentStream and node as input parameters of type Object.

  2. Configure the AS2 application with the receive operation to work with a new or existing account, or select the Auto Detect option for the application.

  3. Map the contentStream and node parameters of the Pipeline Input signature defined in step 1 with the AS2 application’s receiveInput parameter.

  4. Select the Enable FlowService to be invoked over HTTP option on the FlowService Overview page. An endpoint URL for this FlowService is generated.

  5. Share this endpoint URL with your partner to enable the partner to send AS2 messages.

Beanstalk

Beanstalk is a code hosting workflow that you can use to write, review, and deploy code instantly. This easy-to-use service removes the hassles of hosting code and managing deployments, thus accelerating the software development process.

Availability: Workflows only

Triggers

Actions

Bitbucket

Bitbucket, powered by Atlassian, offers web-based version control repository hosting service. It manages source code and projects with the help of mercurial or git that runs in the background.

Availability: Workflows only

Triggers

Actions

Clock

The Clock trigger allows you to run a workflow automatically at a particular date or time.

Availability: Workflows only

Triggers

Note: If you set a clock trigger and set the Disable Concurrent Execution field to true, the clock trigger will not execute a new instance of the workflow till the previous workflow instance execution is completed (i.e. workflow executes successfully, time outs, or fails).

Example: Let’s say we have a workflow that takes 2 minutes to execute and has a clock trigger that runs every 5 minutes. In a normal scenario, this trigger will keep executing a new workflow instance every 5 minutes. Now, if you set the Disable Concurrent Execution field to true in the Clock trigger configuration window, the clock trigger will wait for 7 minutes for the workflow to complete its execution. Only after the current workflow instance execution is completed, it will initiate a new workflow instance execution.

This will enable you to prevent concurrent execution of the same workflow.

Database

Availability: Workflow and FlowServices

webMethods.io Integration allows you to connect to a database using the Database Application. The Database Application allows you to perform database operations with cloud databases using a JDBC driver.

Create New Account

Complete the following fields to create a new account:

Field Description
Database Select the supported database.
Driver Group Select the driver group to connect to the database. This lists the pre-bundled drivers available and the drivers uploaded in the Database Application. You can upload a new JDBC driver by selecting the ’+’ button next to the Driver Group dropdown list. You can upload only certified jars.
Transaction Type Select the transaction type for transaction support for the account. The following are the supported transaction types:
  • NO_TRANSACTION: The connection automatically commits operations.
  • LOCAL_TRANSACTION: The connection uses local transactions. With this transaction type, all of the operations on the same account in a single transaction boundary are either committed or rolled back together.
  • DataSource Class Select the DataSource class. This field specifies the name of the JDBC driver’s DataSource class.
    Server Name Type the name of the server that hosts the database.
    Note: If the tenant cannot connect to the cloud database, then check the security settings of the cloud database.
    User Type the user name that the connection uses to connect to the database.
    Password Type the password for the user name specified in User.
    Database Name Type the database name to which the connection connects to.
    Port Number Type the port number that the connection uses to connect to the database.

    Complete the following fields for Advanced Configuration:

    Field Description
    Truststore Alias Select the alias name of the webMethods.io Integration truststore configuration. The truststore contains trusted certificates that are used to determine the trust for the remote server peer certificates. You can also add a new Truststore certificate by selecting the ’+’ button next to the Truststore Alias dropdown list.
    Network Protocol Indicates the name of the network protocol that the connection uses when connecting to the database. Type TCP or TCPS to indicate the network protocol.

    Complete the following fields for Other Properties:

    Field Description
    Other Properties Select or type the property name. Also, enter the value for the corresponding property in the input text field.
    Note: Properties listed for you to select from the dropdown list are driver-dependent.
    Example: Use this field to choose a property such as TableFilter. You can either select or type the TableFilter property in the dropdown list and enter the ‘<current catalog>'.‘Accounting' in the input text field.
    Use {} to configure a combination of multiple key-value pairs.
    Example:connectionProperties={oracle.jdbc.V8Compatible=true,includeSynonymns=true }.
    By default, the loginTimeout is set to 60. This value specifies the login timeout in seconds that a connection waits while attempting to connect to a database.

    The <current catalog> represents the default catalog associated with an account.

    The <current schema> represents the default schema associated with an account.

    PostgreSQL

    When you configure an operation to select a table, you must always select the table under <current catalog>.

    MariaDB

    If you configure an operation for MariaDB using the driver versions greater than or equal to 2.4.0, select the table under <current catalog>.

    Sample Accounts

    The following are the sample accounts created for secured and non-secured connection for various databases.

    Microsoft SQL Server

    The following are the fields to be configured for a non-secure Microsoft SQL Server account:

    Note: Edit the following fields for a secured connection to Microsoft SQL Server:

    Oracle

    The following are the fields to be configured for a non-secure Oracle account:

    Note: Edit the following fields for a secured connection to Oracle:

    Note: The default value of tcps port is 2484.

    PostgreSQL

    The following are the fields to be configured for a non-secure PostgreSQL account:

    Note: Edit the following field for a secured connection to PostgreSQL:

    Note: The Network Protocol field is not mandatory for PostgreSQL account.

    MySQL

    The following are the fields to be configured for a non-secure MySQL account:

    Note: Edit the following field for a secured connection to MySQL:

    MariaDB

    The following are the fields to be configured for a non-secure MariaDB account:

    Note: Edit the following field for a secured connection to MariaDB:

    Tibero

    The following are the fields to be configured for a non-secure Tibero account:

    SAP HANA

    The following are the fields to be configured for a non-secure SAP HANA account:

    Note: Edit the following fields for a secured connection to SAP HANA:

    Amazon Redshift

    The following are the fields to be configured for a non-secure Amazon Redshift account:

    Note: Edit the following fields for a secured connection to Amazon Redshift:

    Snowflake

    The following are the fields to be configured for a Snowflake account:

    Note: Snowflake connections use SSL by default.

    Vertica

    The following are the fields to be configured for a non-secure Vertica account:

    Note: Edit the following field for a secured connection to Vertica:

    Teradata Vantage

    The following are the fields to be configured for a non-secure Teradata Vantage account:

    Adding Driver

    The Add Driver screen gives you an option to upload a custom driver jar for a particular database. This uploaded driver can be used when you create an account.

    To add a new driver

    1. In the Account page, from the Driver Group, select ’+’ button .
    2. In the Add Driver page, select the supported Database.
    3. Type or select the driver from the Driver Group. Browse the jar in the Select the Driver field for a particular database. The driver jar gets uploaded for the corresponding database.

      Note: You can upload only the certified jars.

      Note: The uploaded driver jars can be used across the projects in the tenant.

    Pre-bundled Drivers

    Pre-bundled driver jars are provided to connect to the databases like Microsoft SQL Server, Oracle, PostgreSQL. You cannot delete these pre-bundled driver group. The below table shows the driver groups and supported databases.

    Driver Group Supported Databases Version
    Progress® DataDirect®. Microsoft SQL Server, Oracle 5.1.4
    Microsoft JDBC Driver for SQL Server Microsoft SQL Server 4.0.0
    PostgreSQL JDBC Driver PostgreSQL 42.2.5

    Note:

  • If you use Progress® DataDirect® driver to create a Non-SSL connection for Microsoft SQL Server database, then set the Other Properties with validateservercertificate=false;encryptionmethod=ssl.
  • For Oracle database, if you are using Progress® DataDirect® driver group to create a connection for Stored Procedure operation, then the Stored Procedure operation cannot fetch the metadata for SYS_CURSOR data type.
  • Add Driver Fields

    You can configure the following fields for adding driver:

    Parameter Description
    Database Select the supported database.
    Driver Group Type a new driver group name or select the existing group name from the dropdown list.
    The uploaded JDBC driver jars are referred by the given name when you create an account.
    Select the Driver Browse and select the driver jar for a particular vendor. You must select the driver jars which are certified by Software AG.

    Certified Databases and JDBC Driver Jars

    You can upload only the following list of certified driver jars:

    JDBC Driver Jars for Microsoft SQL Server

    Driver Version Driver Jar Name Java Version Supported DB Versions
    4.1 sqljdbc41.jar
    Download Path: https://go.microsoft.com/fwlink/?linkid=841533
    7 Microsoft SQL Server 2008, 2012, 2014, 2016 and Azure SQL Database
    4.2 sqljdbc41.jar
    Download Path: https://go.microsoft.com/fwlink/?linkid=841534
    7 Microsoft SQL Server 2008, 2012, 2014, 2016 and Azure SQL Database
    4.2 sqljdbc42.jar
    Download Path: https://go.microsoft.com/fwlink/?linkid=841534
    8 Microsoft SQL Server 2008, 2012, 2014, 2016 and Azure SQL Database
    6.0 sqljdbc41.jar
    Download Path: https://go.microsoft.com/fwlink/?LinkId=245496
    7 Microsoft SQL Server 2008, 2012, 2014, 2016 and Azure SQL Database
    6.0 sqljdbc42.jar
    Download Path: https://go.microsoft.com/fwlink/?LinkId=245496
    8 Microsoft SQL Server 2008, 2012, 2014, 2016 and Azure SQL Database
    6.2.2 mssql-jdbc-6.2.2.jre7.jar
    Download Path: https://go.microsoft.com/fwlink/?linkid=852460
    7 Microsoft SQL Server 2008, 2012, 2014, 2016, 2017, and Azure SQL Database
    6.2.2 mssql-jdbc-6.2.2.jre8.jar
    Download Path: https://go.microsoft.com/fwlink/?linkid=852460
    8 Microsoft SQL Server 2008, 2012, 2014, 2016, 2017 and Azure SQL Database
    6.4.0 mssql-jdbc-6.4.0.jre7.jar
    Download Path: https://go.microsoft.com/fwlink/?linkid=868290
    7 Microsoft SQL Server 2008, 2012, 2014, 2016, 2017 and Azure SQL Database
    6.4.0 mssql-jdbc-6.4.0.jre8.jar
    Download Path: https://go.microsoft.com/fwlink/?linkid=868290
    8 Microsoft SQL Server 2008, 2012, 2014, 2016, 2017 and Azure SQL Database
    7.0.0 mssql-jdbc-7.0.0.jre8.jar
    Download Path: https://go.microsoft.com/fwlink/?linkid=2063159
    8 Microsoft SQL Server 2008, 2012, 2014, 2016, 2017 and Azure SQL Database
    7.2.2 mssql-jdbc-7.2.1.jre8.jar
    Download Path: https://go.microsoft.com/fwlink/?linkid=2063159
    8 Microsoft SQL Server 2008, 2012, 2014, 2016, 2017 and Azure SQL Database
    7.4.1 mssql-jdbc-7.4.1.jre8.jar
    Download Path: https://docs.microsoft.com/en-us/sql/connect/jdbc/release-notes-for-the-jdbc-driver?view=sql-server-ver15#-741
    8 Microsoft SQL Server 2008, 2012, 2014, 2016, 2017 and Azure SQL Database
    8.2 mssql-jdbc-7.2.1.jre8.jar
    Download Path: https://docs.microsoft.com/en-us/sql/connect/jdbc/release-notes-for-the-jdbc-driver?view=sql-server-ver15#82
    8 Microsoft SQL Server 2008, 2012, 2014, 2016, 2017, 2019 and Azure SQL Database
    8.4 mssql-jdbc-7.2.1.jre8.jar
    Download Path: https://docs.microsoft.com/en-us/sql/connect/ jdbc/release-notes-for-the-jdbc-driver?view=sql-server-ver15#84
    8 Microsoft SQL Server 2008, 2012, 2014, 2016, 2017, 2019 and Azure SQL Database
    9.2 mssql-jdbc-7.2.1.jre8.jar
    Download Path: https://docs.microsoft.com/en-us/sql/connect/jdbc/release-notes-for-the-jdbc-driver?view=sql-server-ver15#92
    8 Microsoft SQL Server 2008, 2012, 2014, 2016, 2017, 2019 and Azure SQL Database

    JDBC Driver Jars for Oracle

    Driver Version Driver Jar Name Java Version Supported DB Versions
    12.1.0.1 ojdbc6.jar
    Download Path: https://www.oracle.com/technetwork/database/features/jdbc/jdbc-drivers-12c-download-1958347.html
    6 Oracle 12.1, 12.2, 18.3, 19.x
    12.1.0.1 ojdbc7.jar
    Download Path: https://www.oracle.com/technetwork/database/features/jdbc/jdbc-drivers-12c-download-1958347.html
    7,8 Oracle 12.1, 12.2, 18.3, 19.x
    12.1.0.1 xdb6.jar
    Download Path: https://www.oracle.com/technetwork/database/features/jdbc/jdbc-drivers-12c-download-1958347.html
    6,7 Oracle 12.1, 12.2, 18.3, 19.x
    12.1.0.1 xmlparserv2-12.1.0.1.jar
    Download Path: https://www.oracle.com/content/secure/maven/content/com/oracle/jdbc/xmlparserv2/12.1.0.1/xmlparserv2-12.1.0.1.jar
    Oracle 12.1, 12.2, 18.3, 19.x
    12.1.0.2 ojdbc6.jar
    Download Path: https://www.oracle.com/technetwork/database/features/jdbc/default-2280470.html
    6 Oracle 12.1, 12.2, 18.3, 19.x
    12.1.0.2 ojdbc7.jar
    Download Path: https://www.oracle.com/technetwork/database/features/jdbc/default-2280470.html
    7,8 Oracle 12.1, 12.2, 18.3, 19.x
    12.1.0.2 xdb6.jar
    Download Path: https://www.oracle.com/technetwork/database/features/jdbc/default-2280470.html
    6,7 Oracle 12.1, 12.2, 18.3, 19.x
    12.1.0.2 xmlparserv2-12.1.0.2.jar
    Download Path: https://www.oracle.com/content/secure/maven/content/com/oracle/jdbc/xmlparserv2/12.1.0.2/xmlparserv2-12.1.0.2.jar
    Oracle 12.1, 12.2, 18.3, 19.x
    12.2.0.1 ojdbc8.jar
    Download Path: https://www.oracle.com/technetwork/database/features/jdbc/jdbc-ucp-122-3110062.html
    8 Oracle 12.1, 12.2, 18.3, 19.x
    12.2.0.1 xdb6.jar
    Download Path: https://www.oracle.com/technetwork/database/features/jdbc/jdbc-ucp-122-3110062.html
    7,8 Oracle 12.1, 12.2, 18.3, 19.x
    12.2.0.1 xmlparserv2-12.2.0.1.jar
    Download Path: https://www.oracle.com/content/secure/maven/content/com/oracle/jdbc/xmlparserv2/12.2.0.1/xmlparserv2-12.2.0.1.jar
    Oracle 12.1, 12.2, 18.3, 19.x
    18.3 ojdbc8.jar
    Download Path: https://www.oracle.com/database/technologies/appdev/jdbc-ucp-183-downloads.html
    8,9,11 Oracle 12.1, 12.2, 18.3, 19.x
    18.3 xdb6.jar
    Download Path: https://www.oracle.com/database/technologies/appdev/jdbc-ucp-183-downloads.html
    Oracle 12.1, 12.2, 18.3, 19.x
    19.3 ojdbc8.jar
    Download Path: https://www.oracle.com/database/technologies/appdev/jdbc-ucp-19c-downloads.html
    8,9,11 Oracle 12.1, 12.2, 18.3, 19.x
    19.3 xdb6.jar
    Download Path: https://www.oracle.com/database/technologies/appdev/jdbc-ucp-19c-downloads.html
    Oracle 12.1, 12.2, 18.3, 19.x
    19.6 ojdbc8.jar
    Download Path: https://www.oracle.com/database/technologies/appdev/jdbc-ucp-19-6-c-downloads.html
    8,9,11 Oracle 12.1, 12.2, 18.3, 19.x
    19.6 xdb6.jar
    Download Path: https://www.oracle.com/database/technologies/appdev/jdbc-ucp-19-6-c-downloads.html
    Oracle 12.1, 12.2, 18.3, 19.x
    19.6 xmlparserv2.jar
    Download Path: https://www.oracle.com/database/technologies/appdev/jdbc-ucp-19-6-c-downloads.html
    Oracle 12.1, 12.2, 18.3, 19.x
    19.7 ojdbc8.jar
    Download Path: https://www.oracle.com/database/technologies/appdev/jdbc-ucp-19-7-c-downloads.html
    8,9,11 Oracle 12.1, 12.2, 18.3, 19.x
    19.7 xdb6.jar
    Download Path: https://www.oracle.com/database/technologies/appdev/jdbc-ucp-19-7-c-downloads.html
    Oracle 12.1, 12.2, 18.3, 19.x
    19.7 xmlparserv2.jar
    Download Path: https://www.oracle.com/database/technologies/appdev/jdbc-ucp-19-7-c-downloads.html
    Oracle 12.1, 12.2, 18.3, 19.x
    19.8 ojdbc8.jar
    Download Path: https://www.oracle.com/database/technologies/appdev/jdbc-ucp-19-8-c-downloads.html
    8,9,11 Oracle 12.1, 12.2, 18.3, 19.x
    19.8 xdb6.jar
    Download Path: https://www.oracle.com/database/technologies/appdev/jdbc-ucp-19-8-c-downloads.html
    Oracle 12.1, 12.2, 18.3, 19.x
    19.8 xmlparserv2.jar
    Download Path: https://www.oracle.com/database/technologies/appdev/jdbc-ucp-19-8-c-downloads.html
    Oracle 12.1, 12.2, 18.3, 19.x
    19.9 ojdbc8.jar
    Download Path: https://www.oracle.com/database/technologies/appdev/jdbc-ucp-19-9-c-downloads.html
    8,9,11 Oracle 12.1, 12.2, 18.3, 19.x
    19.9 xdb6.jar
    Download Path: https://www.oracle.com/database/technologies/appdev/jdbc-ucp-19-9-c-downloads.html
    Oracle 12.1, 12.2, 18.3, 19.x
    19.9 xmlparserv2.jar
    Download Path: https://www.oracle.com/database/technologies/appdev/jdbc-ucp-19-9-c-downloads.html
    Oracle 12.1, 12.2, 18.3, 19.x

    JDBC Driver Jars for PostgreSQL

    Driver Version Driver Jar Name Java Version Supported DB Versions
    42.2.5 postgresql-42.2.5.jre6.jar
    Download Path: https://jdbc.postgresql.org/download.html
    6 Aurora PostgreSQL (Compatible with PostgreSQL 9.6.8, 9.6.9, 10.4, 10.5, 10.6)
    42.2.5 postgresql-42.2.5.jre7.jar
    Download Path: https://jdbc.postgresql.org/download.html
    7 Aurora PostgreSQL (Compatible with PostgreSQL 9.6.8, 9.6.9, 10.4, 10.5, 10.6)
    42.2.5 postgresql-42.2.5.jar
    Download Path: https://jdbc.postgresql.org/download.html
    8 Aurora PostgreSQL (Compatible with PostgreSQL 9.6.8, 9.6.9, 10.4, 10.5, 10.6)
    42.2.6 postgresql-42.2.6.jre6.jar
    Download Path: https://jdbc.postgresql.org/download.html
    6 Aurora PostgreSQL (Compatible with PostgreSQL 9.6.8, 9.6.9, 10.4, 10.5, 10.6)
    42.2.6 postgresql-42.2.6.jre7.jar
    Download Path: https://jdbc.postgresql.org/download.html
    7 Aurora PostgreSQL (Compatible with PostgreSQL 9.6.8, 9.6.9, 10.4, 10.5, 10.6)
    42.2.6 postgresql-42.2.6.jar
    Download Path: https://jdbc.postgresql.org/download.html
    8 Aurora PostgreSQL (Compatible with PostgreSQL 9.6.8, 9.6.9, 10.4, 10.5, 10.6)
    42.2.7 postgresql-42.2.7.jre6.jar
    Download Path: https://jdbc.postgresql.org/download.html
    6 Aurora PostgreSQL (Compatible with PostgreSQL 9.6.8, 9.6.9, 10.4, 10.5, 10.6)
    42.2.7 postgresql-42.2.7.jre7.jar
    Download Path: https://jdbc.postgresql.org/download.html
    7 Aurora PostgreSQL (Compatible with PostgreSQL 9.6.8, 9.6.9, 10.4, 10.5, 10.6)
    42.2.7 postgresql-42.2.7.jar
    Download Path: https://jdbc.postgresql.org/download.html
    8 Aurora PostgreSQL (Compatible with PostgreSQL 9.6.8, 9.6.9, 10.4, 10.5, 10.6)
    42.2.8 postgresql-42.2.8.jar
    Download Path: https://jdbc.postgresql.org/download.html
    8 Aurora PostgreSQL (Compatible with PostgreSQL 9.6.8, 9.6.9, 10.4, 10.5, 10.6)
    42.2.17 postgresql-42.2.17.jar
    Download Path: https://jdbc.postgresql.org/download.html
    8 Aurora PostgreSQL (Compatible with PostgreSQL 8.2 or newer)
    42.2.18 postgresql-42.2.18.jar Download Path: https://jdbc.postgresql.org/download.html 8 Aurora PostgreSQL (Compatible with PostgreSQL 8.2 or newer)

    JDBC Driver Jars for MySQL

    Driver Version Driver Jar Name Java Version Supported DB Versions
    8.0.15 mysql-connector-java-8.0.15.jar
    Download Path: https://downloads.mysql.com/archives/c-j/
    8 MySQL 8.0, 5.7, 5.6, and 5.5
    8.0.16 mysql-connector-java-8.0.16. jar
    Download Path: https://downloads.mysql.com/archives/c-j/
    8 MySQL 8.0, 5.7, 5.6, and 5.5
    8.0.17 mysql-connector-java-8.0.17.jar
    Download Path: https://downloads.mysql.com/archives/c-j/
    8 MySQL 8.0, 5.7, 5.6, and 5.5
    8.0.22 mysql-connector-java-8.0.22.jar
    Download Path: https://downloads.mysql.com/archives/c-j/
    8 MySQL 8.0, 5.7, 5.6
    8.0.23 mysql-connector-java-8.0.23.jar
    Download Path: https://dev.mysql.com/downloads/connector/j/
    Note: If you are unable to find the driver jar for the specified version, then download the driver from the archived version’s download link as shown below:
    https://downloads.mysql.com/archives/c-j/
    8 MySQL 8.0, 5.7, 5.6

    Note: For MySQL driver, ensure that you download the Platform Independent variant.

    JDBC Driver Jars for MariaDB

    Driver Version Driver Jar Name Java Version Supported DB Versions
    2.3.0 mariadb-java-client-2.3.0.jar
    Download Path: http://downloads.mariadb.com/Connectors/java/
    8 MariaDB 10.3.8
    2.4.3 mariadb-java-client-2.4.3.jar
    Download Path: http://downloads.mariadb.com/Connectors/java/
    8 MariaDB 10.3.8
    2.5.4 mariadb-java-client-2.5.4.jar
    Download Path: http://downloads.mariadb.com/Connectors/java/
    8 All MariaDB versions
    2.7.1 mariadb-java-client-2.7.1.jar
    Download Path: http://downloads.mariadb.com/Connectors/java/
    8 All MariaDB versions
    2.7.2 mariadb-java-client-2.7.2.jar
    Download Path: http://downloads.mariadb.com/Connectors/java/
    8 All MariaDB versions

    JDBC Driver Jars for Tibero

    Driver Version Driver Jar Name Java Version Supported DB Versions
    6.0 tibero6-jdbc.jar Download Path: The driver jar is available in the Tibero 6 installation directory, ($TB_HOME/client/lib/jar). Tibero 6

    JDBC Driver Jars for SAP HANA

    Driver Version Driver Jar Name Java Version Supported DB Versions
    2.8.11 ngdbc-2.8.11.jar Download Path: https://repo1.maven.org/maven2/com/sap/cloud/db/jdbc/ngdbc/2.8.11/ngdbc-2.8.11.jar 8 All SAP HANA versions
    2.8.12 ngdbc-2.8.12.jar Download Path: https://repo1.maven.org/maven2/com/sap/cloud/db/jdbc/ngdbc/2.8.12/ngdbc-2.8.12.jar 8 All SAP HANA versions
    2.8.14 ngdbc-2.8.14.jar Download Path: https://repo1.maven.org/maven2/com/sap/cloud/db/jdbc/ngdbc/2.8.14/ngdbc-2.8.14.jar 8 All SAP HANA versions

    JDBC Driver Jars for Amazon Redshift

    Driver Version Driver Jar Name Java Version Supported DB Versions
    1.2.53 RedshiftJDBC42-no-awssdk-1.2.53.1080.jar Download Path: https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/1.2.53.1080/RedshiftJDBC42-no-awssdk-1.2.53.1080.jar 8 All Amazon Redshift versions
    1.2.54 RedshiftJDBC42-no-awssdk-1.2.54.1082.jar Download Path: https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/1.2.54.1082/RedshiftJDBC42-no-awssdk-1.2.54.1082.jar 8 All Amazon Redshift versions
    2.0.0.3 redshift-jdbc42-2.0.0.3.jar Download Path: https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.0.0.3/redshift-jdbc42-2.0.0.3.jar 8 All Amazon Redshift versions
    2.0.0.4 redshift-jdbc42-2.0.0.4.jar Download Path: https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.0.0.4/redshift-jdbc42-2.0.0.4.jar 8 All Amazon Redshift versions

    JDBC Driver Jars for Snowflake

    Driver Version Driver Jar Name Java Version Supported DB Versions
    3.9.2 snowflake-jdbc-3.9.2.jar Download Path: https://repo1.maven.org/maven2/net/snowflake/snowflake-jdbc/3.9.2/snowflake-jdbc-3.9.2.jar 8 All Snowflake versions
    3.12.15 snowflake-jdbc-3.12.15.jar Download Path: https://repo1.maven.org/maven2/net/snowflake/snowflake-jdbc/3.12.15/snowflake-jdbc-3.12.15.jar 8 All Snowflake versions
    3.12.16 snowflake-jdbc-3.12.16.jar Download Path: https://repo1.maven.org/maven2/net/snowflake/snowflake-jdbc/3.12.16/snowflake-jdbc-3.12.16.jar 8 All Snowflake versions
    3.12.17 snowflake-jdbc-3.12.17.jar Download Path: https://repo1.maven.org/maven2/net/snowflake/snowflake-jdbc/3.12.17/snowflake-jdbc-3.12.17.jar 8 All Snowflake versions

    JDBC Driver Jars for Vertica

    Driver Version Driver Jar Name Java Version Supported DB Versions
    9.3.1 vertica-jdbc-9.3.1-0.jar Download Path: https://www.vertica.com/client_drivers/9.3.x/9.3.1-0/vertica-jdbc-9.3.1-0.jar 8 All Vertica versions
    10.0.1 vertica-jdbc-10.0.1-0.jar Download Path: https://www.vertica.com/client_drivers/10.0.x/10.0.1-0/vertica-jdbc-10.0.1-0.jar 8 All Vertica versions
    10.1.1 vertica-jdbc-10.1.1-0.jar Download Path: https://www.vertica.com/client_drivers/10.1.x/10.1.1-0/vertica-jdbc-10.1.1-0.jar 8 All Vertica versions

    JDBC Driver Jars for Teradata Vantage

    Driver Version Driver Jar Name Java Version Supported DB Versions
    16.2 terajdbc4.jar Download Path: https://downloads.teradata.com/download/connectivity/jdbc-driver 8 All Teradata Vantage versions
    17.0 terajdbc4.jar Download Path: https://downloads.teradata.com/download/connectivity/jdbc-driver 8 All Teradata Vantage versions
    17.1 terajdbc4.jar Download Path: https://downloads.teradata.com/download/connectivity/jdbc-driver 8 All Teradata Vantage versions

    Database Application Actions

    To use Database Application, you must select actions to execute. Actions allow you to connect to the database and initiate an action on the database from webMethods.io Integration.

    You call database actions to perform database operation on tables, views, or synonyms. The database actions are performed by calling JDBC APIs.

    Actions are based on templates provided with Database Application. Each template represents an SQL statement for performing an action on a database. For example, use Select action to retrieve specified information from the database tables.

    Creating a new action from a template is straightforward. You will have to create an account using which you can create a new action. During this process, select the action template and configure the action using the wizards.

    Database Application provides the following action templates:

    Operation Description
    Batch Insert Inserts new information into a database table. Use this action when you insert a large volume of data into a single table.
    Batch Update Updates the existing information in a database table. Use this action when you update a large volume of data in a single table.
    Custom SQL Defines and executes custom SQL to perform database operations. You can run almost any SQL statement required, such as data management statements and data definition statements. The following table describes the restrictions when creating an SQL query statement:
  • Specify the table alias along with the table name if the SQL query contains more than one table.
    select d.deptno, e.empno from dept d,emp e where d.deptno = ?
  • Use different column name alias for columns in the SQL query.
    select firstname as f_name, lastname as l_name from emp
  • Column names in the SQL query should not be enclosed in quotes.
    select partno as partno from emp where partno=1
  • Use the “as” keyword when you specify an alias for a column.
    select city as dummy from emp
  • Irrespective of the database type, the query syntax must follow the SQL standards.
    insert into example_default_now set id=?, data=?

    Note:
  • You can use a CustomSQL to call a stored procedure only when the stored procedure does not have any OUT/INOUT or return parameters. If you need to use these parameters, use the StoredProcedure template.
  • Standards corresponding to specific database types are not supported.
  • If you use the ? variable placeholders in your SQL statement, ensure that you enter the corresponding Input Field and field type information in the same order as they appear in your SQL statement.
  • Do not end your SQL statement with a semi-colon (;) or an exception will be generated at run time.
  • Dynamic SQL Configures a dynamic SQL statement, part of which you set at run time using input fields. At run time, the Dynamic SQL action will create the SQL statement by combining the contents of the input fields and then executing it.

    This is useful when you need the flexibility to set all or part of a SQL statement at run time, instead of at design time.

    DynamicSQL uses ${INPUT_FIELD_NAME} to map a part of the SQL statement to the input field. At design time, the action template generates an input field with INPUT_FIELD_NAME. At run time, the Dynamic SQL action parses the statement and replaces the ${INPUT_FIELD_NAME} with the actual contents of the input field.

    For variable names, use the ? variable placeholder for each variable.

    For example: select employee_name where StaffID = ? and Dept = ?

    Example 1: select * from table1 ${where}: At run time, the ‘where’ input field is set to where col1 > 100. The final SQL query will be "select * from table1 where col1>100".

    Example 2: select * from table1 ${where}: At run time, the ‘where’ input field is set to where col1 > ?. As you are using placeholder “?” to receive input value for col1, you need to configure an input field to set value for column ‘col1’ The final SQL query will be "select * from table1 where col1>?".

    Example3: select ${output_fields} from table1 ${where}: At run time, the ‘where’ input field is set to where col1>100 and ‘output_fields’ input field is set to col1,col2,col3. The final SQL query will be "select col1,col2,col3 from table1 where col1>100"

    Note:
  • Database application does not validate the input parameters of a DynamicSQL action for any malicious SQL injections. When you use a variable input parameter such as the text ${INPUT_FIELD_NAME} in the SQL statement, you must take extra measures to avoid potential security risks.
  • You can use a DynamicSQL to call a stored procedure only when the stored procedure does not have any OUT/INOUT or return parameters. If you need to use these parameters, use the StoredProcedure template.
  • If you use the ? variable placeholders in your SQL statement, ensure that you enter the corresponding Input Field and field type information in the same order as they appear in your SQL statement.
  • Do not end your SQL statement with a semi-colon (;) or an exception will be generated at run time.
  • Delete Deletes rows from a database table.
    Insert Inserts new information into a database table.
    Select Retrieves specified information from the database table.
    Stored Procedure Calls a stored procedure. It obtains the stored procedure’s input/output parameters by introspecting when you configure the action.
    Update Updates the existing information in a database table.

    Advanced Options

    The following options provide additional capabilities for Database operations:

    Parameter Description
    Select Distinct Select the toggle button to suppress the duplicate rows in the query output.
    Note: This option is applicable only for Select operation.
    Convert selected to String Select the toggle button to convert the fields with input or output data type to java.lang.String. The selected fields are automatically converted to a String data type. It does not impact the fields which cannot be converted to String data type.
    Note: This option is applicable for Select, Insert, Update, Delete, Batch Insert, and Batch Update operations.
    Use SQL Expression (Advanced) Use the following formats to provide SQL expressions:
  • For table columns use tableAlias.columnName.
  • For valid database functions use databaseFunction(tableAlias.columnName).
    For example, upper(tableAlias.columnName).
    Note: This option is applicable for Select, Update, Delete, and Batch Update operations.
  • Configuring the Parameter Values

    Configure the parameters for CRUD Actions, Stored Procedures, and Batch Operations.

    CRUD Actions and Stored Procedures

    You can configure the following parameters for custom SQL, Select, Update, Insert, Delete actions and Stored Procedures:

    Parameter Description
    Query Time Out Type or Select the query time out value in seconds.
    This field specifies the number of seconds the database connection will wait for a SQL statement.
    Note: Leave blank if you do not want to specify the Query Time Out.
    Maximum Row Type the number of rows to be retrieved from a database table.
    Note:
  • Leave blank if you do not want to specify limit on the number of rows retrieved.
  • This parameter is available in custom SQL and Select actions.
  • Row Count Field Name Type the field name of the Row Count Field. This field specifies the name of the output field whose value contains the number of affected rows while executing an SQL query.
    Note: This parameter is not available in Stored Procedures.
    Row Count Field Type Select the data type of the Row Count Field.
    Note: This parameter is not available in Stored Procedures.

    Batch Operation

    You can configure the following parameters for Batch Insert and Batch Update operations:

    Parameter Description
    Query Time Out Type or Select the query time out value in seconds. This field specifies the number of seconds the database connection will wait for a SQL statement to execute.
    Note: Leave blank if you do not want to specify the Query Time Out.
    Batch Result Output Name Type the output name of the Batch Result Output Name. The output of the batch operation is a string list. Elements in the list appear in the order in which you add the Insert SQL queries for execution in the batch mode. Depending on the JDBC driver you use, the elements in the list contains one of the following values:
  • A number greater than or equal to 0. This indicates the insert SQL query is successfully executed and returns the number of rows affected in the database.
  • A value of -2. This indicates that the insert SQL query was executed successfully but the number of rows affected is unknown.
  • JDBC Data Type to Java Data Type Mappings

    Each column in the database table is assigned a SQL type. The JDBC driver maps each SQL data type to a JDBC data type. Database Application then maps each JDBC data type to one or more Java data types that are used as the input or output of the database actions.

    The following table shows the JDBC data type to Java data type mappings. You can map each JDBC data type to a set of Java data types by choosing one from the set. The JDBC data type you select during configuration will then map to the input or output of the database actions.

    For a list of data types for which Database Application has some constraints, see JDBC Data Type to Java Data Type Mapping Constraints.

    Note:

  • Database Application does not support the TIMESTAMP WITH TIME ZONE and TIMESTAMP WITH LOCAL TIME ZONE data types in Oracle 10g.
  • Database Application does not support user-defined data types, Oracle PL/SQL collections, or Oracle PL/SQL records.
  • UROWID data type is not supported for Oracle database.
  • If the DATE JDBC type contains String as Java type, then the date format which Database Application accepts is YYYY-MM-DD.
  • JDBC Data Type Java Data Type
    ARRAY java.sql.Array
    java.lang.Object
    BIT java.lang.Boolean
    java.lang.String
    java.lang.Object
    TINYINT java.lang.Byte
    java.lang.Integer
    java.lang.String
    java.lang.Object
    SetAsString
    SMALLINT java.lang.Short
    java.lang.Integer
    java.lang.String
    java.lang.Object
    INTEGER java.lang.Integer
    java.lang.String
    java.lang.Object
    BIGINT java.lang.Long
    java.lang.String
    java.lang.Object
    FLOAT java.lang.Double
    java.lang.String
    java.lang.Object
    java.math.BigDecimal
    SetAsString
    REAL java.lang.Float
    java.lang.String
    java.lang.Object
    java.math.BigDecimal
    BOOLEAN java.lang.Boolean
    java.lang.String
    java.lang.Object
    DOUBLE java.lang.Double
    java.lang.String
    java.lang.Object
    java.math.BigDecimal
    SetAsString
    NUMERIC java.math.BigDecimal
    java.lang.String
    java.lang.Object
    DECIMAL java.math.BigDecimal
    java.lang.String
    java.lang.Object
    CHAR java.lang.String
    java.lang.Character
    java.lang.Object
    VARCHAR java.lang.String
    java.lang.Object
    LONGVARCHAR java.lang.String
    java.lang.Object
    DATE java.sql.Date
    java.util.Date
    java.lang.String
    java.lang.Object
    *SetAsString
    TIME java.sql.Time
    java.util.Date
    java.lang.String
    java.lang.Object
    SetAsString
    TIMESTAMP java.sql.Timestamp
    java.util.Date
    java.lang.String
    java.lang.Object
    SetAsString
    TIMESTAMP WITH TIME ZONE
    TIMESTAMP WITH LOCAL TIME ZONE
    BINARY byte array (byte [])
    java.lang.Object
    VARBINARY byte array (byte[])
    java.lang.Object
    LONGVARBINARY byte array (byte[])
    java.lang.Object
    LONGNVARCHAR java.lang.String
    java.lang.Object
    NCHAR java.lang.String
    java.lang.Object
    NULL java.lang.String
    java.lang.Object
    NVARCHAR java.lang.String
    java.lang.Object
    CLOB java.sql.Clob
    java.lang.String
    java.io.Reader
    java.lang.Object
    BLOB java.sql.Blob
    byte array
    java.io.InputStream
    java.lang.Object
    ORACLECURSOR java.lang.Object
    ORACLEFIXED_CHAR java.lang.String
    STRUCT java.sql.Struct
    java.lang.Object
    OTHER java.lang.Object
    java.lang.String
    java.sql.Struct
    java.sql.Array

    Important Considerations When Using BLOB and CLOB Data Types

  • When passing large CLOB or BLOB data, use the Java data types java.io.Reader for CLOB and java.io.InputStream for BLOB to prevent Database Application from running out of memory. When using these data types, Database Application streams the data into bytes thus allowing to pass large data. The data types java.io.Reader and java.io.InputStream are supported only for the Oracle database using the Oracle driver.
  • When using the CLOB data with java.io.Reader as input data type, it is recommended that you use the InputStreamReader implementation of java.io.Reader with the correct encoding parameter.
  • When webMethods.io Integration executes a SELECT operation that has its output type set to java.sql.Blob for a BLOB data type, webMethods.io Integration issues a java.io.NotSerializableException error.
  • Important Considerations When Using the Array and Struct Database Specific Data Types

  • In database operation, when using the java.lang.Object as the output field type for a database column of type ARRAY or STRUCT, Database Application returns the data as a java.lang.Object array, provided that the ARRAY or STRUCT data in the database table is composed of primitive data types.
  • When using the java.sql.Array or java.sql.Struct as the output field type for a database column of type ARRAY or STRUCT, Database Application returns the java.sql.Array and the java.sql.Struct objects, respectively, as returned by the driver. However, when serializing the data across the JVMs, this returned data may not be serializable and may result into a java.io.NotSerializableException. Therefore, before serializing the data across the JVMs, it is important that you process the java.sql.Struct and java.sql.Array objects as required, and then drop them from the pipeline.
  • Note: The java.sql.Struct and java.sql.Array data types are available only for Database Application operations.

    Using the SetAsString Data Type in Database Application

    The SetAsString data type is a dummy string data type. When using this data type, Database Application does not try to convert the input data into the equivalent JDBC data type, but passes the data to the underlying database driver as a string data type. Thus, you have the flexibility to specify the format of the equivalent JDBC data type by using a database specific function.

    For example, you can specify the format for date, time, or timestamp using the to_date function or a similar database function for Oracle database. Database Application treats the input data as a string data type and does not convert it to the equivalent JDBC data type. The to_date function then uses the string data to provide the required format of the date, time or timestamp.

    If your database has native database specific functions that can convert string data type to any other data type, you may use the SetAsString data type.

    Note: The SetAsString data type is available only for database operations.

    JDBC Data Type to Java Data Type Mapping Constraints

    Database Application has some constraints when mapping JDBC data types to Java data types.

    If you select one of the following Java data types, the data type will map exactly to the Input/Output of operation:

    Those data types not included in this list will map to java.lang.Object. In these cases, if the JDBC data type you specify is for input, you will need to pass in the object with the selected Java data type. If the JDBC type is for output, you can cast the object to the selected Java data type.

    Supported Cloud Databases

    The following table lists the supported cloud databases:

    Cloud Database Database Version
    Microsoft Azure Microsoft SQL Azure (RTM) - 12.0.2000.8
    Amazon RDS Oracle Oracle 12c, Version 12.1.0.2
    Amazon RDS MS SQL Server SQL Server 2016 SP1 CU7 13.00.4466.4, released
    AWS Aurora PostgreSQL Aurora PostgreSQL 10.6
    AWS Aurora MySQL Aurora MySQL 5.7.12
    Amazon RDS MariaDB MariaDB 10.3.8
    Tibero on Amazon EC2 Tibero 6

    How to use the Database Application

    Let’s understand how to use the Database Application with the help of an example.

    Let’s say you have a FlowService on your cloud container environment named DBTest_FS(flow_service) insideprojects(DBTest) . You want to invoke this FlowService and execute it on the webMethods.io Integration platform.

    Note: The FlowService DBTest_FS(flow_service)used in the example is a simple FlowService that selects a record from the customer database.

    To invoke and execute DBTest_FS(flow_service) , we will have to use the Database. To do so, follow the steps given below:

    1. Start creating a flow service. Select Database from the dropdown list.
    2. Select Add Custom Operation in the dropdown list next to Database. This will redirect you to the ‘Connect to account’ configuration screen.

      Note: You can alternatively select an existing action (if any) from the Select Action dropdown list.

    3. Connect to a Database account.

      Select an existing Database account (if any) from the dropdown list, provide a suitable name and description for the action you want to create and click Next or

      Select the ’+’ button to add a new Database account.

      This will take you to the ‘Add Account’ configuration screen where you will need to provide the following details:

      • Name - Provide a suitable name for the account you want to add.
      • Description - Provide a suitable description for the account you want to add.
      • Database - Select the supported database to connect to from the dropdown list.
      • Driver Group - Select the existing driver group from the dropdown list or select the ’+’ button to add a new driver group.

        This will take you to the ‘Add Driver’ configuration screen where you will need to provide the following details:

        1. Database - Select the supported database to connect to from the dropdown list.
        2. Driver Group - Provide a name to the driver group.
        3. Browse - Select the JDBC driver jar to upload.

        Save the details.

      • Transaction Type - The transaction type auto-populates as per the selected Driver Group. You can also change if needed.

      • DataSource Class - The DataSource Class auto-populates as per the selected Driver Group. You can also change if needed.

      • Server Name - Enter the server that hosts the database. e.g., sample.adapter.db.com.

      • User Name - Enter the user name associated with the account on the database server.

      • Password - Enter the password for the specified user name.

      • Database Name - Enter the database name to which the connection connects to.

      • Port Number - Enter the port number.

      • Truststore Alias - Select the alias name of the webMethods.io Integration truststore configuration.

      • Network Protocol - Enter the network protocol that the connection uses when connecting to the database.

      • Property Name - Enter the property name. You can select the property from the dropdown list or use the ’+’ button to add a new property

      • Property Value - Enter the property value.

      Click Add.

      This will take you to the ‘Connect to account’ configuration screen of ‘Add Custom Action’ wizard.

      Note: Now, if you click on the Connect to Database dropdown list, you will see the added account in the list. This account can now be used to execute any Database custom action created under the same project.

      • Select an account from the Database dropdown list, provide a suitable name and description for the action you want to create
      • click Next
    4. Select the action.

      Click Next.

    5. Select the Tables.

      Here, you will see all the available tables, views or synonyms. Select the table.

      Here, in our example, we have added the table CUSTOMER from the existing tables.

      Click Next.

    6. Select the Joins.

      Here, you will see all the selected tables, views or synonyms. Add a join.

      Here, in our example, we have not added any joins.

      Click Next.

    7. Select the Data Fields.

      Here, you will see the selected data fields. Create or add a new data fields.

      Here, in our example, we have added the data fields in the table.

      You can also change the Output Field Type and Sort Order for a data field. Here, in our example, we have changed the Output Field Type to the data fields in the table.

      Click Next.

    8. Select the Condition.

      Here, you will see all the conditions created. Add single or multiple conditions.

      Here, in our example, we have added a condition on data field PERSONID.

      Click Next.

    9. Select the Parameters.

      Edit Execution Parameters.

      Click Next.

    10. Verify the summary.

      Click Done

    11. The FlowService window appears. Click icon to run the FlowService.

      You will see the output data for the configured custom action.

    How to use the Database Application for Custom SQL

    Let’s understand how to use the Database Application for Custom SQL with the help of an example.

    Let’s say you have a FlowService on your environment named DBTest_FS(FlowService) inside DBTest(project). You want to invoke this FlowService and run it on the webMethods.io Integration platform.

    Note: The FlowService DBTest_FS(flow_service) used in the example is a simple FlowService that uses the Custom SQL action from the database application.

    To invoke and run DBTest_FS(FlowService), create an account to connect to the Database. To do so, do the following:

    1. Start creating a FlowService. Select Database from the dropdown list.
    2. Select Add Custom Operation in the dropdown list next to Database. This will redirect you to the ‘Connect to account’ configuration screen.

      Note: You can alternatively select an existing action (if any) from the Select Action dropdown list.

    3. Connect to a Database account.

      Select an existing Database account (if any) from the dropdown list, provide a suitable name and description for the action you want to create and click Next or

      Select the ’+’ button to add a new Database account.

      This will take you to the ‘Add Account’ configuration screen where you will need to provide the following details:

      • Name - Provide a suitable name for the account you want to add.
      • Description - Provide a suitable description for the account you want to add.
      • Database - Select the supported database to connect to from the dropdown list.
      • Driver Group - Select the existing driver group from the dropdown list or select the ’+’ button to add a new driver group.

        In the ‘Add Driver’ configuration screen, provide the following details:

        1. Database - Select the supported database to connect to from the dropdown list.
        2. Driver Group - Provide a name for the driver group.
        3. Browse - Select the JDBC driver jar to upload.

        Save the details.

      • Transaction Type - The transaction type auto-populates as per the selected Driver Group. You can also change if needed.

      • DataSource Class - The DataSource Class auto-populates as per the selected Driver Group. You can also change if needed.

      • Server Name - Enter the server name that hosts the database, for example, sample.adapter.db.com.

      • User Name - Enter the user name associated with the account on the database server.

      • Password - Enter the password for the specified user name.

      • Database Name - Enter the database name to which the connection connects to.

      • Port Number - Enter the port number.

      • Truststore Alias - Select the alias name of the webMethods.io Integration truststore configuration.

      • Network Protocol - Enter the network protocol that the connection uses when connecting to the database.

      • Property Name - Enter the property name. You can select the property from the dropdown list or use the ’+’ button to add a new property

      • Property Value - Enter the property value.

      Click Add.

      This will take you to the ‘Connect to account’ configuration screen of ‘Add Custom Action’ wizard.

      Note: Now, if you click on the Connect to Database dropdown list, you will see the added account in the list. This account can now be used to execute any Database custom action created under the same project.

      • Select an account from the Database dropdown list, provide a suitable name and description for the action you want to create
      • click Next
    4. Select Custom SQL action.

      Click Next.

    5. Type the Custom SQL query. You can pass values at runtime using “?” as the value placeholder for each column in the SQL statement.

      Here, in our example, we have given the Custom SQL query for table EMP_A where ID =?

      Click Next.

    6. You will see the input details of the SQL.

      Here, in our example, we have provided the input field ID.

      Click Next.

      Note: If inputs are not auto-populated for the SQL query, you can add them explicitly using the Add Input button.

    7. You will see the output fields as per the entered SQL.

      Here, in our example, we have selected all the columns of the table EMP_A as output.

      Click Next.

      Note: If outputs are not auto-populated for the SQL query, you can add them explicitly using the Add Output button.

    8. Edit Execution Parameters.

      Click Next.

      Note: This is an optional configuration.

    9. Verify the summary.

      Click Done.

      Note: To see the signature, click Show Input/Output.

    10. The FlowService window appears. Click icon to run the FlowService.

      Here in our example, we have given 1 as the input value for input field ID.

      You will see the output data for the configured custom action.

    How to use the Database Application for Dynamic SQL

    Let’s understand how to use the Database Application for Dynamic SQL with the help of an example.

    Let’s say you have a FlowService on your environment named DBTest_FS(FlowService) inside DBTest(project). You want to invoke this FlowService and run it on the webMethods.io Integration platform.

    Note: The FlowService DBTest_FS(FlowService) used in the example is a simple FlowService that uses the Dynamic SQL action from the database application.

    To invoke and run DBTest_FS(FlowService), create an account to connect to the Database. To do so, do the following:

    1. Start creating a FlowService. Select Database from the dropdown list.
    2. Select Add Custom Operation in the dropdown list next to Database. This will redirect you to the ‘Connect to account’ configuration screen.

      Note: You can alternatively select an existing action (if any) from the Select Action dropdown list.

    3. Connect to a Database account.

      Select an existing Database account (if any) from the dropdown list, provide a suitable name and description for the action you want to create and click Next or

      Select the ’+’ button to add a new Database account.

      This will take you to the ‘Add Account’ configuration screen where you will need to provide the following details:

      • Name - Provide a suitable name for the account you want to add.
      • Description - Provide a suitable description for the account you want to add.
      • Database - Select the supported database to connect to from the dropdown list.
      • Driver Group - Select the existing driver group from the dropdown list or select the ’+’ button to add a new driver group.

        In the ‘Add Driver’ configuration screen, provide the following details:

        1. Database - Select the supported database to connect to from the dropdown list.
        2. Driver Group - Provide a name for the driver group.
        3. Browse - Select the JDBC driver jar to upload.

        Save the details.

      • Transaction Type - The transaction type auto-populates as per the selected Driver Group. You can also change if needed.

      • DataSource Class - The DataSource Class auto-populates as per the selected Driver Group. You can also change if needed.

      • Server Name - Enter the server name that hosts the database, for example, sample.adapter.db.com.

      • User Name - Enter the user name associated with the account on the database server.

      • Password - Enter the password for the specified user name.

      • Database Name - Enter the database name to which the connection connects to.

      • Port Number - Enter the port number.

      • Truststore Alias - Select the alias name of the webMethods.io Integration truststore configuration.

      • Network Protocol - Enter the network protocol that the connection uses when connecting to the database.

      • Property Name - Enter the property name. You can select the property from the dropdown list or use the ’+’ button to add a new property

      • Property Value - Enter the property value.

      Click Add.

      This will take you to the ‘Connect to account’ configuration screen of ‘Add Custom Action’ wizard.

      Note: Now, if you click on the Connect to Database dropdown list, you will see the added account in the list. This account can now be used to execute any Database custom action created under the same project.

      • Select an account from the Database dropdown list, provide a suitable name and description for the action you want to create
      • click Next
    4. Select Dynamic SQL action.

      Click Next.

    5. Type the Dynamic SQL query statement, part of which you set at run time using input fields.

      Here, in our example, we have given the Dynamic SQL query for table EMP_A, at run time, the ‘where’ input field is set to where ID = 2.

      Click Next.

    6. Input field is added at run time. You need to add input explicitly, If you have placeholder “?” in the SQL query to receive input to the query at runtime.

      Click Next.

    7. You will see the output fields as per the entered SQL when the FlowService is run.

      Click Next.

      Note: To add output explicitly, click Add Output, if you have output for SQL statement and you want to add alias name for output fields.

    8. Edit Execution Parameters.

      Click Next.

      Note: This is an optional configuration.

    9. Verify the summary.

      Click Done.

      Note: To see the signature, click Show Input/Output.

    10. The FlowService window appears. Give the input value and click icon to run the FlowService.

      Here, in our example, we have given value for the input field as, where ID = 2

      You will see the output data for the configured custom action.

    Data Store

    Store and retrieve keys with local and global scope for your workflows.

    Availability: Workflows only

    Actions

    Know how to use Account Store, Flow Store, and Memory Store action in detail.

    DevOps Tools

    Execute shell commands over SSH connections.

    Availability: Workflows only

    Actions

    Developer Tools

    Developer Tools are the set of in-built services offered by webMethods.io Integration to help you add advanced functionalities to your workflows.

    Availability: Workflows only

    Actions

    Note: If the workflow containing a Global Error Handler timeouts due to some reason, then the workflow execution is not handled by the Global Error Handler.

    Note: The Format Date and Time action supports the following date formats:

    Format Description Example
    MM/DD/YYYY Month/Day of the Month/Year (with leading zeros) 18/11/2009
    M/D/YYYY Month/Day of the Month/Year (with no leading zeros) 2/18/2018
    YYYY/M/D Year/Month/Day of the Month (with no leading zeros) 2009/11/18
    sM/sD/YYYY (space)Month/(space)Day of the Month/Year (with spaces instead of leading zeros)

    Here, ‘s’ represents a blank space that can be inserted before a single-digit day or a single-digit month.
    s1/s9/2006
    YYYY/sM/sD Year/(space)Month/(space)Day of the Month (with spaces instead of leading zeros)

    Here, ‘s’ represents a blank space that can be inserted before a single-digit day or a single-digit month.
    2008/s9/s1
    YYYY-MM-DDThh:mm:ssZ ISO 8601 UTC date and time format 2013-07-16T19:23:51Z

           Error Handler Example

           Let’s say we have a workflow where whenever a new Member is added to a specific Trello Board, the member details are posted to a channel        on Slack and a notification mail is sent to specific recipients.

           To make sure that the workflow execution doesn’t fail abruptly due to any error in the Post Message to Channel action, attach an Error              Handler to it. This Error Handler action will ensure that the workflow execution completes despite error.

           Next, create a success path for the Post Message to Channel action to specify the next action (in this case, Send an Email) that should be        executed if Post Message to Channel action executes without any errors.

    Note: Every action that is attached to an Error Handler must also have a ‘Success Path’. If you don’t create a success path you will get an error similar to the one shown below:

    EDI

    Availability: FlowServices only

    Use the predefined operations in the Electronic Data Interchange (EDI) application to parse, validate, and transform EDI messages received from the webMethods.io B2B application. Use these transformed messages to create orchestrations.

    This application requires you to have access to the webMethods.io B2B product instance.

    The following predefined operations are available for EDI application:

    Operation Description
    addGroupEnvelope Adds a functional group header to an EDI message according to the UN/EDIFACT, ANSI X12, UCS, or VICS standards.
    addInterchangeEnvelope Adds an interchange control header to an EDI message according to the UN/EDIFACT, ANSI X12, UCS, or VICS standards.
    convertDocumentToEDIMessage Converts a document to an EDI message.
    convertEDIMessageToDocument Converts an EDI message that is stream or string into a document.
    createTradacomsMessage Creates a TRADACOMS message containing the STX header segment, payload, and the END segment.
    formatDate Format the input value based on the provided input and output date format.
    formatDecimal Formats exponential decimal values based on the operationType.
    formatNumber Formats given numeric value by adjusting decimal character based on the operationType.
    formatTime Formats the input value based on the provided input and output time format.
    generateFunctionalAcknowledgement Creates a functional acknowledgment (FA) that acknowledges all levels of an input EDI document.
    getDelimiter Returns the first delimiter character found in the input characterString.
    getEDIString Creates a complete EDI transaction set (either String or InputStream type) from an EDI transaction set header segment.
    getFirstKey Returns the name of the first key present in the input Document Doc.
    nullifyIfBlank Returns null or blank based on the blankOrNull value when the input is null or contains only blank spaces.
    processEnvelope Accepts and processes the envelope of an ANSI X12/UN/EDIFACT/UCS/VICS/EANCOM EDI or TRADACOMS message and converts the envelope header segments to a document.

    addGroupEnvelope

    Adds a functional group header to an EDI message according to the UN/EDIFACT, ANSI X12, UCS, or VICS standards.

    Input Parameters

     
    ediMessages String EDI messages to which a group envelope is added.
    documentType Either X12/UCS/VICS or UN/EDIFACT.
    functionalIDcode String Functional ID Code of the EDI document.
    senderQual String EDI ID qualifier for the sender ID. It is used with sender.
    sender String Identifies sender in the group envelope. For example, if you specify 01 for senderQual (indicating a D-U-N-S number), specify the D-U-N-S number for sender.
    receiverQual String EDI ID qualifier for the receiver ID. It is used with receiver .
    receiver String Receiver to be identified in the group envelope. For example, if you specify 01 for receiverQual (indicating a D-U-N-S number), specify the D-U-N-S number for receiver .
    grpCtlNumber String Group control number of the EDI document.
    agencyCode String Responsible agency code as per EDI standard: T (default) or X.
    verCode String EDI standard version and release code. For example, 4010, 3040.
    UN/EDIFACT Document When the document type is UN/EDIFACT, assign values to the following parameters:
      Key Description
      syntaxVersion String Syntax version of the envelope level.
      releaseCode String EDI message standard release code. For example, 96A, 97b.
      assignedCode String EDI message standard assigned code. For example, OD, EN.
      password String The recipient transmission reference password.
    delimiters Document Delimiters used in the EDI document:
      Key Description
      segment String Segment terminator for the EDI document. For example, \u000a.

    Default New line character

      field String Field separator for each EDI segment. For example, exclamation mark (!).

    Default *

      subfield String Separator for composite elements. For example, caret (^).

    Default :

      release String Release character for composite elements. For example, caret (^).

    Default ?

    Output Parameters

     
    ediMessage String Contains the ediMessage.
    statusCode String Status code based on success or failure.
    statusMessage String Status message after executing the operation.

    addInterchangeEnvelope

    Adds an interchange control header to an EDI message according to the UN/EDIFACT, ANSI X12, UCS, or VICS standards.

    Input Parameters

     
    ediMessages String EDI messages to which a group envelope is added.
    documentType Either X12/UCS/VICS or UN/EDIFACT.
    senderQual String EDI ID qualifier for the sender ID. It is used with sender.
    sender String The sender to be identified in the group envelope. For example, if you specify 01 for senderQual (indicating a D-U-N-S number), specify the D-U-N-S number for sender.
    receiverQual String EDI ID qualifier for the receiver ID. It is used with receiver.
    receiver String The receiver to be identified in the group envelope. For example, if you specify 01 for receiverQual (indicating a D-U-N-S number), specify the D-U-N-S number for receiver.
    ctlNumber String The interchange control number of the EDI document.
    ackRequested String Indicates whether to request an acknowledgment for this interchange:
      Value Meaning
      false Do not request an acknowledgment.

    Default False

      true Requests an acknowledgment.
    delimiters Document Delimiters used in the EDI document.
      Key Description
      segment String Segment terminator for the EDI document. For example, \u000a.

    Default \

      field String Field separator for each EDI segment. For example, exclamation mark (!).

    Default *

      subfield String Separator for composite elements. For example, caret (^).

    Default :

      release String Release character for composite elements. For example, caret (^).

    Default ?

      decimal String Decimal character for composite elements. For example, caret (^). If UN/EDIFACT > unaSegmentRequired is true, the decimal delimiter is used.

    Default .

    If UN/EDIFACT > unaSegmentRequired is false, decimal is ignored.
    X12/UCS/VICS Document When the document type is X12/UCS/VICS, assign values to the following parameters:
      Key Description
      authQual String Authorization qualifier for the interchange envelope.
      authInfo String Authorization information for the interchange envelope.
      securityQual String Security qualifier for the interchange envelope.
      securityInfo String Security information for the interchange envelope.
      ctlVersion String Version of the EDI standard used, with a 00 prefix. For example, if version is 4010, specify 004010.
      addLeadingZerosToCtlNumber String (ANSI X12 only) Adds leading zeros to the interchange control number to make it a nine-digit number.
        Value Meaning
        false Do not add leading zeros to the interchange control number.

    Default false

        true Add leading zeros to the interchange control number to make it a nine digit number. For example, 12 becomes 000000012.
      repSeparator String A separator for the repeated occurrences of a simple data element or a composite data structure. Field length: 1
    Note: The repSeparator must be different from the record, field, or subfield delimiters.
      messageAlignment String Aligns the messages.
        Value Description
        left Left justify.
        right Right justify.
        none No justification.

    Default

      testIndicator String. (optional) Whether to indicate production or test mode.
        Value Meaning
        P Production. This is the default Value.
        T Test.
        I Information.
    UN/EDIFACT Document When the document type is UN/EDIFACT, assign values to the following parameters:
      Key Description
      syntaxID String Syntax identifier.
      syntaxVersion String Syntax version of the envelope level.
      password String Recipient transmission reference password.
      passwordQual String Recipient reference password qualifier.
      applReference String Application reference.
      priority String Processing priority code.
      agreementID String Interchange agreement identifier.
      unaSegmentRequired String Adds a UNA segment to the resulting final message.
        Value Description
        true Create UNA segment.
        false Do not create UNA segment.
      directoryVersionNumber String Type the directory version number in the UNB01/S00103 subfield of the EDIFACT envelope interchange header.
      characterEncoding String Type the character encoding in the UNB01/S00104 subfield of the EDIFACT envelope interchange header.
      syntaxReleaseNumber String Type the syntax release number in the UNB01/S00105 subfield of the EDIFACT envelope interchange header.
      senderInternalId String Type the sender's internal ID in the UNB02/S00203 subfield of the EDIFACT envelope interchange header.
      senderInternalSubId String Type the sender's internal sub ID in the UNB02/S00204 subfield of the EDIFACT envelope interchange header.
      receiverInternalId String Type the receiver's internal ID in the UNB03/S00203 subfield of the EDIFACT envelope interchange header.
      receiverInternalSubId String Type the receiver's internal sub ID in the UNB03/S00204 subfield of the EDIFACT envelope interchange header.
      testIndicator String. (optional) Indicates the testing parameters.
        Value Meaning
        1 Indicates that the interchange is a test.
        2 Indicates that test only the syntax of the structure.
        3 Returns the request without any change.
        4 Returns the response without any change except for this data element changing from 3 to 4.

    Output Parameters

     
    ediMessage String Contains the ediMessage.
    statusCode String Status code based on success or failure.
    statusMessage String Status message after executing the operation.

    convertDocumentToEDIMessage

    Converts a document to an EDI message. When creating an orchestration with ConvertDocumentToEDIMessage, you must select the appropriate document type. This is for the structure of an ediDocument to appear in the pipeline data when you map with another ediDocument during orchestration.

    Input Parameters

     
    ediDocument Document The ediDocument you want to convert to an EDI message.
    txnCtlNumber String The value of the control number to set in the outbound transaction.
    documentType Either Default or TRADACOMS.
    encoding String The type of encoding used to write a message to the output file.

    Default UTF-8

    delimiters Document Delimiters used in the outbound EDI document.
    Note: This parameter is not applicable to TRADACOMS messages.
      Key Description
      segment String Segment terminator character to be appended at the end of each record in the output string.
      field String Field separator to be inserted between each field for each segment.
      subfield String Separator for composite elements.
      release String Release character to use as the escape character for composite elements.
    messageAlignment String Aligns the messages.
      Value Description
      left Left justify.
      right Right justify.
      none No justification.

    Default

    noEmptyTrailingFields String Indicates whether to remove empty trailing fields from the output.
      Value Description
      true Removes empty trailing fields from the output. For example, AAA*01*02! (where ! is the segment terminator).
      false This does not remove empty trailing fields. Instead it uses the field separator to denote an empty field. For example, AAA*01*02********!(where * is the field separator and ! is the segment terminator).

    Output Parameters

     
    ediMessage String Contains the EDI message.
    errors[] String List Error messages describing the errors encountered during conversion. If there are no errors, then error[] is null.
    segmentCount String The number of segments in the ediMessage.
    statusCode String Status code based on success or failure.
    statusMessage String Status message after executing the operation.

    convertEDIMessageToDocument

    Converts an EDI message that is stream or string into a document. When creating an orchestration with ConvertEDIMessageToDocument, you must select the appropriate document type. This is for the structure of an ediDocument to appear in the pipeline data when you map with another ediDocument during orchestration.

    Input Parameters

     
    ediMessage String The ediMessage you want to convert to a document.
    edistream InputStream The ediMessage stream you want to convert to a document.
    documentType Either Default or TRADACOMS
    encoding String The encoding of the message passed into an ediMessage or edistream.
    delimiters Document Delimiters to parse the input message. If no delimiters are specified, then the parameter uses the default delimiter defined for the flat file schema.
    Note: This parameter is not applicable to TRADACOMS messages.
      Key Description
      segment String Segment terminator used in the input message.
      field String Field separator used in the input message.
      subfield String Subfield separator used in the input message.
      release String Release character used in the input message.
    validate String Validates the ediMessage.
      Value Description
      true Return errors describing how the given ediMessage violates the constraints described in the flat file schema.
      false Do not return error messages describing how the ediMessage differs from the specified flat file schema. This is the default value.
    processOnlyTopLevelRecord String Processes the segments one at a time or process all input data at one time. Specify true or false.
      Value Meaning
      true Starts processing segment structures with a top-level record as defined by the flat file schema. The parameter returns to the caller when it encounters another top-level record in the input data.
      false Processes all input data at one time. This is the default value.
    ignoreSpaces String Ignores white space from the beginning of the segments. Specify true or false.
      Value Meaning
      true Ignore white spaces. This is the default value.
      false Use the segments as they are. Specify false when the data contains positional data records.
    repeatingFieldSeparator String Inserts field separator between repeating fields of an EDI document.
    Note: This parameter is not applicable to TRADACOMS messages.

    Output Parameters

     
    ediDocument Document The Document representation of the input ediMessage.
    isValid String Checks the validity of ediMessage.
      Value Description
      true validate input parameter was set to true and no errors were found.
      false validate input parameter was set to true and errors were found.
    errors[] Document List The validation errors, if any, that were found in edimessage.Validation errors are returned in errors only if validate is set to true and returnErrors is set to asArray or both. The list includes the path of the errors.
    statusCode String Status code based on success or failure.
    statusMessage String Status message after executing the operation.

    createTradacomsMessage

    Creates a TRADACOMS message containing the STX header segment, payload, and the END segment. When the validate parameter is set to true, EDI application validates the content of the message.

    Input Parameters

     
    STX Document The document representation of TRADACOMS STX segment.
    includeRSGRSG String Whether the service creates an RSGRSG (reconciliation) message in the output message.
      Value Description
      true Creates an RSGRSG message in the output message. This is the default value.
      false Does not create an RSGRSG message.
    encoding String Optional. The encoding format to use in the message.
    tradacomsMessages String The TRADACOMS payload.
    END Document The document representation of TRADACOMS END segment.
    validate String Validates the tradacomsMessages.
      Value Description
      true Returns errors describing how the given tradacomsMessages violates the constraints described in the flat file schema.
      false Does not return error messages describing how the tradacomsMessages differs from the specified flat file schema. This is the default value.

    Output Parameters

     
    ediMessage String Contains the EDI message.
    errors[] String List Validation errors, if any, that are found in tradacomsMessages. Validation errors are returned only if validate is set to true.
    isValid String Checks the validity of tradacomsMessages.
      Value Description
      true If the validate is set to true and no errors are found.
      false If the validate is set to true and there are errors.
    statusCode String Status code based on success or failure.
    statusMessage String Status message after performing the operation.

    formatDate

    Formats the input value based on the specified input and output date format.

    Input Parameters

     
    value String The field value to format.
    inputFormat String The date format that represents the input value. Follows the conventions described in the Java class java.text.SimpleDateFormat.
    outputFormat String The date format that represents the output formattedvalue after conversion.

    Follows the conventions described in the Java class java.text.SimpleDateFormat.

    Output Parameters

     
    formattedValue String The field value after applying outputFormat.
    isValueError Boolean Indicates whether the value can be formatted or not.
    • True. The value cannot be formatted.
    • False. The value can be formatted.
    errorMessage String (Optional) The error message describing the formatting error.

    formatDecimal

    Formats exponential decimal values based on the operationType.

    Input Parameters

     
    value String The field value to format.
    operationType String Indicates the type of operation to apply to the input value. Select one of the below two operations:
    • writeValueToFormat. Formats any non-exponential numeric value to an exponential decimal format.
    • readAsFormattedValue. Formats any exponential decimal value into a non-exponential numeric value.
    decimalChar String (Optional) The character that represents the decimal. The default decimal character is '.'.

    Output Parameters

     
    formattedValue String The field value with appropriate formatting applied.
    isValueError Boolean Indicates whether the value can be formatted or not.
    • True. The value cannot be formatted.
    • False. The value can be formatted.
    errorMessage String (Optional) The error message describing the formatting error.

    formatNumber

    Formats the given numeric value by adjusting the decimal character based on the operationType.

    Input Parameters

     
    value String The numeric value to format.
    operationType String Indicates the type of operation to apply to the input value. Select one of the below two operations:
    • writeValueToFormat. Formats the value by placing a decimalChar after the decimalCount number of characters.
    • readAsFormattedValue. Formats the value by placing a decimalChar before the decimalCount number of characters.
    decimalCount String Determines the number of decimals from the value that need to be formatted.
    decimalChar String (Optional) The character that represents the decimal. The default decimal character is '.'.

    Output Parameters

     
    formattedValue String The field value with appropriate formatting applied.
    isValueError Boolean Indicates whether the value can be formatted or not.
    • True. The value cannot be formatted.
    • False. The value can be formatted.
    errorMessage String (Optional) The error message describing the formatting error.

    formatTime

    Formats the input value based on the specified input and output time format.

    Input Parameters

     
    value String The field value to be formatted.
    inputFormat String The date format that represents the input value follows the conventions described in the Java class java.text.SimpleDateFormat.
    outputFormat String The date format that represents the output formattedvalue after conversion follows the conventions described in the Java class java.text.SimpleDateFormat.
    pad String Indicates whether to pad the value with zeros, when the value is shorter than the inputFormat. The default option is true.
    • True. Pad with zeros.
    • False. Do not pad with zeros.

    Output Parameters

     
    formattedValue String The field value after applying outputFormat.
    isValueError Boolean Indicates whether the value can be formatted or not.
    • True. The value cannot be formatted.
    • False. The value can be formatted.
    errorMessage String (Optional) The error message describing the formatting error.

    generateFunctionalAcknowledgement

    Creates a functional acknowledgment (FA) that acknowledges all levels of an input EDI document. This operation takes an EDI document as input, performs validation and compliance check, and creates an FA as output.

    Input Parameters

     
    ediMessage String (Optional) An unparsed EDI document for which you want to generate an FA. Specify a value for either ediMessage or ediDocument.
    ediDocument Document (Optional) A parsed EDI document (an IData object) for which you want to generate an FA. This must include the error results. This is typically the output from the processEnvelope EDI operation. Specify a value for either ediMessage or ediDocument.
    delimiters Document (Optional) Delimiters used in the outbound FA. If you do not specify delimiters, the operation uses the delimiters from the document it is acknowledging.
      Key Description
      segment String The segment terminator for the FA, for example, +. The default is the ' character.
      field String The field separator for each EDI segment for example, !. The default is the + character.
      subfield String The separator for composite elements, for example, ^. The default is the : character.
      release String Character used to ignore a record, field, or subfield delimiter in a field. If a release character occurs in a field or subfield before the delimiter, it will be prefixed with this character in the output.
    functionalAckRequest String (Optional) Indicates the manner to handle potentially conflicting information in the EDI interchange header of the inbound document. For ANSI X12, the inbound document specification is in ISA14. For UN/EDIFACT, the inbound document specification is in UNB09. Specify one of the following:
      Value Meaning
      yes The FA is generated regardless of FA specification in the input EDI interchange header.
      no If no and the input EDI interchange header specifies that an FA is not required, the FA is not generated.
      dependOnInput The FA is generated based on the FA specification in the input EDI interchange header.
    functionalAckLevel String (Optional) The level at which to acknowledge. If any errors occur at the level you select, the FA lists those errors at the level selected. Specify one of the following:
      Value Meaning
      default Acknowledge at the envelope level (group for ANSI X12 and interchange for UN/EDIFACT).
      transactionSet Acknowledge at the transaction set level (ANSI X12 only).
      segment Acknowledge at the segment level (ANSI X12 only).
      element Acknowledge at the element level (ANSI X12 only).
    generateControlNumber String (Optional) Indicates how you want the operation to obtain the control number it uses in the interchange and group headers of the generated FA. Specify one of the following:
      Value Meaning
      fromInboundDocument Use the control number from the corresponding header in the EDI document that is being acknowledged. For example, if generating an FA for a group in an ANSI X12 document, use the control number from the group header of that group for the control number of the FA.
      random The operation randomly generates a control number.
    addGroup String (Optional) Indicates whether you want to add group segments to the ANSI X12 or UN/EDIFACT FA (e.g., a 997 or a UN/EDIFACT CONTRL).
      Value Meaning
      true Add a group to the FA.
      false Do not add a group to the FA.
    addInterchangeEnvelope String (Optional) Whether you want to add an interchange envelope to the FA.
      Value Meaning
      true Add an interchange to the FA. This is the default. For ANSI X12, if you add an envelope, you will automatically get the group.
      false Do not add an interchange to the FA.
    syntaxErrorStatus String (Optional) Indicates how you want the operation to report the syntax error status for a transaction, group, or UN/EDIFACT interchange. The syntax error status indicates whether there are syntax errors, for example, missing mandatory elements, violation of syntax rules, invalid field lengths, code list violations, or segment repeat counts exceeded.
      The operation uses the syntax error status along with the logical error status and child transaction rejected status (if applicable) to determine the FA status for a transaction, group, or UN/EDIFACT interchange.
      Specify one of the following to indicate how you want the EDI operation to report syntax errors:
      Value Meaning
      rejected The syntax error status is reported as "rejected" if syntax errors are encountered. Specify rejected if you want to reject elements that have syntax errors.
      accepted, but errors were noted The syntax error status is reported as accepted, but errors were noted if syntax errors are encountered. Specify accepted, but errors were noted if you want to know whether there are syntax errors, but do not want to reject an element because of them.
      accepted The syntax error status is always reported as "accepted" regardless of any syntax errors that might be encountered. Specify accepted, but errors were noted if you do not want to check for syntax errors.
    logicalErrorStatus String (Optional) Indicates how you want the operation to report the logical error status for a transaction, group, or UN/EDIFACT interchange. The logical error status indicates whether there are logical errors, for example:
    • The control number in a header does not match the control number in the corresponding trailer, or
    • The segment count in a trailer does not have an accurate group, transaction, or segment count.

    The operation uses the logical error status along with the syntax error status and child transaction rejected status (if applicable) to determine the FA status for a transaction, group, or UN/EDIFACT interchange.

    Specify one of the following to indicate how you want the operation to report logical errors:

      Value Meaning
      rejected The logical error status is reported as "rejected" if logical errors are encountered. Specify rejected if you want to reject elements that have logical errors.
      accepted, but errors were noted The logical error status is reported as accepted, but errors were noted if logical errors are encountered. Specify accepted, but errors were noted if you want to know whether there are logical errors, but do not want to reject an element because of them.
      accepted The logical error status is always reported as "accepted" regardless of any logical errors that might be encountered. Specify accepted if you do not want to check for logical errors.
    childTransactionRejectedStatus String (Optional) Indicates how you want the operation to report the child transaction rejected status for a group or UN/EDIFACT interchange. The child transaction rejected status indicates whether child elements of a group or UN/EDIFACT interchange have an FA status of rejected. Specify one of the following:
      Value Meaning
      rejected Reports the child transaction rejected status as:
    • rejected if the FA status of any of the child transactions is rejected.
    • accepted, but errors were noted if the FA statuses of all child transactions are "accepted" and accepted, but errors were noted.
    • accepted if the FA statuses of all the child transactions are accepted.
      partially accepted Reports the child transaction rejected status as:
    • rejected if the FA statuses of all of the child transactions are rejected.
    • partially accepted if the FA status of at least one child transaction is rejected, but the FA status of other child transactions are accepted or accepted, but errors were noted.
    • accepted if the FA statuses of all the child transactions are accepted.
      accepted, but errors were noted Reports the child transaction rejected status as:
    • accepted, but errors were noted if the FA status any child transaction is rejected or accepted, but errors were noted.
    • accepted if the FA statuses of all the child transactions are accepted.
    documentType String (Optional) The substandard of the EDI standard. Use this parameter in conjunction with ediDocuments. Valid values are EANCOM, UCS, UNEDIFACT, VICS, X12, and ODETTE.
    encoding String (optional) The encoding of the data passed to the ediMessage parameter.
    Note: When the generateFunctionalAcknowledgement operation is invoked manually, the value of this parameter is passed to the ediMessage parameter in both the convertToString and the convertToValue operations, as well as the generateFunctionalAcknowledgement operation.
    additionalInfo Document (Optional; for use with ODETTE only) Additional information about the input message, to be used in the outbound FA.
      Value Meaning
      code String A qualification and identification of the purpose and function of a text segment. Maximum length: 3 characters.
      text String Text. Maximum length: 70 characters.
    messageIdentifier Document (Optional) Specifies details to include in the CONTRL message.
      Value Meaning
      versionNumber String Specifies the following values in the output CONTRL message to determine the schema to use:
    • UNH02/S00902 (second subfield in the second field)
    • UNG07/S00801 (first subfield in the second field, if present)
      releaseNumber String Specifies the following values in the output CONTRL message to determine the schema to use:
    • UNH02/S00903
    • UNG07/S00802 (if present)
      controllingAgency String Specifies the following values in the output CONTRL message:
    • UNH02/S00904
    • UNG07/S00803 (if present)
      associationCode String Specifies the following values in the output CONTRL message:
    • UNH02/S00905
    • UNG07/S00804 (if present)
      codeListDirectoryVersionNumber String Specifies the following values in the output CONTRL message:
    • UNH02/S00906
      messageTypeSubFunctionIdentification String Specifies the following values in the output CONTRL message:
    • UNH02/S00907
     
    • If no value is provided for VersionNumber, ReleaseNumber, or ControllingAgency, these input fields takes the values from the input document.
    • versionNumber and releaseNumber determine the schema to use, as follows:
      • If you specify values for both fields, the schema used will be EDIFFSchema.%s_standard%.V%MessageIdentifier/VersionNumber%%MessageIdentifier/ ReleaseNumber%:TCONTRL.
      • If you specify only the value of versionNumber, the schema used will be EDIFFSchema.%s_standard%.V%MessageIdentifier/VersionNumber% :TCONTRL.
      • If you specify only the value of ReleaseNumber, the default schema is used, but the UNH02/S00903 field in the output CONTRL message is populated with the value of the releaseNumber field.
    generateAnyway String (Optional) Specifies whether the generateFunctionalAcknowledgement operation should throw a com.wm.ff.parse.ParseException exception when a delimiter is missing at the envelope level of an EDIFACT message.
      Value Meaning
      true Generate a negative CONTRL message and do not throw an exception.
    Note: If you set this parameter to true, you must also assign the values for the CONTRL message header fields in UNH02.
      false Throw the exception
    com.wm.ff.parse.
    ParseException. This is the default option.
    UNH02_messageIdentifier Document (Optional) Values to assign to the CONTRL message header fields if generateAnyway is set to true.
      Key Description
      S00902_versionNumber String The version number of the CONTRL message. For example, to set the version number of the CONTRL message to "D," set the value of S00902_versionNumber to D.
      S00903_releaseNumber String The release number of the CONTRL message. For example, to set the release number of the CONTRL message to "96A," set the value of S00903_releaseNumber to 96A.
      S00904_controllingAgency String The controlling agency of the CONTRL message. For example, to set the version number of the CONTRL message to "UN," set the value of S00904_controllingAgency to UN.
      S00905_associationCode String (optional) The association assigned code, 1 to 6 characters in length, for the CONTRL message.

    Output Parameters

     
    functionalAcknowledgement String List The outbound FA.
    Note: UN/EDIFACT and ODETTE CONTRLs both use the version 4 UN/EDIFACT CONTRL error codes.
    summaryDocument Document List Summary of information about the interchanges, groups, and transactions from the input EDI document.

    getDelimiter

    Returns the first delimiter character found in the input characterString.

    Input Parameters

     
    characterString String Input string from which the first delimiter is identified. Input string can represent any of the following values:
    • A character (for example, Normal characters - '!' or Any special characters - '\r\n').
    • Hexadecimal value (for example, 0X09).
    • Octal value (for example, 009).
    • Unicode characters (for example, \uXXXX, where XXXX represents the unicode value of the character).

    Output Parameters

     
    charOut String The delimiter character found in the input characterString. Returns null when the input characterString is invalid.

    getEDIString

    Creates a complete EDI transaction set (either String or InputStream type) from an EDI transaction set header segment.

    Input Parameters

     
    Values Document The single EDI transaction set within a single interchange and a single functional group. This input object is part of the output of the processEnvelope operation.

    Output Parameters

     
    EDIstring Object A single EDI transaction set in String or InputStream type.

    getFirstKey

    Returns the name of the first key present in the input document Doc.

    Input Parameters

     
    Doc Document Input document from which the name of the first key is determined.

    Output Parameters

     
    firstKey String Name of the first key found in the Doc.

    nullifyIfBlank

    Returns null or blank based on the blankOrNull value when the input is null or contains only blank spaces.

    Input Parameters

     
    input String Input data.
    blankOrNull String (Optional) Indicates whether to return blank or null if the input string is null or contains only blank spaces. The default value is null.
      Value Meaning
      blank Returns blank if the input is null or contains only blank spaces.
      null Returns null if the input is null or contains only blank spaces.

    Output Parameters

     
    output String Same data as input or null or blank based on the blankOrNull value.

    processEnvelope

    Accepts and processes the envelope of an ANSI X12/UN/EDIFACT/UCS/VICS/EANCOM EDI or TRADACOMS message and converts the envelope header segments to a document. When creating an orchestration with processEnvelope, you must select the appropriate document type. This is for the structure of an ediDocument to appear in the pipeline data when you map with another ediDocument during orchestration.

    Input Parameters

     
    ediMessage String Processes the input EDI message. Input must not have manual line breaks.
    validate String Whether to validate the envelopes against a predefined flat file schema.
      Value Description
      true Validate the envelopes against a predefined flat file schema.
      false Does not validate the envelope.
    complianceCheck String Performs a compliance check against the interchange.
    Note: This parameter is not applicable to TRADACOMS messages.
      Value Description
      true Perform a compliance check. The parameter stops executing after encountering the first error. This is the default value.
      false Does not perform the compliance check.

    Output Parameters

     
    ediEnvelopeDocument Document Resulting EDI envelope document.
    standard String The standard to which the EDI document adheres. For example, X12 or UNEDIFACT.
    hasError String Whether the validation or compliance check resulted in error.
      Value Description
      false If the validate is true, validation errors are retrieved from errorArray.Otherwise, it indicates errors from the compliance check.
      true No errors.
    errors[] Document List Validation errors, if any, that were found in edimessage.Validation errors are returned in errors only if validate is set to true -AND- returnErrors is set to asArray or both. The list includes the path of the errors.
    statusCode String Status code based on success or failure.
    statusMessage String Status message after executing the operation.

    File

    The File actions let you accomplish certain tasks when working on file-related activities.

    Availability: Workflows only

    Actions

    FTP

    FTP, or File Transfer Protocol, is a network protocol used to transfer files among hosts over a TCP-based network or internet.

    Availability: Workflows and FlowServices

    Workflow Actions

    FlowService Actions

    FTP Predefined Operations

    The following predefined FTP operations are available:

    getFile

    Retrieves a file from a remote FTP server.

    Input Parameters

    remoteFile String Name of the remote file.
    transferType String FTP file transfer mode (ASCII or binary). The default is ASCII.

    Output Parameters

    contentStream Object A java.io.InputStream object.
    statusCode String Standard FTP protocol status code.
    statusMessage String Standard FTP protocol status message.

    listFiles

    Returns a list of file names in a specified remote directory. If path is not specified, the operation retrieves the file listing of the current remote directory. The operation also retrieves additional details such as permissions and ownership information.

    Input Parameters

    remotePath String Optional. Absolute or relative path of the remote directory. If remotepath is not specified, the listFiles operation retrieves the directory listing of the current remote directory. You can use the wildcard characters asterisk (*) and question mark (?) after the last slash mark (/) to view all remote directories that match the specified path.
    listFilter String Optional. Filter that specifies the names of the files to include in the list (for example, *.txt).

    Output Parameters

    fileList [] String List List of file names matching listFilter.
    statusCode String Standard FTP protocol status code.
    statusMessage String Standard FTP protocol status message.

    deleteFiles

    Delete file(s) from a remote FTP server.

    Input Parameters

    remotePath String Optional. Absolute or relative path of the remote directory. If remotepath is not specified, the deleteFiles operation deletes the directory listing of the current remote directory. You can use the wildcard characters asterisk (*) and question mark (?) after the last slash mark (/) to view all remote directories that match the specified path.
    deleteFilter String Optional. Filter that specifies the names of the files to be deleted (for example, *.txt).

    Output Parameters

    filesDeleted [] String List List of deleted files that match the deleteFilter.
    filesNotDeleted [] String List List of files not deleted.
    statuscode String Standard FTP protocol status code.
    statusmsg String Standard FTP protocol status message.

    putFile

    Transfers a file to a remote FTP server.

    Input Parameters

    remoteFile String The name of the remote file.
    transferType String FTP file transfer mode (ascii or binary). The default is ascii.
    writeOption String Optional. Indicates whether to send a STOR or a STOU (Store as Unique File) command to the remote FTP server. Set to:
  • true to send a STOU (Store as Unique File) command.
  • false to send a STOR command. This is the default.
  • contentStream java.io.InputStream, byte[ ], or String Data to be transferred to the remote file.

    Output Parameters

    statusCode String Standard FTP protocol status code.
    statusMessage String Standard FTP protocol status message.

    Usage Notes

    Some FTP servers do not support “putting” a unique file. When using the putFile operation to put a unique file to an FTP server that does not support putting a unique file, you may encounter the following error:

    com.wm.app.b2b.server.ServiceException: 500 'STOU': command not understood.

    renameFile

    Renames a file on a remote FTP server.

    Input Parameters

    oldFileName String Fully qualified name of the file you want to rename (for example, temp/oldfilename.txt).
    newFileName String Fully qualified name of the new file (for example, temp/newfilename.txt).

    Output Parameters

    StatusCode String Standard FTP protocol status code.
    StatusMessage String Standard FTP protocol status message.

    GitHub

    GitHub is a website for storing your project’s files. It is a Git repository hosting service which helps you manage projects, build software along other developers, and use version control.

    Availability: Workflows only

    Triggers

    Actions

    Google Apps Admin

    The Google Apps Admin actions let you perform important admin related tasks, helping you organize, manage, and control business operations easily.

    Availability: Workflows and FlowServices

    Actions

    Google BigQuery

    Google BigQuery is a popular serverless data warehouse which provides efficient functions to help you analyze your big data and make informed decisions.

    Availability: Workflows and FlowServices

    Actions

    Custom Actions

    Google BigQuery connector also lets you create your own custom actions for performing specific tasks. The actions you create look and work exactly like the other actions do.

    To know more about how to create custom actions, click here.

    Google Cloud PubSub

    Google Cloud PubSub is a real-time messaging service that allows you to send and receive messages among independent applications and services.

    Availability: Workflows and FlowServices

    Actions

    HTTP

    HTTP is the in-built action provided by webMethods.io Integration to make HTTP/HTTPS requests to servers.

    Availability: Workflows only

    Actions

    Note: The URL to which you want to make the HTTP request should contain a valid security certificate.

    Heroku

    Heroku is a cloud-based platform as a service (PaaS) tool supporting several programming languages. It enables the developers to build, run, and operate the applications across languages such as Java, Node.js, Scala, Clojure, Python, PHP, and Go.

    Availability: Workflows only

    Triggers

    Actions

    JSON Tools

    JSON Tools let you perform various operations on JSON data.

    Availability: Workflows only

    Actions

    JotForm

    JotForm is an online form creation tool that helps users publish forms and receive responses.

    Availability: Workflows only

    Triggers

    Actions

    Loop

    Availability: Workflows only

    Actions

    Logger

    The Logger action lets you output a message to the console. This message can be any data such as a static string or previous action’s data (up to 256 KB). In case the given message exceeds 256 KB, you will get the “{ [Message Size Too Large] }” string.

    Note: The input/output tabs that show the input/output of the executed action in the Debug Panel have been removed for the Logger action.

    Availability: Workflows only

    Mailgun

    Mailgun is a cloud-based email service used by developers for sending, receiving, and tracking email messages sent through websites and applications. The intelligent inbound routing and storage provided by Mailgun allows you to know exactly where your messages are going.

    Availability: FlowServices only

    Actions

    Custom Actions

    Mailgun connector also lets you create your own custom actions for performing specific tasks. The actions you create look and work exactly like the other actions do.

    To know more about how to create custom actions, click here.

    MQTT

    MQTT (Message Queuing Telemetry Protocol) is a publish-subscribe based messaging protocol working at the top of the TCP/IP protocol. It sets up the connections with remote locations where there is a limited network bandwidth.

    Availability: Workflows only

    Triggers

    MongoDB Atlas

    MongoDB Atlas is a global cloud database service that allows you to leverage the latest MongoDB features while automating several database operations and administration tasks efficiently.

    Availability: Workflows only

    Actions

    OData V2.0

    OData V2.0 allows you to create your own custom actions for performing specific tasks. The actions you create look and work exactly like the other actions do.

    Availability: Workflows and FlowServices

    API Versions: 2

    API Types: REST

    Authentication and Authorization: Basic authentication

    Key Capabilities: Custom Fields support

    Prerequisites:

    Custom Actions

    OData V2.0 connector lets you create your own custom actions for performing specific tasks. The actions you create look and work exactly like the other actions do.

    To know more about how to create custom actions, click here.

    OData V4.0

    OData V2.0 allows you to create your own custom actions for performing specific tasks. The actions you create look and work exactly like the other actions do.

    Availability: Workflows and FlowServices

    API Versions: 4

    API Types: REST

    Authentication and Authorization: Credentials and OAuth V2.0

    Key Capabilities: Custom Fields support

    Prerequisites:

    Custom Actions

    OData V4.0 connector lets you create your own custom actions for performing specific tasks. The actions you create look and work exactly like the other actions do.

    To know more about how to create custom actions, click here.

    Operations

    Availability: Workflows only

    Actions

    Pastebin

    Pastebin is an online text sharing application that allows users to upload and share texts. You can upload and share any kind of text through public posts called pastes. The most common usage of this is to share or review (collaborate) source code.

    Availability: Workflows and FlowServices

    Actions

    PubNub

    PubNub is a global data stream network (DNS) that enables real-time message streaming among web, mobile and the IoT applications. The device signalling and publish/subscribe model of PubNub supports capabilities such as WebSockets, Socket.IO, SignalR, and so on.

    Availability: Workflows and FlowServices

    Triggers

    Actions

    Pushbullet

    Pushbullet is a service that connects your mobile and desktop OSes. It is one of the fastest methods to get files, notes, links, contacts, etc. from your desktop computer to your mobile device, and vice versa.

    Availability: Workflows only

    Actions

    QuickBase

    Quick Base is a custom application building platform that empowers you to quickly and easily build applications to manage and improve processes.

    Availability: Workflows only

    Triggers

    Actions

    Raw Engineering Backend

    Raw Engineering Backend is a backend-as-a-service (BaaS) provider. It takes care of the back end requirements and helps you create efficient mobile and web apps quickly.

    Availability: Workflows only

    Triggers

    Actions

    Runscope

    Runscope is a simple API monitoring and testing tool that helps users to solve complex API problems and ensure optimal API performance at all times.

    Availability: Workflows only

    Actions

    SAP S/4HANA® Cloud OData v2.0

    SAP S/4HANA® Cloud allows you to perform create, update, query, read and delete operation on supported entities using the OData based REST interface.

    Availability: Workflows and FlowServices

    Actions

    Custom Actions

    SAP S/4HANA® Cloud OData v2.0 connector lets you create your own custom actions for performing specific tasks. The actions you create look and work exactly like the other actions do.

    To know more about how to create custom actions, click here.

    SFTP

    SFTP, or Secure File Transfer Protocol is a secure version of the FTP (File Transfer Protocol), which processes the data access and data transfer over a Secure Shell (SSH) data stream.

    Availability: Workflows and FlowServices

    Workflow Actions

    FlowService Actions

    SFTP Predefined Operations

    The following predefined SFTP operations are available:

    cd

    Changes the working directory on the remote SFTP server.

    Input Parameters

    path String Absolute or relative path of the directory that you want as the working directory on the remote SFTP server.

    Output Parameters

    returnCode String Standard SFTP protocol return code.
    returnMsg String Text message describing the return code.

    chgrp

    Changes the group ownership of one or more remote files.

    Input Parameters

    groupId String Numeric group identifier of the group to which you want to transfer ownership of the remote files.
    path String Absolute or relative path of the remote files.

    Output Parameters

    returnCode String Standard SFTP protocol return code.
    returnMsg String Text message describing the return code.

    chmod

    Changes permissions of one or more remote files.

    Input Parameters

    mode String The permission mode to apply to the remote file (for example, 777).
    path String Absolute or relative path of the remote files.

    Output Parameters

    returnCode String Standard SFTP protocol return code.
    returnMsg String Text message describing the return code.

    chown

    Changes the owning user of one or more remote files.

    Input Parameters

    uid String Numeric user ID of the new owning user of the file.
    path String Absolute or relative path of the remote files.

    Output Parameters

    returnCode String Standard SFTP protocol return code.
    returnMsg String Text message describing the return code.

    get

    Retrieves a file from a remote SFTP server.

    Input Parameters

    remoteFile String Absolute or relative path of the remote file.

    Output Parameters

    returnCode String Standard SFTP protocol return code.
    returnMsg String Text message describing the return code.
    contentStream Object A java.io.InputStream object.

    ls

    Retrieves the remote directory listing of the specified path. If path is not specified, the ls service retrieves the file listing of the current remote directory. The ls service also retrieves additional details such as permissions and ownership information.

    Input Parameters

    path String Optional. Absolute or relative path of the remote directory. If no path is specified, the ls service retrieves the directory listing of the current remote directory. You can use the wildcard characters asterisk (*) and question mark (?) after the last slash mark (/) to view all remote directories that match the specified path.

    Output Parameters

    returnCode String Standard SFTP protocol return code.
    returnMsg String Text message describing the return code.
    dirList Document List of directories matching the pattern specified in the path parameter. This document has the following parameters:
  • fileName: String Specifies the name of the remote file.
  • fileSize: String Specifies the size of the remote file.
  • permissions: String Specifies the access permission of the file (read, write, or execute).
  • lastAccessTime: String Specifies the time when the file was last accessed.
  • lastModifiedTime: String Specifies the time when the file was last modified.
  • uid: String Specifies the user ID of the file owner.
  • gid: String Specifies the group ID associated with the file.
  • longName: String Specifies the long name of the ls entry. It contains all the parameters separated by a space.
  • mkdir

    Creates a new remote directory.

    Input Parameters

    path String Absolute or relative path of the remote directory where you want to create a new directory.

    Output Parameters

    returnCode String Standard SFTP protocol return code.
    returnMsg String Text message describing the return code.

    put

    Transfers a file to a remote SFTP server.

    Input Parameters

    contentStream java.io.InputStream Data to be transferred to the remote file.
    remoteFile String Absolute or relative path of the remote file to which the contentStream would be written based on the mode.
    mode String Optional. Specifies how the local file is to be transferred to the remote SFTP server. Set to:
  • overwrite to overwrite the contents of the remote file with the contents of the contentStream. This is the default.
  • append to append the entire contents of the contentStream to the remote file.
  • resume to resume writing the contents of the contentStream to the remote file from the point the writing was stopped during previous SFTP sessions.
  • Output Parameters

    returnCode String Standard SFTP protocol return code.
    returnMsg String Text message describing the return code.

    pwd

    Displays the remote working directory in the SFTP server.

    Input Parameters

    None.

    Output Parameters

    returnCode String Standard SFTP protocol return code.
    returnMsg String Text message describing the return code.
    path String Absolute or relative path of the working directory on the remote SFTP server.

    rename

    Renames a file or directory on a remote SFTP server.

    Input Parameters

    oldPath String Fully qualified name of the file you want to rename (for example, temp/oldname.txt).
    newPath String New fully qualified name for the file (for example, temp/newname.txt).

    Output Parameters

    returnCode String Standard SFTP protocol return code.
    returnMsg String Text message describing the return code.

    rm

    Deletes one or more remote files on the SFTP server.

    Input Parameters

    path String Absolute or relative path of the file you want to delete.

    Output Parameters

    returnCode String Standard SFTP protocol return code.
    returnMsg String Text message describing the return code.

    rmdir

    Deletes one or more remote directories on the SFTP server.

    Input Parameters

    path String Absolute or relative path of the directory you want to delete.

    Output Parameters

    returnCode String Standard SFTP protocol return code.
    returnMsg String Text message describing the return code.

    Usage Notes

    The remote directories that you want to delete must be empty.

    Creates a symbolic link between the old path and the new path of a file.

    Input Parameters

    oldPath String Old path of the file for which you want to create a symbolic link.
    newPath String New path of the file to which the symbolic link should point.

    Output Parameters

    returnCode String Standard SFTP protocol return code.
    returnMsg String Text message describing the return code.

    SendGrid

    SendGrid is a cloud-based email delivery service which lets you send emails easily.

    Availability: Workflows and FlowServices

    Actions

    Siteleaf

    Siteleaf is an online content management system that allows users to create, edit, and maintain websites.

    Availability: Workflows only

    Triggers

    Actions

    Common Questions

    How to retrieve the API key and API Secret for Siteleaf?

    Note: To retrieve or access the API key and API Secret for Siteleaf, ensure that you are an admin or account owner of the Siteleaf account.

    Whenever you try to create a Siteleaf account for configuring a trigger or action, you will see the following window:

    To retrieve the API key and API Secret for Siteleaf, follow the steps given below:

    1. Login to your Siteleaf account

      Once you login, click on the Settings option listed in the left-side panel.

    2. Retrieve the API key and API secret

      On clicking the Settings option, a window will appear on screen. From the right panel of the window, click on the Account Settings option.

      On clicking this option, you will be redirected to the My Account screen. Click on the API tab listed on top.

      In the window that appears, you will see theAPI KEY and API SECRET associated with your Siteleaf account.

      Copy and paste the API key and API secret in the API Key and API Secret fields respectively in the Connect to Siteleaf window in WebMethods.io Integration and then click ADD

      An account will be automatically created and added under Connect to Siteleaf field. Once added, this account will be available in all Siteleaf actions and triggers.

    SMTP

    SMTP (Simple Mail Transfer Protocol) is a TCP-IP protocol that lets you send and receive emails.

    Availability: Workflows and FlowServices

    Workflow Actions

    FlowService Actions

    SMTP Predefined Operation

    sendEmail

    Sends emails to specified recipients. You can attach one or more files to the message.

    Input Parameters

    from String Optional. E-mail address of the sender.
    to String Optional. E-mail address of the receiver. If you specify multiple addresses, separate them with commas.
    subject String Subject of the message.
    body String The content of the message.
    cc: String Optional. E-mail addresses of additional receivers. If you specify multiple addresses, separate them with commas.
    bcc: String Optional. E-mail addresses of additional receivers. If you specify multiple addresses, separate them with commas.
    subjectCharSet: String Optional. The character set used to encode the subject. Default: UTF-8.
    bodyCharSet: String Optional. The character set used to encode the email message. Default: UTF-8.
    attachments Document List Attachments to the email message.
    Key Description
    contenttype String Content type of the attachment. For example: application/pdf.
      content byte[ ], String, or java.io.InputStream Content of the attachment.
    filename String Name to assign to the attachment.
    encoding String Encoding of the attachment, for example, base64 or 7bit. If encoding is not specified, 7bit is used.
    charset String Character set encoding of the attachment. If charset is not specified, then UTF-8 encoding is used.

    Note: Rich content, such as HTML, can be sent by email in the same way but you must take care of the following points:

    • body: The field must remain blank.

    • Attachments:

      • contenttype: Type text/html.

      • Content: Content of the attachment in the HTML format.

    Output Parameters

    status String Final status of the operation.

    Usage Notes

    Snowflake

    Snowflake is a cloud-based data warehouse that is not only easier to use but also faster, reliable, and flexible when compared to traditional data warehouses.

    Availability: Workflows only

    Triggers

    Note: For setting up this trigger, you will have to create a column with ‘timestamp’ value in the specified table. This is a ‘Timestamp Column’. The ‘Timestamp Column’ is a column that is updated to the current timestamp whenever a row in the specified table is added or updated.

    Note: For setting up this trigger, you will have to create a column with ‘timestamp’ value in the specified table. This is a ‘Timestamp Column’. The ‘Timestamp Column’ is a column that is updated to the current timestamp whenever new rows in the specified table are added or updated.

    Actions

    Note: Currently, this action loads data files from only one external location - Amazon S3 bucket.

    Stripe

    Stripe offers services that allow individuals and businesses to accept payments over the Internet.

    Availability: Workflows only

    Triggers

    Actions

    Syniverse

    Syniverse provides business solutions to mobile service providers and facilitates connectivity and interoperability with a wide range of services.

    Availability: Workflows only

    Actions

    Transform

    Availability: Workflows only

    Actions

    Note: JSON consists of 6 data types - string, number, boolean, null, object, and array. Since JSON does not have a Date type, it encodes dates as ISO 8601 strings. Hence, for the XLS to JSON action to interpret dates correctly, the ‘Date’ or ‘Time’ data-type field should always have a value in DateTime format or the column should be converted into a ‘String’ data-type.

    USgeocoder

    USgeocoder is a customizable Geographic Information System (GIS) web application.

    Availability: Workflows only

    Actions

    Weather Underground

    Weather Underground is a weather service that provides real-time weather information over the Internet.

    Availability: Workflows and FlowServices

    Actions

    webMethods.io B2B

    Availability: FlowServices only

    The webMethods.io B2B application allows you to:

    The following predefined operations are available for webMethods.io B2B application:

    Operation Description
    addTransactionContentPart Adds a new content part to a document.
    changeUserStatus Changes the user status of a specified transaction.
    generateResponse Generates a response for the processing rule Call an integration action.
    getAddresses Retrieves all addresses of a partner.
    getContacts Retrieves all contacts of a partner.
    getControlnumber Retrieves the control number from webMethods.io B2B to be used in outbound group, envelope, and transaction documents.
    getCorporation Retrieves the corporation information of a partner.
    getExtendedFields Retrieves a set of extended fields for a partner.
    getPartnerID Retrieves the partnerID for the partner.
    getPartnerIdentities Retrieves all external IDs of a partner.
    getRelatedTransactions Retrieves the related transactions based on a specific transactionID, with or without details from either the live or archive database.
    getTaskInfo Retrieves the information related to the task.
    getTPA Retrieves Trading Partner Agreement (TPA) information from webMethods.io B2B.
    getTransactionContentParts Retrieves the necessary content parts of a transaction.
    getTransactionSenderReceiver Retrieves the sender and receiver information for the specified document from the database.
    log Adds an entry into the activity log.
    parseContent Parses request content passed by the processing rule Call an integration action as bytes or String data type.
    queryMorePartners Loops over the data cached from the queryPartners operation and returns the batchSize of data.
    queryPartners Creates a query for partner profiles and returns the first batch of matching results.
    queryTaskIDs Retrieves the task ids that satisfy a given criteria.
    relateTransactions Creates a relationship between two transactions.
    resetQueryPartners Resets the queryLocator making it available for the next concurrent execution
    restartTask Restarts a failed or stopped task.
    setXpathForDocAttribute Sets the xPath value in an attribute for the specified document name.
    submit Submits the business documents to webMethods.io B2B product instance.
    updateAttribute Updates the attribute for the chosen transaction.

    addTransactionContentPart

    Adds a new content part to a document.

    Input Parameters

     
    transactionID String The transaction id of the document to which you want to add a new content part.
    partName String The name of the content parts.
    readContentAs String Data form in which content field value is passed.
    • Bytes. If the value is bytes.
    • String. If the value is string.
    content Object The content of the part you want to add to the document.
    mimeType String The MIME type of the content part.

    You can set the character type encoding with MIME type. Default character set is UTF-8.

    Note: The mimeType and content are not validated to be compatible with each other.

    Output Parameters

     
    isUpdated Boolean Indicates whether the content is added or not.
    partIndex Integer The position of the content part added. The maximum partIndex value allowed is 1000.

    changeUserStatus

    Changes the user status of a specified transaction.

    Input Parameters

     
    transactionID String Transaction ID of the document in exchange.
    userStatus String The user status for a transaction. For example, New, Open, or Fixed. Character length limit is 255.

    Output Parameters

     
    isUpdated String Indicates if the operation changed the user status of a transaction.
    • true. The operation changed the user status of the transaction.
    • false. The operation has not changed the status of the transaction.

    generateResponse

    Generates a response for the processing rule Call an integration action.

    Input Parameters

     
    inputContent Object Content data sent as part of integration response after encoding.
    readContentAs String Data type in which inputContent field value is passed.
    • bytes. inputContent is read as bytes.
    • string. inputContent is read as a string.
    contentType String Content-Type passed corresponds to inputContent field. For example, application/EDI, application/x12, text/plain and so on.
    attachments Document List. (optional) List of attachments sent as part of integration response, if any.
      Value Description
      name String. Name of the attachment.
      inputContent Object. Content of the attachment.
      readContentAs String. Data type in which inputContent field value is passed.
    • bytes. inputContent is read as bytes.
    • String. inputContent is read as String
      contentType String Content type of the attachment.

    For example, application/zip if the attachment is .zip file.

      encoding String (Optional) Encoding of the attachment.

    Default value is UTF-8

      otherHeaders Document (Optional) Add key and value strings of the header to the attachment.
    headers Document. (optional) Headers sent as part of the integration response, if any.
    errorCode String Value of error code passed as part of integration response.
    errorMessage String Value of error message passed as part of integration response.
    encoding String Type of character set used for encoding inputContent value. This can be any IANA registered character set.

    Default UTF-8

    Output Parameters

     
    response Document Response is a composite object containing the parameters:
      Key Description
      content String Encoded in Base64. Value is specified in encoding.
      type String Value specified in contentType.
      encoding String Type of encoding used to encode the inputContent. Value is specified in encoding.
      attachments Document List List of attachments received from the input parameter attachments, if any.
      headers Document Headers received from the input parameter headers.
    error Document Error is a composite object containing the fields:
      Key Description
      code String Error code received from the input. Value is specified in errorCode.
      message String Error message associated with the input. Value is specified in errorMessage.

    getAddresses

    Retrieves all addresses of a partner.

    Input Parameters

     
    partnerID String The internal identifier of the partner for which you want to retrieve the addresses.

    Output Parameters

     
    addresses Document list List of addresses, each containing the following details:
      Key Description
      addressLine1 String The first line of the address.
      addressLine2 String The second line of the address.
      addressLine3 String The third line of the address.
      city String The city specified for the address.
      country String The country for the address.
      zipCode String The ZIP code or postal code for the address.
      stateProvince String The state or province for the address.
      addressType String Type of address. For example, corporate or contact address of the partner.
      partnerID String The internal identifier of the partner.
    extendedFields Document list The extended fields for the address. Each extended field is in the following structure:
    Note: If there are no extended fields for the group, then this field appears blank.
      name String The name of the extended field.
      value String The value of the extended field.

    getContacts

    Retrieves all contacts of a partner.

    Input Parameters

     
    partnerID String The internal identifier of the partner for which you want to retrieve the contacts.

    Output Parameters

     
    contacts Document list List of contact details each containing the following information:
      Key Description
      firstName String The first name of the contact.
      lastName String The last name of the contact.
      role String The role of the contact in the organization.
      type String The type of contact. For example, technical contact or administrative contact.
      email String The e-mail address of the contact.
      faxNumber String The facsimile number of the contact.
      telephoneExtension String The telephone extension of the contact
      telephone String The telephone number of the contact.
      partnerID String The internal identifier of the partner.
      address Document list The address of the contact. For the various address fields, see getAddresses.
    extendedFields Document list The extended fields for contacts . Each extended field is in the following structure:
    Note: If there are no extended fields for the group, then this field appears blank.
      name String The name of the extended field.
      value String The value of the extended field.

    getControlnumber

    Retrieves the control number from webMethods.io B2B to be used in outbound group, envelope, and transaction documents. This control number can be used as an input for the operations in the EDI application.

    Input Parameters

     
    type String (optional) The control number type.
    • For an interchange control number, type ENVELOPE.
    • For group control numbers, type group type. For example, for ANSI X12 4010 850, type PO.
    • For transaction control number, type transaction.
    increment String (optional) Updates the control number in the database to use the next control number for group and envelope documents.

    For transactions, control numbers are always incremented.

    pad String (optional) If enabled, returns a nine digit control number by appending leading zeroes if the length of control number is less than nine digits. If disabled, it returns the control number as retrieved from the table.

    For transactions, control numbers are always padded.

    scope Document (optional) This is applicable only to groups and interchange documents.
    senderIdentityValue String For ANSI X12 and UN/EDIFACT, the external ID of the partner. For example, the sender’s D-U-N-S number.

    For TRADACOMS, it is the sender name specified in the transmission.

    senderQualifier String For ANSI X12 and UN/EDIFACT, the EDI ID qualifier for the sender, for example, 01 for a D-U-N-S number.

    For TRADACOMS, it is the sender code specified in the transmission.

    receiverIdentityValue String For ANSI X12 and UN/EDIFACT, the external ID of the partner, for example, the receiver’s D-U-N-S number.

    For TRADACOMS, it is the receiver name specified in the transmission.

    receiverQualifier String For ANSI X12 and UN/EDIFACT, the EDI ID qualifier for the receiver, for example, 01 for a D-U-N-S number.

    For TRADACOMS, it is the receiver code specified in the transmission.

    standard String The EDI standard associated with the control number. Specify one of the following: X12, UNEDIFACT, VICS, UCS, EANCOM, ODETTE, or TRADACOMS.
    mode String (optional) The mode associated with the control number. Specify one of the following: Production (default), Test, or Custom.
    Note: For TRADACOMS, the only valid value is Production.
    version String (optional) Version of the EDI standard for the control number, for example, 4010.

    For a TRADACOMS envelope, it is the version is always 1. For a TRADACOMS batch, it is the version is the version number of the file type. For example, for the file type ORDHDR:5, the version is 5.

    Output Parameters

     
    controlNumber String (optional) Control number returned from webMethods.io B2B for the outbound group, envelope, or transaction.

    getCorporation

    Retrieves the corporation information of a partner.

    Input Parameters

     
    partnerID String The internal identifier of the partner for which you want to retrieve the corporate information.

    Output Parameters

     
    corporate Document list Contains the following corporate information of a partner:
      Key Description
      corporationName String The name of the corporation.
      orgUnitName String The name of the organizational unit within the corporation.
      status String The status of the partner in your webMethods.io B2B. This value can be Active or Inactive.
      isEnterprise Boolean Indicates if the partner profile represents the enterprise profile. Valid values are:
    • true. It is an enterprise profile.
    • false. It is not an enterprise profile.
      partnerID String The internal identifier of the partner.
    extendedFields Document list The extended fields for the corporation. Each extended field has the following structure:
    Note: If there are no extended fields for the group, then this field appears blank.
      name String The name of extended field.
      value String The value of the extended field.

    getExtendedFields

    Retrieves a set of extended fields for a partner.

    Extended fields are custom fields that you can define to maintain additional information about you partners. For example, you might want to define extended fields for preferred shipping method, cost centers, or customer codes.

    Input Parameters

     
    partnerID String The internal identifier of the partner for which you want to retrieve the extended fields.
    groupName String (Optional) The group for which you want to retrieve the extended fields. Specify the name of the field group associated with the extended fields to retrieve. You can specify one of the following standard field groups:
    • Corporation. Retrieves Corporation extended fields.
    • Contact. Retrieves Contact extended fields.
    • Delivery. Retrieves Delivery extended fields.
    • ExternalID. Retrieves IDs extended fields.
    • Address. Retrieves Addresses extended fields.
    • Custom. Retrieves Custom extended fields.
    Note: Apart from the above standard field groups, you can also specify the groups created under the Field Groups section in webMethods.io B2B.

    Output Parameters

     
    groups Document list The extended field group details of the extended fields. Each extended field group is in the following format:
      name String The group name for the extended field.
      id String The id of the group.
      fields Document list The list of extended fields within the group. Following are the fields:
    • name. String The name of the extended field.
    • value. String The value of the extended field.
    Note: If the group you selected has no extended fields, then this field appears blank.

    getPartnerID

    Retrieves the partnerID for the partner.

    Input Parameters

     
    identityTypeValue String The identity type value for a partner.
    identityTypeName String The identity type name for a partner (For example, DUNS; DUNS+4; EULER, User Defined 3, User Defined 2,User Defined 1, webMethods Internal, Mutually defined).

    Output Parameters

     
    partnerID String The internal identifier for a partner.

    getPartnerIdentities

    Retrieves all external IDs of a partner.

    Input Parameters

     
    partnerID String The internal identifier of the partner for which you want to retrieve the identities.

    Output Parameters

     
    identities Document list Contains the following details of the identities of the partner.
      Key Description
      type String The type of identity. For example, Duns, Duns+4.
      value String The value of identity.
      code String The code for the type of the identity. For example, 1, 2 , 3.
      partnerID String The internal identifier of the partner.
    extendedFields Document list The extended fields for the identities . Each extended field has the following structure:
    Note: If there are no extended fields for the group, then this field appears blank.
      name String Name of extended field to use in the criteria.
      value String The extended fields to match.

    getRelatedTransactions

    Retrieves the related transactions based on a specific transactionID, with or without details from either the live or archive database.

    Input Parameters

     
    transactionID String The transaction ID for which you want to retrieve the related transactions.
    dataSource String The data source where the transaction resides. The default value is live. The possible values are:
    • live. Retrieves the transaction from the live data source.
    • archive. Retrieves the transaction from the archive data source.
    includeTransactionDetails Boolean Includes the transaction details such as senderID, receiverID, documentTypeID, userStatus, transactionStatus, and customAttributes when you set the value to true. The default value is false.

    Output Parameters

     
    relatedTransactions Document array All the related transactions pertaining to the transactionID.
      Key Description
      transactionID String The transaction ID of the related transactions.
      relationship String The relationship that either you set using the relateTransactions operation, or a system-set relationship string value.
      details Document The details that are included when you set the includeTransactionDetails to true. The details are as follows:
        Key Description
        senderID String The senderID associated with the transaction.
        receiverID String The receiverID associated with the transaction.
        documentTypeID String The business document ID of the transaction.
        userStatus String The user status associated with the transaction.
        transactionStatus String The processing status of the transaction.
        customAttributes String The custom attributes associated with the transaction.

    getTaskInfo

    Retrieves the information related to the task.

    Input Parameters

     
    dataSource String (Optional) Specifies whether to look for the mentioned transaction in the live database or the archive database.

    The possible options are live and archive. The default value is live.

    taskID String Internal ID of the task for which you want to retrieve the information.

    Output Parameters

     
    taskType String Describes the type of task.
    QueueName String The queue for which the task has to deliver.
    transactionID String The document internal id to which the task is related.
    taskStatus String The current status of the task.
    timeCreated String The time when the task was created. The time is displayed in the ISO 8601 format with UTC time zone, for example, 2018-11-24T19:30:00Z.
    timeUpdated String The time when the task was updated. The time is displayed in the ISO 8601 format with UTC timezone, for example, 2018-11-24T19:30:00Z.
    receiverID String The internal ID for the receiver. Receiver refers to the receiver of the transaction to which this task is associated.
    senderID String The internal ID of the sender. Sender refers to the sender of the transaction to which this task is associated.

    getTPA

    Retrieves Trading Partner Agreement (TPA) information from webMethods.io B2B.

    Input Parameters

    senderID String The internal ID of the trading partner that has the sender role in the transaction that the TPA governs. To specify the unknown partner, use Unknown.
    receiverID String The internal ID of the trading partner that has the receiver role in the transaction that the TPA governs. To specify the unknown partner, use Unknown.
    agreementID String The agreement ID of the TPA.
    direction String (Optional) Indicates whether the operation searches for a TPA where the sender and receiver are switched, if a TPA with the sender or the receiver does not exist. Valid values are:
    • true. The operation only looks for a TPA where the sender or receiver are as specified.
    • false. (Default value) If a TPA with the specified sender or receiver does not exist, the operation switches the specified sender and:
      - Searches for the TPA where the sender matches the specified receiver and the receiver matches the specified sender.
      - Returns the TPA if found.

    Output Parameters

    tpa  Document (Optional) The retrieved TPA as an IData object.
      Fields Description
      senderID String The internal identifier for the trading partner that has the sender role in the TPA.
      receiverID String The internal identifier for the trading partner that has the receiver role in the TPA.
      agreementID String An application-specific identifier for the TPA.
      created String The time that webMethods.io B2B created the TPA.
      lastModified String The time that webMethods.io B2B last updated the TPA either when the TPA was created or last updated.
      status String The agreement status of the TPA, which indicates whether the TPA is a draft or final version and whether the agreement is active or not. Valid values are:
    • Proposed. The TPA is in draft status.
    • Agreed. The TPA is in the final status.
    • Disabled. The TPA is in disabled state.
      templateID String TPA template that defines the blueprint of the TPA, that is, establishes the TPA parameters and values.
      dataStatus String Indicates if you can update the values in tpaData. This field is only used when status is Agreed. Valid values are:
    • Modifiable. The data in tpaData can be modified.
    • Non-modifiable. The data in tpaData cannot be modified.
      tpaData Document It contains the data for the TPA.
      version String The version number of the TPA.
      tpaID String A unique ID for the TPA that webMethods.io B2B generates.

    getTransactionContentParts

    Retrieves the necessary content parts of a transaction.
    A content part can be a segment of a document or an attachment retrieved during the processing of submitted content.

    Input Parameters

     
    transactionID String ID of transaction for which content parts related to specified contentPartNames are retrieved.
    contentPartNames String list (Optional) Names of the content parts that are retrieved. If either the parameter value is empty or if this parameter is not used, all content parts of this transaction are retrieved.
    loadContentAs String Identifies how the contentResponse/contentParts/content needs to be loaded.
    • bytes. Content is loaded as bytes.
    • string. Content is loaded as a string.
    dataSource String (Optional) Specifies whether the transaction needs to be looked up in the live(production) database or the archive database.
    • live. The transactionID is looked up in the live (production) database tables. This is chosen as the default option if no value is specified.
    • archive. The transactionID is looked up in the archive database tables.

    Output Parameters

     
    contentResponse Document Response that contains content parts associated with valid contentPartNames for the specified transactionID.
      contentParts Document list Content part retrieved from the transaction has the following fields:
        Key Description
        partName String Name of the contentPart.
        partIndex Integer Index of the contentPart. The index starts from zero.
        length Integer Size of the content in bytes.
        encoding String Character Set in which content is encoded.
        mimeType String Mime type of the content.
        content Object The content payload of the contentPart. The type of content is determined by the loadContentAs parameter.
      count Integer The count of valid content parts that are retrieved from the transaction.

    getTransactionSenderReceiver

    Retrieves the sender and receiver information for the specified document from the database.

    Input Parameters

     
    transactionID String The transaction id for which you want to get the sender and receiver details.
    dataSource String Specifies whether to look for the mentioned transaction in the live database or the archive database.

    Output Parameters

     
    sender Document A subset of sender information.
    Based on the values set in the sender, you can view the following information:
    • partnerID. String The ID of the partner for which you want to fetch.
    • corporationName. String The name of the corporation.
    • orgUnitName. String The name of the organizational unit within the corporation.
    • isEnterprise. Boolean Indicates if the partner profile is the enterprise itself. The value can be either false or true.
    • status. String The status of the partner in your webMethods.io B2B instance. The value can be either Active or Inactive.
    receiver Document A subset of receiver information.
    Based on the values set in the sender, you can view the following information:
    • partnerID. String The ID of the partner for which you want to fetch.
    • corporationName. String The name of the corporation.
    • orgUnitName. String The name of the organizational unit within the corporation.
    • isEnterprise. Boolean Indicates if the partner profile is the enterprise itself. The value can be either false or true.
    • status. String The status of the partner in your webMethods.io B2B instance. The value can be either Active or Inactive.

    log

    Adds an entry into the activity log.

    Input Parameters

     
    type String (Optional) The type of activity log entry. The supported types are: ERROR, WARNING, and MESSAGE.
    category String (Optional) The category for the activity log entry. webMethods.io B2B supports either the following categories or any custom value:
    • General. Any unspecified error messages and warnings.
    • Processing. Processing a document using a processing rule to be used .
    message String A brief message for the activity log entry. The value can be a string with maximum of 240 characters.
    Note: webMethods.io B2B displays an error message when you exceed the character limit.
    details String (Optional) A detailed message about the reason for adding the activity log entry. The value can be a string with maximum of 1024 characters.
    Note: If webMethods.io B2B displays an error message when you exceed the character limit.
    transactionID String The transaction ID of the document created in webMethods.io B2B product instance related to this activity log entry.
    partnerID String (Optional) The internal ID of the partner related to this activity log entry.
    content Object (Optional) The payload content for the activity log. The maximum size of the content is 2 MB.
    Note: If the content size exceeds 2 MB, webMethods.io B2B displays an error message.
    readContentAs String (Optional) Data type in which content field value is passed.
    • bytes. content is read as bytes.
    • string. content is read as a string.
    encoding String (Optional) The character set in which the value of the content is encoded. Specify an IANA-registered character set. For example, UTF-8 and ISO-8859-1. Default is UTF-8.

    Output Parameters

     
    success Boolean Indicates whether the activity log is added for the provided transaction ID. Valid values are:
    • true. Indicates that the activity log entry is added successfully.
    • false. Indicates that the addition of activity log entry has failed.

    parseContent

    Parses request content passed by the processing rule Call an integration action as bytes or String data type. For more information on Call an integration, see webMethods B2B Cloud Help

    Input Parameters

     
    inputContent String Content passed in the integration request.
    loadContentAs String Data type in which outputContent field value is passed.
    • bytes. outputContent is generated as bytes.
    • string. outputContent is generated as a string.
    encoding String Type of character set used for encoding inputContent value. This can be any IANA registered character set.

    Default UTF-8

    Output Parameters

     
    outputContent Object Content data corresponds to the data type option set for the loadContentAs field.

    queryMorePartners

    Loops over the data cached from the queryPartners operation and returns the batchSize of data.

    Input Parameters

     
    queryLocator String The ID of the query. You can use this ID to view the query results. You obtain this ID from the queryPartners operation.

    Output Parameters

     
    done Boolean Indicates whether the query has additional rows to retrieve. Valid values are:
    • true. There are no additional rows to retrieve.
    • false. There are additional rows to retrieve.
    size String The total number of records retrieved in the query result.
    records List The list of partner profiles.
    Based on the values set in the resultField, you can view the following information:
    • corporationName. String Name of the corporation.
    • orgUnitName. String The name of the organizational unit within the corporation.
    • status. String The status of the partner in your webMethods.io B2B. This value can be Active or Inactive.
    • isEnterprise. Object Indicates if the partner profile represents the Enterprise profile.
    • partnerID. String The internal identifier of the partner.

    queryPartners

    Creates a query for partner profiles and returns the first batch of matching results.

    Note: A user can execute 15 queries concurrently.

    Input Parameters

     
    batchSize String (Optional) The maximum number of profiles present in each batch. You can provide a value between 20 and 500. The default is 100.
    Note: If you provide a value outside the specified range, then webMethods.io B2B displays an error message.
    criteria Document (Optional) The criteria to filter the query results. Provide the following details:
    • isOrQuery. String Whether the join condition for the filter criteria that you specify in between the fields variable is true (OR) or false (AND). Default is false.
    • fields. Document list
      The criteria to filter the results for fields such as corporationName, orgUnitName. Each field can have multiple criteria. For example, orgUnitName IS NOT NULL AND orgUnitName = ABC*, where orgUnitName is the field name, IS NOT NULL and '=' are the operators, AND is the join condition (isOrQuery), and ABC* is the value. With this criteria, webMethods.io B2B will select all the profiles for which the organization unit name is not null and the name starts with ABC.
      • fieldName - String The name of the field for which you specify the filter criteria in the criteria variable. Valid values are: corporationName , orgUnitName , status.
      • isOrQuery - String Whether the join condition for the filter criteria in the criteria variable is AND or OR. Valid values are true (OR) or false (AND). The default value is false.
      • criteria - String The filter criteria for fieldName.

        Each document in the document list contains the following variables:

        • operator - String The operator for the filter criteria. Valid values are: IS NULL, IS NOT NULL, =, and <> (not equal to).
        • value - String The value for the filter criteria. You can use the wildcard * in searches to match one or more characters, or the wildcard ? to match one character. For example, to search for data ending with abc, specify the value as *abc. Similarly, to search for data starting with ab and ending with c with length 4, specify the value as ab?c.
    sortOrder Document list (Optional) The field name by which the results must be sorted. Each document in the document list contains the following variables:
    • fieldName - String The field name for sorting.
      • corporationName
      • orgUnitName
      • status
    • isAscending - Document The order by which the result set must be sorted (ascending or descending). The valid values are ASC (ascending) or DESC (descending).
    resultFields String list (Optional) The list of fields in the result set. Valid values are:
    • corporationName
    • orgUnitName
    • status

    If the field is left blank, then webMethods.io B2B returns all the above fields including the isEnterprise and partnerID fields. For details on these values, see getCorporation

    By default, the query results contain isEnterprise and partnerID fields.

    Output Parameters

     
    queryLocator String The ID of the executed query for which results are retrieved. It is used in queryMorePartners operation to retrieve subsequent sets of records from the query results when the value of done is false. Similarly, it is also used in resetQueryPartners operation to release the queryLocator.
    done Boolean Indicates whether the query has additional rows to retrieve. This is used in the queryMorePartners operation. Valid values are:
    • true. There are no additional rows to retrieve.
    • false. There are additional rows to retrieve.
    size String The total number of rows retrieved in the query result. The value is equal to the total number of records that webMethods.io B2B returns.
    records List The list of partner profiles.
    Based on the values set in the resultField, you can view the following information:
    • corporationName. String Name of the corporation.
    • orgUnitName. String The name of the organizational unit within the corporation.
    • status. String The status of the partner in your webMethods.io B2B. This value can be Active or Inactive.
    • isEnterprise. Boolean Indicates if the partner profile represents the Enterprise profile. The values are true or false, indicating an enterprise or non-enterprise respectively.
    • partnerID. String The internal identifier of the partner.

    queryTaskIDs

    Retrieves the task ids that satisfy a criteria. The number of task ids retrievable from this service is limited to 1000.

    Input Parameters

     
    dataSource String (Optional) Specifies whether to look for the mentioned transaction in the live database or the archive database.

    The possible options are live and archive. The default value is live.

       
    criteria Document (Optional) Criteria to identify task IDs.    
      dateRange Document (Optional) Contains start and end date which are compared with the task creation time.    
        startDate String (Optional) Indicates the start date. Specify the date in ISO format with UTC time zone. For example, 2018-11-24T19:30:00Z.  
        endDate String (Optional) Indicates the end date. Specify the date in ISO format with UTC time zone. For example, 2018-11-24T19:30:00Z.  
      isOrQuery String (Optional) Indicates whether the join condition for the filter criteria that you specify in the fields variable is AND or OR. The possible options are: True and false. The default value is false.    
      fields Document List (Optional) Indicates the criteria for a field.    
        fieldName String (Optional) Name of the field for which you specify the filter criteria. The possible values are: taskType, taskStatus, queueName, transactionID. This field appears empty by default.  
        isOrQuery String (Optional) Whether the join condition for the filter criteria in the criteria variable is AND or OR. The possible options are true and false. The default value is false (AND).  
        fieldCriteria Document List (Optional) The filter criteria. Each field can have more than one filter criteria. For example, queueName IS NULL AND queueName = ?AG* , where queueName is the field name, IS NULL and '=' are the operators, AND is the join condition, and IGNORED is the value.  
          operator String The operator for the filter criteria. The valid values depend on the field type of the fieldName variable. The possible values are: IS NULL, IS NOT NULL, =, <,>.
          value String (Optional) The value for the filter criteria. ? should be used for single character wildcard and * for multi-character wildcard.
    sortOrder Document List (Optional) The column name by which the results must be sorted.      
      fieldName String (Optional) The column name for sorting.    
      orderDirection String (Optional) The order by which the results set must be sorted (ascending or descending). The possible values are: ASC and DESC. The default value is ASC.    

    Output Parameters

     
    taskIDs String List List of task retrieved. Only a maximum of 1000 are returned even if the value mentioned in the count field is higher.
    count String Total number of task IDs that were identified by the criteria.

    relateTransactions

    Creates one-way relationship between two transactions.

    Note: To relate the transactions using relateTransactions, the transactions should be persisted in the live datasource.

    Input Parameters

     
    fromTransactionID String The internal ID of the transaction that indicates from which transaction the relationship must be established.
    toTransactionID String The internal ID of the transaction that indicates to which transaction the relationship is established.
    relationship String A string that describes the relationship. The maximum string length should not exceed 255 characters.

    Output Parameters

     
    isUpdated Boolean The flag that indicates if the relationship has been created. The possible values are true and false.
    • true. The service established the relationship.
    • false. The service did not establish the relationship.

    Note: You can retrieve the related transactions by using getRelatedTransactions operation by specifying either the fromTransactionID or the toTransactionID as an input.

    resetQueryPartners

    Resets the queryLocator making it available for the next concurrent execution.

    Note: The queryLocator reset involves clearing the cached results. If you do not reset a queryLocator, it remains active for 15 minutes. After which, webMethods.io B2B automatically resets it.

    Input Parameters

     
    queryLocator String The ID of the query obtained from the queryPartners operation. You obtain this ID from the queryPartners operation.

    Output Parameters

     
    status Boolean Indicates whether reset is complete or not.

    restartTask

    Restarts a failed or stopped task.

    Input Parameters

     
    taskID String The internal identifier of the task.

    Output Parameters

     
    isTriggered Boolean The flag that indicates if the restart is triggered. The possible values are: true and false.
    • true. The restart is triggered.
    • false. The restart is not triggered.

    setxPathForDocAttribute

    Sets the xPath value in an attribute for the specified document name.

    Note: You must have a webMethodsioB2B-User role along with the webMethodsioIntegration-User role in the My Cloud application in addition to having either the developer role or administrator role in the webMethods.io B2B to run this operation. For more information on these user roles, see here for Business Documents permissions and see here.

    Input Parameters

     
    documentName Document Name of the document for which you want to update the attribute.
    attributeName Attribute Name of the attribute which you want to update.
    xPath Valid xPath query which you want to set in the document type.

    Output Parameters

     
    operationError The error which occurs while setting up the xPath value for the attribute.
    isUpdated Indicates whether the operation has set the provided xPath or not.
    • true. The attribute is set with the provided Xpath.
    • false. The attribute is not set with the provided Xpath or any error occurred.

    submit

    Submits the business documents to webMethods.io B2B product instance.

    webMethods.io B2B recognizes the type of document and process it. Every document that you submit through this service is created as a new transaction in webMethods.io B2B.

    Input Parameters

     
    inputContent Object. Content to submit to the webMethods.io B2B product instance for processing.
    readContentAs String. Data type in which inputContent field value is accepted.
    • bytes. inputContent is read as bytes.
    • string. inputContent is read as string.
    contentType String. Specifies the type of content.
    • text/xm.l Content is read as an XML input.
    • application/EDIStream. Content is read as an EDI InputStream.
    • application/EDI. Content is read as EDI input.
    • application/x12. Content is read as X12 input.
    • application/UNEDIFACT. Content is read as UNEDIFACT input.
    Note: This field is case-sensitive. Additionally, if you provide a type other than the one mentioned above, webMethods.io B2B identifies the document as unknown.
    encoding String. Type of character set used for encoding inputContent value. This can be any IANA registered character set.

    Default: UTF-8

    params Document. A document that provides parameters to govern how webMethods.io B2B recognizes and processes a document.
    For XML documents, you can optionally add the following fields:
    • DoctypeName - String. The name of the document type. This field is case-sensitive.

      The DoctypeName field identifies the webMethods.io B2B document type to use, thus bypassing document recognition and eliminating the overhead of searching for the webMethods.io B2B document type.

    • processingRuleName - The name of the processing rule. This field is case-sensitive.

      The processingRuleName field identifies the processing rule to use, thus bypassing the processing rule lookup and eliminating the overhead of searching for a processing rule.

    • bypassRouting - Indicates whether webMethods.io B2B uses a processing rule to process the document. Valid values are:
      • true. Disables the processing rule routing.
      • false. Enables the processing rule routing
    • pipelineMatching - Allows you to pass the key-value pair defined in an XML document. These variables are used to identify webMethods.io B2B document type for processing. For more information on pipeline matching, see the product help for webMethods.io B2B.
    For RosettaNet Partner Interface Processes (PIPs), add the following fields:
    • rnif20 - Document. RNIF document.
      • pipinfo - Document. Document that represents RNIF Partner Interface Processes Information (PIP).
          • senderFocalRole - Validates the GlobalPartnerRoleClassificationCode tag describing fromRole in the service header. For valid values, see the fromService and fromRole details in the PIP specification corresponding to the executing PIP, activity, or action.
          • receverFocalRole - Validates the GlobalPartnerRoleClassificationCode tag describing toRole in the service header. For valid values, see the toService and toRole details in the PIP specification corresponding to the executing PIP, activity, or action.
          • processCode - Code or name of the PIP, such as 3A4 (Request Purchase Order).
          • processVersion - Version of the PIP process, such as 1.1 or 1.4.
          • transactionCode - Transaction associated with each RosettaNet PIP document. For example, Create Purchase Order.
          • actionCode - Action associated with each RosettaNet PIP document.
          • enableSyncResponse - Indicates if the transaction is expecting a sync response. Disabled by default.
      • response - Document. Response is a composite object containing the parameters. It contains the following fields:
        • messageTrackingID - Tracking ID of the request message for which the webMethods.io B2B sends the response.
        • inReplyToGlobalBusinessActionCode - Action associated with request RosettaNet PIP document, for which webMethods.io B2B sends the response.
        • initiatingPartnerLocationID- Location ID of the partner. The initiating partner location ID: //ServiceHeader/ProcessControl/KnownInitiatingPartner/PartnerIdentification/locationID/Value for which webMethods.io B2B sends the response.
    Note: In most of the cases ConversationID overrides the messageTrackingID,inReplyToGlobalBusinessActionCode, and initiatingPartnerLocationID as we fetch those information from the request message itself.
    headers Document (Optional) Add key and value strings of the header to the payload.
    attachments Document List (Optional) Attachments for a message.
      Value Description
      name String. Name of the attachment.
      inputContent Object. Content of the attachment.
      readContentAs String. Data type in which inputContent field value is passed.
    • bytes. inputContent is read as bytes.
    • String. inputContent is read as String.
      contentType String. Content type of the attachment.

    For example, application/zip if the attachment is .zip file.

      encoding String. (optional) Encoding of the attachment.

    Default value is UTF-8.

      otherHeaders Document. (optional) Add key and value strings of the header to the attachment.
     

    Points to note:

    • On the webMethods.io B2B Transaction page, the name of the attachments and headers are preceded with a $ sign.

      For example, if an attachment with the name myattachment is submitted to webMethods.io B2B, the attachment on the webMethods.io B2B Transaction page is displayed with the name $myattachment.

    • When headers are passed for an attachment using the otherHeaders input, on the webMethods.io B2B Transaction page, the headers are displayed as new content part with the name that follows below syntax as $<Name of the attachment>-headers.

      For example, for an attachment with the name myattachment, if you pass some headers, then the headers document is displayed with the name $myattachment-headers.

    Output Parameters

     
    transaction Document Contains the following information about the transaction created in the webMethods.io B2B product instance.
      Key Description
      transactionID String Transaction ID of the document created in the webMethods.io B2B product instance.
      senderID String Sender ID of the document.
      receiverID String Receiver ID of the document.
      documentTypeID String Internal ID of the document type in the webMethods.io B2B product instance.
      userStatus String User-defined status of the document.
      transactionStatus String Status of the transaction submitted in the webMethods.io B2B product instance.
      customAttributes Document Extracted custom attributes from inputContent. Key is the attribute name and value is the attribute value.
    params Document A document that contains parameters that webMethods.io B2B uses to recognize and process a document.

    updateAttribute

    Updates the attribute for the chosen transaction.

    Input Parameters

     
    transactionID String Internal ID of the transaction.
    isSystem Boolean Indicates whether the attributes collection is system or custom.

    Options are true or false.

    If isSystem is true, only system attributes are expected.

    If it is false, then custom attributes are expected

    atttributes Document List (Optional) Attributes to be added or updated or deleted.

    Default value is empty.

      attributeName String (Optional) Name of the document attribute for which you want to add or update or delete values.

    Default value is empty.

      value String (Optional) Value for provided attribute name.

    Specify NONE as the value to drop the attribute entry within the transaction.

    Default value is empty.

    allowDeletion String (Optional) Indicates whether to allow deletion of attribute value from the transaction.

    Options are true or false.

    Default value is false (AND).

    allowInsertion String (Optional) Indicates whether to allow insertion of attribute value from the transaction.

    Options are true or false.

    Default value is false (AND).

    atomicUpdate String (Optional) Indicates whether to allow the update of all the attributes as an atomic operation. (All or none or partial).

    Options are true or false.

    Default value is false (AND).

    orderedUpdate Document List (Optional) if atomicUpdate is false, indicates whether to allow the ordered update of attribute value from the transaction.

    Options are true or false.

    Default value is false (AND).

    Output Parameters

     
    response Document List List of attribute update statuses.  
      attributeName String Name of document attribute for which you want to add or update, or delete values.  
      status String Value for status of the update such as failed, added, updated, or deleted.  
      doc error Document Indicates the error information such as key, message, and stack trace.  
        message String Indicates the error message.
        key String Indicates the error key.
        stackTrace String Indicates the stack trace for the error.
    operationError Document Indicates the error information such as key, message, and stack trace only if an attribute updation fails.

    Webmethods Cloud Container

    Availability: Workflows and FlowServices

    webMethods Cloud Container is a custom connector that allows you to invoke and execute FlowServices (or any executable node) created in your cloud container environment on the webMethods.io Integration platform.

    How to use webMethods Cloud Container

    Let’s understand how to use the webMethods Cloud Container connector with the help of an example.

    Let’s say you have a FlowService on your cloud container environment named add(flow_service) inside solution(test). You want to invoke this FlowService and execute it on the webMethods.io Integration platform.

    Note: The FlowService add(flow_service) used in the example is a simple FlowService that adds two numbers.

    To invoke and execute add(flow_service) and use the results in Workflows in webMethods.io integration, we will have to use the webMethods Cloud Container connector. To do so, follow the steps given below:

    1. Add webMethods Cloud Container connector on canvas

      Add webMethods Cloud Container connector on canvas and connect it to the Start and Stop icons as shown below:

    2. Add/select custom action

      Double-click the webMethods Cloud Container connector icon and click on the + button to start creating a custom action.

      This will redirect you to the ‘Add Custom Action’ configuration screen.

      Note: You can alternatively select an existing action (if any) by clicking the Select Action drop-down field.

    3. Connect to a webMethods Cloud Container account

      Select an existing webMethods Cloud Container account (if any) by clicking the drop-down icon or click on the ‘+’ button to add a new webMethods Cloud Container account.

      This will take you to the ‘Add Account’ configuration screen where you will need to provide the following details:

      • Account Name - Provide a suitable name for the account you want to add.
      • Server URL - Enter the cloud server URL where your on-premises assets are deployed. E.g., https://sample.container.webmcloud.com/
      • User Name - Enter the user name associated with the account on the cloud server.
      • Password - Enter the password for the specified user name.
      • Response Timeout - Enter the duration (in milliseconds) for which you want webMethods.io Integration to wait for a response before canceling its attempt to connect to the backend. In case the network is slow or the backend processing takes longer than usual or if your service takes longer time to execute then, increase the Response Timeout value. It is recommended to specify a value other than 0. If you specify 0, webMethods.io Integration will wait indefinitely for a response.

      Once you have entered all the relevant details, click Add.

      This will take you back to the ‘Add Custom Action’ configuration screen.

      Note: Now, if you click on the Connect to Webmethods Cloud Container drop-down icon, you will see the added account in the list. This account can now be used to execute any webMethods Cloud Container custom action created under the same project.

      Once you have added/selected an account, provide a suitable name and description for the action you are about to create, and then click Next.

    4. Select the operation to be performed

      By default, only one operation - Execute - is available. Select the ‘Execute’ operation and click Next.

    5. Select the Input Business Object

      Here, you will see all the available Solutions that are present in the specified cloud container environment. Select the input business object to be associated with the selected Execute operation.

      Here, in our example, we have only one solution(test) in the specified cloud container environment.

      Click on the expand icon to see the available Integration Servers and packages associated with the cloud container environment.

      We will select the add(flow_service) service from the (add)package package as the input business object and then click Next.

      This will take you to the ‘Select the Data Fields’ configuration screen where you will see the Input and Output data fields of the service add(flow_service).

      Note: The data fields that are displayed will be the same as you see in your cloud container environment. By default, the data fields for the Business Object are mandatory and cannot be cleared.

      Click Next to continue.

    6. Confirm the action

      The next step is to verify and confirm the custom action. Once this is done, click Done.

      With this, the custom action will be created successfully.

      You can optionally change the default custom action name and then click Next.

      You will be redirected to the custom action configuration window. Provide values for all the required fields while configuring an action, and then click Next.

      You will be redirected to the Test this action window where you can check if the action is working as expected before executing the workflow. To do so, click on the Test button.

      If the custom action is configured correctly, you will see the output data for the action.

      With this, we have verified that add(flow_service) has been successfully executed on your cloud container environment and the results are returned to webMethods.io Integration as expected.

      Next, save the workflow by clicking on the Save button located at the top-right corner of the canvas.

    Editing a webMethods Cloud Container action

    You can edit an existing custom action created using the webMethods Cloud Container connector.

    To do so, follow the steps given below:

    1. Drag and drop the webMethods Cloud Container from the CONNECTORS panel and double-click on the connector icon.

      The ‘webMethods Cloud Container’ window will appear on the screen.

    2. Click on the Select Action drop-down icon , select the custom action you want to edit, and then click the Edit button.

      Here, in our example, we had created a custom action named test. So, we see only one created custom action in the drop-down list.

    3. You can now make relevant edits to the custom action based on your requirements. Once done, you can execute the action as you would normally do.
    4. Note: You can edit the account description and select the required business objects associated with the execute operation. The business object can only be selected from the available FlowServices (solutions) that are present in the specified cloud container environment.

    Deleting a webMethods Cloud Container action

    You can delete an existing custom action created using the webMethods Cloud Container connector.

    To do so, follow the steps given below:

    1. Drag and drop the webMethods Cloud Container from the CONNECTORS panel and double-click on the connector icon.

      The ‘webMethods Cloud Container’ window will appear on the screen.

    2. Click on the Select Action drop-down icon , select the custom action you want to de;ete, and then click the Delete button.

      Here, in our example, we had created a custom action named test. So, we see only one created custom action in the drop-down list.

      You will be prompted to confirm the deletion request. Click on Delete. This will permanently remove the custom action from your tenant.