Skip to content

Product Configurations

The Micro Integrator of WSO2 Enterprise Integrator 7.0 introduces TOML-based product configurations. All the server-level configurations of your Micro Integrator instance can be applied using a single configuration file, which is the deployment.toml file (stored in the MI_HOME/conf directory).

The complete list of configuration parameters that you can use in the deployment.toml file are listed below along with descriptions. You can also see the documentation on product installation and setup for details on applying product configurations to your Micro Integrator deployment.

Instructions for use

To update the product configurations:

  1. Open the deployment.toml file (stored in the MI_HOME/conf directory).
  2. Select the required configuration headers and parameters from the list given below and apply them to the deployment.toml file.

The default deployment.toml file of the Micro Integrator is as follows:

[server]
hostname = "localhost"

[keystore.tls]
file_name = "wso2carbon.jks"
password = "wso2carbon"
alias = "wso2carbon"
key_password = "wso2carbon"

[truststore]
file_name = "client-truststore.jks"
password = "wso2carbon"
alias = "symmetric.key.value"
algorithm = "AES"

Deployment

[server]
hostname="localhost"
node_ip = "10.100.1.80"
base_path = "127.0.0.1"
enable_mtom=false
enable_swa=false
userAgent = "WSO2 ${product.key} ${product.version}"
serverDetails = "WSO2 ${product.key} ${product.version}"
offset  = 0
proxy_context_path = ""
[server] Required

This configuration header is required for configuring the deployment parameters that are used for identifying a Micro Integrator server node. You need to update these values when you deploy WSO2 Micro Integrator. The required and optional parameters for this configuration are listed below.

hostname

string Required

Default: N/A
Possible Values: "localhost" ,"127.0.0.1","<any-ip-address>"

The hostname of the Micro Integrator instance.

offset

integer

Default: 0

Port offset allows you to run multiple WSO2 products, multiple instances of a WSO2 product, or multiple WSO2 product clusters on the same server or virtual machine (VM).

Port offset defines the number by which all ports defined in the runtime such as the HTTP/S ports will be offset. For example, if the default HTTP port is 9443 and the port offset is 1, the effective HTTP port will be 9444. Therefore, for each additional WSO2 product instance, set the port offset to a unique value so that they can all run on the same server without any port conflicts.

enable_mtom

boolean

Default: false
Possible Values: "true" or "false"

Use this paramater to enable MTOM (Message Transmission Optimization Mechanism) for the product server.

enable_swa

boolean

Default: false
Possible Values: "true" or "false"

Use this paramater to enable SwA (SOAP with Attachments) for the product server. When SwA is enabled, the Micro Integrator will process the files attached to SOAP messages.

userAgent

string

Default: WSO2 ${product.key} ${product.version}

serverDetails

string

Default: WSO2 ${product.key} ${product.version}

synapse_config_file_path

string

Default: repository/deployment/server/synapse-configs

Primary keystore

[keystore.tls]
file_name = "wso2carbon.jks"
type = "JKS"
password = "wso2carbon"
alias = "wso2carbon"
key_password = "wso2carbon"
[keystore.primary] Required

This configuration header is required for configuring the parameters that connect the Micro Integrator to the primary keystore. This keystore is used for SSL handshaking (when the server communicates with another server) and for encrypting plain text information in configuration files. By default, this keystore is also used for encrypted data in internal datastores, unless you have configured a separate keystore for internal data encryption.

file_name

string Required

Default: wso2carbon.jks

The name of the keystore file that is used for SSL communication and for encrypting/decrypting data in configuration files.

type

string Required

Default: JKS
Possible Values: "JKS","PKCS12"

The type of the keystore file.

password

string Required

Default: wso2carbon

The password of the keystore file that is used for SSL communication and for encrypting/decrypting data in configuration files. The keystore password is used when accessing the keys in the keystore.

alias

string Required

Default: wso2carbon

The alias of the public key corresponding to the private key that is included in the keystore. The public key is used for encrypting data in the Micro Integrator server, which only the corresponding private key can decrypt. The public key is embedded in a digital certificate, and this certificate can be shared over the internet by storing it in a separate trust store file.

key_password

string Required

Default: wso2carbon

The password of the private key that is included in the keystore. The private key is used to decrypt the data that has been encrypted using the keystore's public key.

Internal keystore

[keystore.internal]
file_name = "$ref{keystore.tls.file_name}"
type = "$ref{keystore.tls.type}"
password = "$ref{keystore.tls.password}"
alias = "$ref{keystore.tls.alias}"
key_password = "$ref{keystore.tls.key_password}"
[keystore.internal] Required

This configuration header is required for configuring the parameters that connect the Micro Integrator to the keystore used for encrypting/decrypting data in internal data stores. You may sometimes choose to configure a separate keystore for this purpose because the primary keystore needs to renew certificates frequently. However, for encrypting information in internal data stores, the keystore certificates should not be changed frequently because the data that is already encrypted will become unusable every time the certificate changes. Read more about configuring the internal keystore.

file_name

string Required

Default: wso2carbon

The name of the keystore file that is used for data encryption/decryption in internal data stores. By default, the keystore file of the primary keystore is enabled for this purpose.

type

string Required

Default: JKS
Possible Values: "JKS","PKCS12"

The type of the keystore file. By default, the keystore type of the primary keystore is enabled for this purpose.

password

string Required

Default: wso2carbon

The password of the keystore file that is used for data encryption/decryption in internal data stores. This keystore password is used when accessing the keys in the keystore. By default, the keystore password of the primary keystore is enabled for this purpose.

alias

string Required

Default: wso2carbon

The alias of the public key corresponding to the private key that is included in the keystore. The public key is used for encrypting data in the Micro Integrator server, which only the corresponding private key can decrypt. The public key is embedded in a digital certificate, and this certificate can be shared over the internet by storing it in a separate trust store file. By default, the alias of the primary keystore is enabled for this purpose.

key_password

string Required

Default: wso2carbon

The password of the private key that is included in the keystore. The private key is used to decrypt the data that has been encrypted using the keystore's public key. By default, the public key password of the primary keystore is enabled for this purpose.

Trust store

[truststore]
file_name="wso2truststore.jks"
type="JKS"
password="wso2carbon"
alias="symmetric.key.value"
algorithm=""
[truststore] Required

This configuration header is required for configuring the parameters that connect the Micro Integrator to the keystore file (trust store) that is used to store the digital certificates that the server trusts for SSL communication. Read more about configuring the truststore.

file_name

string Required

Default: wso2truststore.jks

The name of the keystore file that is used for storing the trusted digital certificates. The product is shipped with a default trust store (wso2truststore.jks), which contains the self-signed digital certificate of the default keystore.

type

string Required

Default: JKS
Possible Values: "JKS","PKCS12"

The type of the keystore file that is used as the trust store.

password

string Required

Default: wso2carbon

The password of the keystore file that is used as the trust store.

alias

string Required

Default: symmetric.key.value

The alias is the password of the digital certificate (which holds the public key) that is included in the trustore.

LDAP user store

[user_store]
type = "read_only_ldap"
class = "org.wso2.micro.integrator.security.user.core.ldap.ReadOnlyLDAPUserStoreManager"
connection_url = "ldap://localhost:10389"
connection_name = "uid=admin,ou=system"
connection_password = "admin"
anonymous_bind = false
user_search_base = "ou=system"
user_name_attribute = "uid"
user_name_search_filter = "(&(objectClass=person)(uid=?))"
user_name_list_filter = "(objectClass=person)"
read_groups = true
group_search_base = "ou=system"
group_name_attribute = "cn"
group_name_search_filter = "(&(objectClass=groupOfNames)(cn=?))"
group_name_list_filter = "(objectClass=groupOfNames)"
membership_attribute = "member"
back_links_enabled = false
username_java_regex = "[a-zA-Z0-9._\\-|//]{3,30}$"
rolename_java_regex = "[a-zA-Z0-9._\\-|//]{3,30}$"
password_java_regex = "^[\\S]{5,30}$"
scim_enabled = false
password_hash_method = "PLAIN_TEXT"
multi_attribute_separator = ","
max_user_name_list_length = 100
max_role_name_list_length = 100
user_roles_cache_enabled = true
connection_pooling_enabled = true
ldap_connection_timeout = 5000
read_timeout = ''
retry_attempts = ''
[user_store] Required

This configuration header is required for conencting the Micro Integrator to an LDAP user store.

type

string Required

Default: read_only_ldap
Possible Values: read_only_ldap

This parameter specifies the type of user store. When you set this parameter, all of the remaining parameters (listed below) are inferred with default values. You can override the defaults by giving specific values to these parameters.

class

string

Default: org.wso2.micro.integrator.security.user.core.ldap.ReadOnlyLDAPUserStoreManager

The implementation class that enables the read-only LDAP user store. If the type parameter is not used, you need to specify a value for this parameter.

connection_url

string Required

Default: ldap://localhost:10389

The URL for connecting to the LDAP. Override the default URL for your setup. If you are connecting over ldaps (secured LDAP), you need to import the certificate of the user store to the truststore (wso2truststore.jks by default). See the instructions on how to add certificates to the truststore.

connection_name

string Required

Default: uid=admin,ou=system

The username used to connect to the user store and perform various operations. This user does not need to be an administrator in the user store. However, the user requires permission to read the user list and user attributes, and to perform search operations on the user store. The value you specify is used as the DN (Distinguish Name) attribute of the user who has sufficient permissions to perform operations on users and roles in LDAP.

connection_password

string Required

Default: admin

Password for the connection user name.

user_search_base

string

Default: ou=system

The DN of the context or object under which the user entries are stored in the user store. When the user store searches for users, it will start from this location of the directory.

user_name_attribute

string

Default: uid

The attribute used for uniquely identifying a user entry. Users can be authenticated using their email address, UID, etc. The name of the attribute is considered as the username. Note that the email address is considered as a special case in WSO2 products. Read more about using the email address as user name.

user_name_search_filter

boolean

Default: (&amp;(objectClass=person)(uid=?))

Filtering criteria used to search for a particular user entry.

user_name_list_filter

string

Default: (objectClass=person)

Filtering criteria for searching user entries in the user store. This query or filter is used when doing search operations on users with different search attributes. According to the default configuration, the search operation only provides the objects created from the person object class.

read_groups

boolean

Default: true

This indicates whether groups should be read from the user store. If this is set to 'false', none of the groups in the user store can be read, and the following group configurations are NOT mandatory: 'group_search_base', 'group_name_list_filter', or 'group_name_attribute'.

group_search_base

string

Default: ou=system

The DN of the context or object under which the group entries are stored in the user store. When the user store searches for groups, it will start from this location of the directory.

group_name_attribute

string

Default: cn

The attribute used for uniquely identifying a group entry. This attribute is to be treated as the group name.

group_name_search_filter

string

Default: (&amp;(objectClass=groupOfNames)(cn=?))

The filtering criteria used to search for a particular group entry.

group_name_list_filter

string

Default: (objectClass=groupOfNames)

The filtering criteria for searching group entries in the user store. This query or filter is used when doing search operations on groups with different search attributes.

membership_attribute

string

Default: member

Defines the attribute that contains the distinguished names (DN) of user objects that are in a group.

back_links_enabled

boolean

Default: false

Defines whether the backlink support is enabled.

username_java_regex

string

Default: [a-zA-Z0-9._\-|//]{3,30}$

The regular expression used by the back-end components for username validation. By default, a length of 3 to 30 allowed for strings with non-empty characters. You can provide ranges of alphabets, numbers, and also ranges of ASCII values in the RegEx properties.

rolename_java_regex

string

Default: [a-zA-Z0-9._\-|//]{3,30}$

The regular expression used by the back-end components for role name validation. By default, a length of 3 to 30 allowed for strings with non-empty characters. You can provide ranges of alphabets, numbers, and also ranges of ASCII values in the RegEx properties.

password_java_regex

string

Default: ^[\S]{5,30}$

The regular expression used by the back-end components for password validation. By default, a length of 3 to 30 allowed for strings with non-empty characters. You can provide ranges of alphabets, numbers, and also ranges of ASCII values in the RegEx properties.

scim_enabled

boolean

Default: false

This parameter specifies whether SCIM provisioning is enabled for the user store.

password_hash_method

string

Default: PLAIN_TEXT
Possible Values: SHA, MD5, PLAIN_TEXT

Specifies the password hashing algorithm used for hashing the password before storing in the user store. You can use the SHA digest method (SHA-1, SHA-256), the MD 5 digest method, or plain text passwords.

multi_attribute_separator

string

Default: ,

This parameter is used to define a character to separate multiple attributes. This ensures that it will not appear as part of a claim value. Normally ',' is used to separate multiple attributes, but you can define ',,,', '...', or a similar character sequence.

max_user_name_list_length

integer

Default: 100

Controls the number of users listed in the user store. This is useful when you have a large number of users and you don't want to list them all. Setting this property to 0 displays all users.

In some user stores, there are policies to limit the number of records that can be returned from the query. Setting the value to 0 will list the maximum results returned by the user store. To increase that value, you need to set it at the user store level. Active directory has the 'MaxPageSize' property with the default value set to 1000.

max_role_name_list_length

integer

Default: 100

Controls the number of roles listed in the user store. This is useful when you have a large number of roles and you don't want to list them all. Setting this property to 0 displays all roles.

In some user stores, there are policies to limit the number of records that can be returned from the query. Setting the value to 0 will list the maximum results returned by the user store. To increase that value, you need to set it at the user store level. Active directory has the 'MaxPageSize' property with the default value set to 1000.

user_roles_cache_enabled

boolean

Default: true

This parameter indicates whether the list of roles for a user should be cached. Set this to 'false' if the user roles are changed by external means and the changes should be instantly reflected in the product instance.

connection_pooling_enabled

boolean

Default: true

Define whether LDAP connection pooling is enabled. The connection performance will improve when this parameter is enabled.

ldap_connection_timeout

integer

Default: 5000

This is the connection timeout period (in milliseconds) when the initial connection is created.

read_timeout

integer

Default: N/A

The value for this parameter is the read timeout in milliseconds for LDAP operations. If the LDAP provider cannot get an LDAP response within that period, it aborts the read attempt. The integer should be greater than zero. An integer less than or equal to zero means no read timeout is specified, which is equivalent to waiting for the response infinitely until it is received.

retry_attempts

integer

Default: N/A

Retry the authentication request if a timeout happened.

Message builders (non-blocking mode)

[message_builders]
application_xml = "org.apache.axis2.builder.ApplicationXMLBuilder"
form_urlencoded = "org.apache.synapse.commons.builders.XFormURLEncodedBuilder"
multipart_form_data = "org.apache.axis2.builder.MultipartFormDataBuilder"
text_plain = "org.apache.axis2.format.PlainTextBuilder"
application_json = "org.wso2.micro.integrator.core.json.JsonStreamBuilder"
json_badgerfish = "org.apache.axis2.json.JSONBadgerfishOMBuilder"
text_javascript = "org.apache.axis2.json.JSONBuilder"
octet_stream =  "org.wso2.carbon.relay.BinaryRelayBuilder"
application_binary = "org.apache.axis2.format.BinaryBuilder"
[message_builders] Required

This configuration header is required for configuring the message builder implementation that is used to build messages that are received by the Micro Integrator in the default non-blocking mode. If you are using the Micro Integrator in blocking mode, see the message builder configurations for blocking mode.

application_xml

string

Default: org.apache.axis2.builder.ApplicationXMLBuilder

The message builder implementation that builds messages with the 'application_xml' content type. If required, you can change the default builder class.

form_urlencoded

string

Default: admin
Possible Values: org.apache.synapse.commons.builders.XFormURLEncodedBuilder

The message builder implementation that builds messages with the 'form_urlencoded' content type. If required, you can change the default builder class.

multipart_form_data

string

Default: org.apache.axis2.builder.MultipartFormDataBuilder

The message builder implementation that builds messages with the 'multipart_form_data' content type. If required, you can change the default builder class.

text_plain

string

Default: org.apache.axis2.format.PlainTextBuilder

The message builder implementation that builds messages with the 'text_plain' content type. If required, you can change the default builder class.

application_json

string

Default: org.wso2.micro.integrator.core.json.JsonStreamBuilder

The message builder implementation that builds messages with the 'application_json' content type. If required, you can change the default builder class.

json_badgerfish

string

Default: org.apache.axis2.json.JSONBadgerfishOMBuilder

The message builder implementation that builds messages with the 'json_badgerfish' content type. If required, you can change the default builder class.

text_javascript

string

Default: org.apache.axis2.json.JSONBuilder

The message builder implementation that builds messages with the 'text_javascript' content type. If required, you can change the default builder class.

octet_stream

string

Default: org.wso2.carbon.relay.BinaryRelayBuilder

The message builder implementation that builds messages with the 'octet_stream' content type. If required, you can change the default builder class.

application_binary

string

Default: org.apache.axis2.format.BinaryBuilder

The message builder implementation that builds messages with the 'application_binary' content type. If required, you can change the default builder class.

Message builders (blocking mode)

[message_builders.blocking]
application_xml = "org.apache.axis2.builder.ApplicationXMLBuilder"
form_urlencoded = "org.apache.synapse.commons.builders.XFormURLEncodedBuilder"
multipart_form_data = "org.apache.axis2.builder.MultipartFormDataBuilder"
text_plain = "org.apache.axis2.format.PlainTextBuilder"
application_json = "org.wso2.micro.integrator.core.json.JsonStreamBuilder"
json_badgerfish = "org.apache.axis2.json.JSONBadgerfishOMBuilder"
text_javascript = "org.apache.axis2.json.JSONBuilder"
octet_stream =  "org.wso2.carbon.relay.BinaryRelayBuilder"
application_binary = "org.apache.axis2.format.BinaryBuilder"
[message_builders.blocking] Required

This configuration header is required for configuring the message builder implementation that is used to build messages that are received by the Micro Integrator in blocking mode. You can use the same list of parameters that are available for message builders in non-blocking mode.

Message formatters (non-blocking mode)

[message_formatters]
form_urlencoded =  "org.apache.synapse.commons.formatters.XFormURLEncodedFormatter"
multipart_form_data =  "org.apache.axis2.transport.http.MultipartFormDataFormatter"
application_xml = "org.apache.axis2.transport.http.ApplicationXMLFormatter"
text_xml = "org.apache.axis2.transport.http.SOAPMessageFormatter"
soap_xml = "org.apache.axis2.transport.http.SOAPMessageFormatter"
text_plain = "org.apache.axis2.format.PlainTextFormatter"
application_json =  "org.wso2.micro.integrator.core.json.JsonStreamFormatter"
json_badgerfish = "org.apache.axis2.json.JSONBadgerfishMessageFormatter"
text_javascript = "org.apache.axis2.json.JSONMessageFormatter"
octet_stream = "org.wso2.carbon.relay.ExpandingMessageFormatter"
application_binary =  "org.apache.axis2.format.BinaryFormatter"
[message_formatters] Required

This configuration header is required for configuring the message formatting implementation that is used for formatting messages that are sent out of the Micro Integrator in non-blocking mode. If you are using the Micro Integrator in blocking mode, see the message formatter configurations for blocking mode.

application_xml

string

Default: org.apache.axis2.transport.http.ApplicationXMLFormatter

The message formating implementation that formats messages with the 'application_xml' content type before they are sent out of the Micro Integrator. If required, you can change the default formating class.

form_urlencoded

string

Default: org.apache.synapse.commons.formatters.XFormURLEncodedFormatter

The message formating implementation that formats messages with the 'form_urlencoded' content type before they are sent out of the Micro Integrator. If required, you can change the default formating class.

multipart_form_data

string

Default: org.apache.axis2.transport.http.MultipartFormDataFormatter

The message formating implementation that formats messages with the 'multipart_form_data' content type before they are sent out of the Micro Integrator. If required, you can change the default formating class.

text_plain

string

Default: org.apache.axis2.format.PlainTextFormatter

The message formating implementation that formats messages with the 'text_plain' content type before they are sent out of the Micro Integrator. If required, you can change the default formating class.

application_json

string

Default: org.wso2.micro.integrator.core.json.JsonStreamFormatter

The message formating implementation that formats messages with the 'application_json' content type before they are sent out of the Micro Integrator. If required, you can change the default formating class.

json_badgerfish

string

Default: org.apache.axis2.json.JSONBadgerfishMessageFormatter

The message formating implementation that formats messages with the 'json_badgerfish' content type before they are sent out of the Micro Integrator. If required, you can change the default formating class.

text_javascript

string

Default: org.apache.axis2.json.JSONMessageFormatter

The message formating implementation that formats messages with the 'text_javascript' content type before they are sent out of the Micro Integrator. If required, you can change the default formating class.

octet_stream

string

Default: org.wso2.carbon.relay.ExpandingMessageFormatter

The message formating implementation that formats messages with the 'octet_stream' content type before they are sent out of the Micro Integrator. If required, you can change the default formating class.

application_binary

string

Default: org.apache.axis2.format.BinaryFormatter

The message formating implementation that formats messages with the 'application_binary' content type before they are sent out of the Micro Integrator. If required, you can change the default formating class.

text_xml

string

Default: org.apache.axis2.transport.http.SOAPMessageFormatter

The message formating implementation that formats messages with the 'text_xml' content type before they are sent out of the Micro Integrator. If required, you can change the default formating class.

soap_xml

string

Default: org.apache.axis2.transport.http.SOAPMessageFormatter

The message formating implementation that formats messages with the 'soap_xml' content type before they are sent out of the Micro Integrator. If required, you can change the default formating class.

Message formatter (blocking mode)

[message_formatters.blocking]
form_urlencoded =  "org.apache.synapse.commons.formatters.XFormURLEncodedFormatter"
multipart_form_data =  "org.apache.axis2.transport.http.MultipartFormDataFormatter"
application_xml = "org.apache.axis2.transport.http.ApplicationXMLFormatter"
text_xml = "org.apache.axis2.transport.http.SOAPMessageFormatter"
soap_xml = "org.apache.axis2.transport.http.SOAPMessageFormatter"
text_plain = "org.apache.axis2.format.PlainTextFormatter"
application_json =  "org.wso2.micro.integrator.core.json.JsonStreamFormatter"
json_badgerfish = "org.apache.axis2.json.JSONBadgerfishMessageFormatter"
text_javascript = "org.apache.axis2.json.JSONMessageFormatter"
octet_stream = "org.wso2.carbon.relay.ExpandingMessageFormatter"
application_binary =  "org.apache.axis2.format.BinaryFormatter"
[message_formatters.blocking] Required

This configuration header is required for configuring the message formatter implementations that are used to format messages that are sent out from the Micro Integrator in blocking mode. You can use the same list of parameters that are available for message formatters in non-blocking mode.

Custom message builder (non-blocking mode)

[[custom_message_builders]]
content_type = "application/json/badgerfish"
class = "org.apache.axis2.json.JSONBadgerfishOMBuilder"
[[custom_message_builders]] Required

This configuration header is required for configuring the custom message builder implementation class and the selected content types to which the builder should apply in non-blocking mode. See the instructions on configuring custom message builders and formatters.

content_type

string Required

Default: N/A

The content types to which the custom message builder implementation should apply. You can specify the list of content types as follows: application/json/badgerfish.

class

string Required

Default: N/A

The custom message builder implementation that should apply to the given content types.

Custom message builder (blocking mode)

[[custom_message_builders.blocking]]
content_type = "application/json/badgerfish"
class = "org.apache.axis2.json.JSONBadgerfishOMBuilder"
[[custom_message_builders.blocking]] Required

This configuration header is required for configuring the custom message builder implementation class and the selected content types to which the builder should apply in blocking mode. See the instructions on configuring custom message builders and formatters. You can use the same list of parameters that are available for custom message builders in non-blocking mode.

Custom message formatter (non-blocking mode)

[[custom_message_formatters]]
content_type = "application/json/badgerfish"
class = "org.apache.axis2.json.JSONBadgerfishMessageFormatter"
[[custom_message_formatters]] Required

This configuration header is required for configuring the custom message formatter implementation class and the selected content types to which the formatter should apply in non-blocking mode. See the instructions on configuring custom message builders and formatters.

content_type

string Required

Default: N/A

The content types to which the custom message formatter implementation should apply. You can specify the list of content types as follows: application/json/badgerfish.

class

string Required

Default: N/A

The custom message formatter implementation that should apply to the given content types.

Custom message formatter (blocking mode)

[[custom_message_formatters.blocking]]
content_type = "application/json/badgerfish"
class = "org.apache.axis2.json.JSONBadgerfishMessageFormatter"
[[custom_message_formatters.blocking]] Required

This configuration header is required for configuring the custom message formatter implementation class and the selected content types to which the formatter should apply in blocking mode. See the instructions on configuring custom message builders and formatters. You can use the same list of parameters that are available for custom message formatters in non-blocking mode.

Server request processor

[[server.get_request_processor]]
item = "swagger.yaml"
class = "org.wso2.micro.integrator.transport.handlers.requestprocessors.swagger.format.SwaggerYamlProcessor"

[[server.get_request_processor]]
item = "swagger.json"
class = "org.wso2.micro.integrator.transport.handlers.requestprocessors.swagger.format.SwaggerJsonProcessor"
[[server.get_request_processor]] Required

This configuration header is required for configuring the parameters that specify how special HTTP GET requests (such as '?wsdl', '?policy', etc.) are processed. This is an array-type header, which you can reuse depending on the number of processors you want to enable.

item

string Required

Default: 'swagger.yaml' and 'swagger.json'

The item repesents the first parameter in the query string (e.g. ?wsdl), which needs special processing. The following two items are enabled by defualt:
- swagger.yaml
- swagger.json

class

string Required

Default: 'org.wso2.micro.integrator.transport.handlers.requestprocessors.swagger.format.SwaggerYamlProcessor' and 'org.wso2.micro.integrator.transport.handlers.requestprocessors.swagger.format.SwaggerYamlProcessor'

This is the class that implements the org.wso2.carbon.transport.HttpGetRequestProcessor processor. By default, the following two classes are used for handling the two default request items:

- For swagger.yaml: org.wso2.micro.integrator.transport.handlers.requestprocessors.swagger.format.SwaggerYamlProcessor
- For swagger.json: org.wso2.micro.integrator.transport.handlers.requestprocessors.swagger.format.SwaggerYamlProcessor

HTTP/S transport (non-blocking mode)

[transport.http]
socket_timeout = "3m"
core_worker_pool_size = 400
max_worker_pool_size = 400
worker_pool_queue_length = -1
io_buffer_size = 16384
max_http_connection_per_host_port = 32767
preserve_http_user_agent = false
preserve_http_server_name = true
preserve_http_headers = ["Content-Type"]
disable_connection_keepalive = false
enable_message_size_validation = false
max_message_size_bytes = 81920
max_open_connections = -1
force_xml_validation = false
force_json_validation = false
listener.port = 8280    #inferred  default: 8280
listener.wsdl_epr_prefix ="$ref{server.hostname}"
listener.bind_address = "$ref{server.hostname}"
listener.secured_port = 8243
listener.secured_wsdl_epr_prefix = "$ref{server.hostname}"
listener.secured_bind_address = "$ref{server.hostname}"
listener.secured_protocols = "TLSv1,TLSv1.1,TLSv1.2"
listener.verify_client = "require"
listener.ssl_profile.file_path = "conf/sslprofiles/listenerprofiles.xml"
listener.ssl_profile.read_interval = "1h"
listener.preferred_ciphers = "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_DHE_RSA_WITH_AES_128_GCM_SHA256"
listener.keystore.file_name ="$ref{keystore.tls.file_name}"
listener.keystore.type = "$ref{keystore.tls.type}"
listener.keystore.password = "$ref{keystore.tls.password}"
listener.keystore.key_password = "$ref{keystore.tls.key_password}"
listener.truststore.file_name = "$ref{truststore.file_name}"
listener.truststore.type = "$ref{truststore.type}"
listener.truststore.password = "$ref{truststore.password}"
sender.warn_on_http_500 = "*"
sender.proxy_host = "$ref{server.hostname}"
sender.proxy_port = 3128
sender.non_proxy_hosts = ["$ref{server.hostname}"]
sender.hostname_verifier = "AllowAll"
sender.keystore.file_name ="$ref{keystore.tls.file_name}"
sender.keystore.type = "$ref{keystore.tls.type}"
sender.keystore.password = "$ref{keystore.tls.password}"
sender.keystore.key_password = "$ref{keystore.tls.key_password}"
sender.truststore.file_name = "$ref{truststore.file_name}"
sender.truststore.type = "$ref{truststore.type}"
sender.truststore.password = "$ref{truststore.password}"
sender.ssl_profile.file_path = "conf/sslprofiles/senderprofiles.xml"
sender.ssl_profile.read_interval = "30s"
[transport.http] Required

This configuration header is required for configuring the parameters that are used for tuning the default HTTP/S passthrough transport of the Micro Integrator in non-blocking mode.

socket_timeout

integer Required

Default: 180000

This is the maximum period of inactivity between two consecutive data packets, specified in milliseconds.

core_worker_pool_size

integer Required

Default: 400

The Micro Integrator uses a thread pool executor to create threads and to handle incoming requests. This parameter controls the number of core threads used by the executor pool. If you increase this parameter value, the number of requests received that can be processed by the integrator increases, hence, the throughput also increases. The nature of the integration scenario and the number of concurrent requests received by the integrator are the main factors that helps to determine this parameter.

max_worker_pool_size

integer Required

Default: 400

This is the maximum number of threads in the worker thread pool. Specifying a maximum limit avoids performance degradation that can occur due to context switching. If the specified value is reached, you will see the error 'SYSTEM ALERT - HttpServerWorker threads were in BLOCKED state during last minute'. This can occur due to an extraordinarily high number of requests sent at a time when all the threads in the pool are busy, and the maximum number of threads is already reached.

worker_pool_queue_length

integer Required

Default: -1

This defines the length of the queue that is used to hold runnable tasks to be executed by the worker pool. The thread pool starts queuing jobs when all the existing threads are busy, and the pool has reached the maximum number of threads. The value for this parameter should be -1 to use an unbound queue. If a bound queue is used and the queue gets filled to its capacity, any further attempts to submit jobs fail causing some messages to be dropped by Synapse.

io_buffer_size

integer Required

Default: 16384

This is the value of the memory buffer allocated when reading data into the memory from the underlying socket/file channels. You should leave this property set to the default value.

max_http_connection_per_host_port

integer Required

Default: 32767

This defines the maximum number of connections allowed per host port.

preserve_http_user_agent

boolean Required

Default: false
Possible Values: "true","false"

If this parameter is set to true, the user-agent HTTP header of messages passing through the integrator is preserved and printed in the outgoing message.

preserve_http_headers

string Required

Default: Content-Type

This parameter allows you to specify the header field/s of messages passing through the EI that need to be preserved and printed in the outgoing message such as Location, CommonsHTTPTransportSenderKeep-Alive, Date, Server, User-Agent, and Host. For example, http.headers.preserve = Location, Date, Server.

disable_connection_keepalive

boolean Required

Default: false
Possible Values: "true","false"

If this parameter is set to true, the HTTP connections with the back end service are closed soon after the request is served. It is recommended to set this property to false so that the integrator does not have to create a new connection every time it sends a request to a back-end service. However, you may need to close connections after they are used if the back-end service does not provide sufficient support for keep-alive connections.

listener.port

integer Required

Default: 8280

The port on which this transport receiver should listen for incoming messages.

listener.wsdl_epr_prefix

string Required

Default: N/A

A URL prefix which will be added to all service EPRs and EPRs in WSDLs etc.

listener.secured_port

integer Required

Default: 8243

The secured port on which this transport receiver should listen for incoming messages.

listener.keystore.file_name

string Required

Default: MI_HOME/repository/resources/security/wso2carbon.jks

The path to the keystore file that is used for securing the HTTP passthrough connection. By default, the keystore file of the primary keystore is enabled for this purpose.

listener.keystore.type

string Required

Default: JKS
Possible Values: "JKS","PKCS12"

The type of the keystore file. By default, the keystore type of the primary keystore is enabled for this purpose.

listener.keystore.password

string Required

Default: wso2carbon

The password of the keystore file that is used for securing the HTTP passthrough connection. This keystore password is used when accessing the keys in the keystore. By default, the keystore password of the primary keystore is enabled for this purpose.

listener.keystore.key_password

string Required

Default: wso2carbon

The password of the private key that is used for securing the HTTP passthrough connection. This keystore password is used when accessing the keys in the keystore. By default, the keystore password of the primary keystore is enabled for this purpose.

listener.truststore.file_name

string Required

Default: MI_HOME/repository/resources/security/wso2truststore.jks

The path to the keystore file that is used for storing the trusted digital certificates. By default, the product's trust store is configured for this purpose.

listener.truststore.type

string Required

Default: JKS
Possible Values: "JKS","PKCS12"

The type of the keystore file that is used as the trust store. By default, the product's trust store is configured for this purpose.

listener.truststore.password

string Required

Default: wso2carbon

The password of the keystore file that is used as the trust store. By default, the product's trust store is configured for this purpose.

sender.warn_on_http_500

string Required

Default: N/A

If the outgoing messages should be sent through an HTTP proxy server, use this parameter to specify the target proxy.

sender.proxy_host

string Required

Default: ${deployement.node_ip}

If the outgoing messages should be sent through an HTTP proxy server, use this parameter to specify the target proxy.

sender.proxy_port

integer Required

Default: 3128

The port through which the target proxy accepts HTTP traffic.

sender.non_proxy_hosts

string Required

Default: N/A

The list of hosts to which the HTTP traffic should be sent directly without going through the proxy. When trying to add multiple hostnames along with an asterisk in order to define a set of sub-domains for non-proxy hosts, you need to add a period before the asterisk when configuring proxy server.

sender.hostname_verifier

string Required

Default: N/A

The list of hosts to which the HTTP traffic should be sent directly without going through the proxy. When trying to add multiple hostnames along with an asterisk in order to define a set of sub-domains for non-proxy hosts, you need to add a period before the asterisk when configuring proxy server.

sender.keystore.file_name

string Required

Default: MI_HOME/repository/resources/security/wso2carbon.jks

The path to the keystore file that is used for securing the HTTP passthrough connection. By default, the keystore file of the primary keystore is enabled for this purpose.

sender.keystore.type

string Required

Default: JKS
Possible Values: "JKS","PKCS12"

The type of the keystore file. By default, the keystore type of the primary keystore is enabled for this purpose.

sender.keystore.password

string Required

Default: wso2carbon

The password of the keystore file that is used for securing the HTTP passthrough connection. This keystore password is used when accessing the keys in the keystore. By default, the keystore password of the primary keystore is enabled for this purpose.

sender.keystore.key_password

string Required

Default: wso2carbon

The password of the private key that is used for securing the HTTP passthrough connection. This keystore password is used when accessing the keys in the keystore. By default, the keystore password of the primary keystore is enabled for this purpose.

sender.truststore.file_name

string Required

Default: MI_HOME/repository/resources/security/wso2truststore.jks

The path to the keystore file that is used for storing the trusted digital certificates. By default, the product's trust store is configured for this purpose.

sender.truststore.type

string Required

Default: JKS
Possible Values: "JKS","PKCS12"

The type of the keystore file that is used as the trust store. By default, the product's trust store is configured for this purpose.

sender.truststore.password

string Required

Default: wso2carbon

The password of the keystore file that is used as the trust store. By default, the product's trust store is configured for this purpose.

HTTP transport (blocking mode)

[transport.blocking.http]

listener.enable = true
listener.port = 8200
listener.hostname = ""
listener.origin_server = ""
listener.request_timeout = ""
listener.request_tcp_no_delay = ""
listener.request_core_thread_pool_size = ""
listener.request_max_thread_pool_size = ""
listener.thread_keepalive_time = ""
listener.thread_keepalive_time_unit = ""

sender.enable = true
sender.enable_client_caching = true
sender.transfer_encoding = ""
sender.default_connections_per_host = 200
sender.omit_soap12_action = true
sender.so_timeout = 60000
[transport.blocking.http] Required

This configuration header is required for configuring the parameters that are used for configuring the default HTTP/S passthrough transport in blocking mode.

listener.enable

boolean

Default: true
Possible Values: "true","false"

This parameter is used for enabling the HTTP passthrough transport listener in blocking mode.

listener.port

integer Required

Default: 8200

The port on which this transport receiver should listen for incoming messages.

listener.hostname

string

Default: N/A

listener.origin_server

string

Default: N/A

listener.request_timeout

string

Default: N/A

listener.request_tcp_no_delay

string

Default: N/A

listener.request_core_thread_pool_size

string

Default: N/A

listener.request_max_thread_pool_size

string

Default: N/A

listener.thread_keepalive_time

string

Default: N/A

listener.thread_keepalive_time_unit

string

Default: N/A

sender.enabled

boolean Required

Default: true
Possible Values: "true","false"

This parameter is used for enabling the HTTP passthrough transport sender in blocking mode.

sender.enable_client_caching

boolean Required

Default: N/A
Possible Values: "true","false"

This parameter is used to specify whether the HTTP client should save cache entries and the cached responses in the JVM memory or not.

sender.transfer_encoding

string Required

Default: N/A
Possible Values: "chunked","false"

This parameter enables you to specify whether the data sent should be chunked. It can be used instead of the Content-Length header if you want to upload data without having to know the amount of data to be uploaded in advance.

sender.default_connections_per_host

integer Required

Default: N/A

The maximum number of connections that will be created per host server by the client. If the backend server is slow, the connections in use at a given time will take a long time to be released and added back to the connection pool. As a result, connections may not be available for some requests. In such situations, it is recommended to increase the value for this parameter.

sender.omit_soap12_action

boolean Required

Default: N/A
Possible Values: "true" or "false"

If following is set to 'true', optional action part of the Content-Type will not be added to the SOAP 1.2 messages.

sender.so_timeout

integer Required

Default: N/A
Possible Values: 60000

If following is set to 'true', optional action part of the Content-Type will not be added to the SOAP 1.2 messages.

HTTP proxy profile

[[transport.http.proxy_profile]]
target_hosts = ["example.com", ".*.sample.com"]
proxy_host = "localhost"
proxy_port = "3128"
proxy_username = "squidUser"
proxy_password = "password"
bypass_hosts = ["xxx.sample.com"]
[[transport.http.proxy_profile]] Required

This configuration header is required for configuring HTTP proxy profiles when you use multiple proxy servers to route messages to different endpoints.

target_hosts

string

Default: N/A
Possible Values: *","example.com","<any-ip-address>

A host name or a comma-separated list of host names for a target endpoint. Host names can be specified as regular expressions that match a pattern. When asterisks (*) is specified as the target hostname, it will match all the hosts in the profile.

proxy_host

string Required

Default: N/A

The host name of the proxy server.

proxy_port

integer Required

Default: N/A

The port number of the proxy server.

proxy_username

string Required

Default: N/A

The user name for the authenticating the proxy server.

proxy_password

string Required

Default: N/A

The password for authenticating the proxy server.

bypass_hosts

string

Default: N/A

A host name or a comma-separated list of host names that should not be sent via the proxy server.
For example, if you want all requests sent to *.sample.com to be sent via a proxy server, while you need to directly send requests to hello.sample.com (without going through the proxy server), you can add hello.sample.com as a bypass host name.

HTTP secured proxy profile

[[transport.http.secured_proxy_profile]]
target_hosts = ["example.com", ".*.sample.com"]
proxy_host = "localhost"
proxy_port = "3128"
proxy_username = "squidUser"
proxy_password = "password"
bypass_hosts = ["xxx.sample.com"]
[[transport.http.secured_proxy_profile]] Required

This configuration header is required for configuring secured HTTP proxy profiles when you use multiple (secured) proxy servers to route messages to different endpoints.

target_hosts

string Required

Default: N/A
Possible Values: *","example.com","<any-ip-address>

A host name or a comma-separated list of host names for a target endpoint. Host names can be specified as regular expressions that match a pattern. When asterisks (*) is specified as the target hostname, it will match all the hosts in the profile.

proxy_host

string Required

Default: N/A

The host name of the proxy server.

proxy_port

integer Required

Default: N/A

The port number of the proxy server.

proxy_username

string

Default: N/A

The user name for the authenticating the proxy server.

proxy_password

string Required

Default: N/A

The password for authenticating the proxy server.

bypass_hosts

string

Default: N/A

A host name or a comma-separated list of host names that should not be sent via the proxy server.
For example, if you want all requests sent to *.sample.com to be sent via a proxy server, while you need to directly send requests to hello.sample.com (without going through the proxy server), you can add hello.sample.com as a bypass host name.

VFS transport

[transport.vfs]

listener.enable = true
listener.keystore.file_name = "$ref{keystore.tls.file_name}" 
listener.keystore.type = "$ref{keystore.tls.type}"
listener.keystore.password = "$ref{keystore.tls.password}"
listener.keystore.key_password = "$ref{keystore.tls.key_password}"
listener.keystore.alias = "$ref{keystore.tls.alias}"

listener.parameter.customParameter = ""

sender.enable = true
sender.parameter.customParameter = ""
[transport.vfs] Required

This configuration header is required for configuring how the Micro Integrator communicates through the VFS transport.

listener.enabled

boolean Required

Default: true
Possible Values: "true",or "false"

The parameter for enabling the VFS transport listener.

listener.keystore.file_name

string

Default: MI_HOME/repository/resources/security/wso2carbon.jks

The path to the keystore file that is used for securing a VFS connection. By default, the keystore file of the primary keystore is enabled for this purpose.

listener.keystore.type

string

Default: JKS
Possible Values: "JKS","PKCS12"

The type of the keystore file. By default, the keystore type of the primary keystore is enabled for this purpose.

listener.keystore.password

string

Default: wso2carbon

The password of the keystore file that is used for securing a VFS connection. This keystore password is used when accessing the keys in the keystore. By default, the keystore password of the primary keystore is enabled for this purpose.

listener.keystore.alias

string

Default: wso2carbon

The alias of the public key corresponding to the private key that is included in the keystore. The public key is used for encrypting data in the Micro Integrator server, which only the corresponding private key can decrypt. The public key is embedded in a digital certificate, and this certificate can be shared over the internet by storing it in a separate trust store file. By default, the alias of the primary keystore is enabled for this purpose.

listener.keystore.key_password

string

Default: wso2carbon
Possible Values: wso2carbon

The password of the private key that is included in the keystore. The private key is used to decrypt the data that has been encrypted using the keystore's public key. By default, the public key password of the primary keystore is enabled for this purpose.

sender.enabled

boolean Required

Default: true
Possible Values: "true",or "false"

The parameter for enabling the VFS transport sender.

MAIL transport listener (non-blocking mode)

[transport.mail.listener]
enable = true   
name = "mailto"
parameter.customParameter = ""
[transport.mail.listener] Required

This configuration header is required for configuring the MailTo transport listener implementation of the Micro Integrator in non-blocking mode. Note that the list of parameters given below can be used for the non-blocking transport listener as well as the blocking transport listener.

enabled

boolean Required

Default: false
Possible Values: "true",or "false"

The parameter for enabling the MAIL transport listener in the Micro Integrator.

name

string Required

Default: N/A

The name of the transport receiver.

MAIL transport listener (blocking mode)

[transport.blocking.mail.listener]
enable = true
name = "mailto"
parameter.customParameter = "value"
[transport.blocking.mail.listener] Required

This configuration header groups the parameters that are used to configure the MailTo transport listener in blocking mode. You can use the same list of parameters that are available for the non-blocking mail sender.

MAIL transport sender (non-blocking mode)

[[transport.mail.sender]]
name = "mailto"
parameter.hostname = "smtp.gmail.com"
parameter.port = "587"
parameter.enable_tls = true
parameter.auth = true
parameter.username = "demo_user"
parameter.password = "mailpassword"
parameter.from = "demo_user@wso2.com"
[[transport.mail.sender]] Required

This configuration header groups the parameters that are used to configure the MailTo transport sender implementation of the Micro Integrator in non-blocking mode. Note that the list of parameters given below can be used for the non-blocking transport sender as well as the blocking transport sender.

name

string Required

Default: mailto

The parameter for enabling the MAIL transport sender in the Micro Integrator.

parameter.hostname

string Required

Default: smtp.gmail.com

The mail server that serves outgoing mails from the Micro Integrator.

parameter.port

integer Required

Default: 587

The port of the mail server.

parameter.enable_tls

boolean Required

Default: false
Possible Values: "true",or "false"

This parameter specifies whether TLS is enabled for the MailTo transport.

parameter.username

string Required

Default: demo_user

The user name of the email account (mail sender). Note that in some email service providers, the user name is the same as the email address specified for 'parameter.from'.

parameter.password

string Required

Default: mailpassword

The password of the email account (mail sender).

parameter.from

string Required

Default: demo_user@wso2.com

The email address from which mails will be sent.

MAIL transport sender (blocking mode)

[[transport.blocking.mail.sender]]

name = "mailto"
parameter.hostname = "smtp.gmail.com"
parameter.port = "587"
parameter.enable_tls = true
parameter.auth = true
parameter.username = "demo_user"
parameter.password = "mailpassword"
parameter.from = "demo_user@wso2.com"
[[transport.blocking.mail.sender]] Required

This configuration header groups the parameters that are used to configure the MailTo transport sender in blocking mode. You can use the same list of parameters that are available for the non-blocking mail sender.

JMS transport listener (non-blocking mode)

[[transport.jms.listener]]

name = "myTopicListener"
parameter.initial_naming_factory = "org.apache.activemq.artemis.jndi.ActiveMQInitialContextFactory"
parameter.broker_name = "artemis"
parameter.provider_url = "tcp://localhost:61616"
parameter.connection_factory_name = "TopicConnectionFactory"
parameter.connection_factory_type = "topic"
parameter.cache_level = "consumer"

parameter.naming_security_principal = ""
parameter.naming_security_credential = ""
parameter.transactionality = ""
parameter.transaction_jndi_name = ""
parameter.cache_user_transaction = true
parameter.session_transaction = true
parameter.session_acknowledgement = "AUTO_ACKNOWLEDGE"
parameter.jms_spec_version = "1.1"
parameter.username = ""
parameter.password = ""
parameter.destination = ""
parameter.destination_type = "queue"
parameter.default_reply_destination = ""
parameter.default_destination_type = "queue"
parameter.message_selector = ""
parameter.subscription_durable = false
parameter.durable_subscriber_client_id = ""
parameter.durable_subscriber_name = ""
parameter.pub_sub_local = false
parameter.receive_timeout = "1000"
parameter.concurrent_consumer = 1
parameter.max_concurrent_consumer = 1
parameter.idle_task_limit = 10
parameter.max_message_per_task = -1
parameter.initial_reconnection_duration = "10000"
parameter.reconnect_progress_factor = 2
parameter.max_reconnect_duration = "3600000"
parameter.reconnect_interval = "3600000"
parameter.max_jsm_connection = 10
parameter.max_consumer_error_retrieve_before_delay = 20
parameter.consume_error_delay = "100"         
parameter.consume_error_progression = "2.0"
[[transport.jms.listener]] Required

This configuration header groups the parameters that are used to configure the JMS transport listener implementation of the Micro Integrator in non-blocking mode. Note that the list of parameters given below can be used for the non-blocking transport listener as well as the blocking transport listener.

name

string Required

Default: N/A

The user-defined name of the JMS listener.

parameter.initial_naming_factory

string Required

Default: N/A

JNDI initial context factory class. The class must implement the java.naming.spi.InitialContextFactory interface.

parameter.provider_url

string Required

Default: N/A

URL of the JNDI provider.

parameter.connection_factory_name

string Required

Default: N/A

The JNDI name of the connection factory.

parameter.cache_level

string

Default: consumer
Possible Values: consumer

The cache level that should apply when JMS objects startup. When the Micro Integrator produces JMS messages, you need to specify this cache level in the deployment.toml file. If the Micro Integrator works as JMS listener, you need to specify the JMS cache level in the proxy service. See the list of service-level JMS parameters.

parameter.naming_security_principal

string

Default: N/A

The JNDI Username.

parameter.naming_security_credential

string

Default: N/A

The JNDI password.

parameter.transactionality

string

Default: N/A

Preferred mode of transactionality. Note that JMS transactions only works with either the Callout mediator or the Call mediator in blocking mode.

parameter.transaction_jndi_name

string

Default: N/A

JNDI name to be used to require user transaction.

parameter.cache_user_transaction

boolean

Default: false
Possible Values: "true",or "false"

Specifies whether or not caching should be enabled for user transactions.

parameter.session_transaction

boolean

Default: false
Possible Values: "true",or "false"

Specifies whether or not the JMS session should be transacted.

parameter.session_acknowledgement

string

Default: AUTO_ACKNOWLEDGE

JMS session acknowledgment mode.

parameter.jms_spec_version

string

Default: 1.1

JMS API version.

parameter.username

string Required

Default: N/A

The JMS connection username.

parameter.password

string Required

Default: N/A

The JMS connection password.

parameter.destination

string

Default: N/A

The JNDI name of the destination.

parameter.destination_type

string

Default: N/A
Possible Values: 'queue' or 'topic'

The type of the destination.

parameter.default_reply_destination

string

Default: N/A

The JNDI name of the default reply destination.

parameter.default_destination_type

string

Default: queue
Possible Values: "queue", "topic"

The type of the reply destination.

parameter.message_selector

string

Default: N/A

The message selector implementation.

parameter.subscription_durable

boolean

Default: false
Possible Values: "true",or "false"

Specifies whether or not the connection factory is subscription durable.

parameter.durable_subscriber_client_id

string

Default: N/A

The ClientId parameter when using durable subscriptions.

parameter.durable_subscriber_name

string Required

Default: N/A

The name of the durable subscriber.

parameter.pub_sub_local

boolean

Default: false
Possible Values: "true",or "false"

Specifies whether or not the messages should should be published by the same connection in which the messages were received.

parameter.receive_timeout

integer

Default: 1000

Time to wait for a JMS message during polling. Set this parameter value to a negative integer to wait indefinitely. Set to zero to prevent waiting.

parameter.concurrent_consumer

integer

Default: 1

The number of concurrent threads to be started to consume messages when polling.

parameter.max_concurrent_consumer

integer

Default: 1

The maximum number of concurrent threads to use during polling.

parameter.idle_task_limit

integer

Default: 10

The number of idle runs per thread before it dies out.

parameter.max_message_per_task

integer

Default: -1

The maximum number of successful message receipts per thread.

parameter.initial_reconnection_duration

string

Default: 10000

The initial reconnection attempts duration in milliseconds.

parameter.reconnect_progress_factor

integer

Default: 2

The factor by which the reconnection duration will be increased.

parameter.max_reconnect_duration

integer

Default: 3600000

The maximum reconnection duration in milliseconds.

parameter.reconnect_interval

integer

Default: 3600000

The reconnection interval in milliseconds.

parameter.max_jsm_connection

integer

Default: 10

The maximum cached JMS connections in the producer level.

parameter.max_consumer_error_retrieve_before_delay

integer

Default: 20

The number of retries on consume errors before sleep delay becomes effective.

parameter.consume_error_delay

string

Default: 100

The sleep delay when a consume error is encountered (in milliseconds).

parameter.consume_error_progression

integer

Default: 2.0

The factor by which the consume error retry sleep will be increased.

JMS transport listener (blocking mode)

[[transport.blocking.jms.listener]]

name = "myTopicListener"
parameter.initial_naming_factory = "org.apache.activemq.artemis.jndi.ActiveMQInitialContextFactory"
parameter.provider_url = "tcp://localhost:61616"
parameter.connection_factory_name = "TopicConnectionFactory"
parameter.connection_factory_type = "topic"
parameter.cache_level = "consumer"

parameter.naming_security_principal = ""
parameter.naming_security_credential = ""
parameter.transactionality = ""
parameter.transaction_jndi_name = ""
parameter.cache_user_transaction = true
parameter.session_transaction = true
parameter.session_acknowledgement = "AUTO_ACKNOWLEDGE"
parameter.jms_spec_version = "1.1"
parameter.username = ""
parameter.password = ""
parameter.destination = ""
parameter.destination_type = "queue"
parameter.default_reply_destination = ""
parameter.default_destination_type = "queue"
parameter.message_selector = ""
parameter.subscription_durable = false
parameter.durable_subscriber_client_id = ""
parameter.durable_subscriber_name = ""
parameter.pub_sub_local = false
parameter.receive_timeout = "1000"
parameter.concurrent_consumer = 1
parameter.max_concurrent_consumer = 1
parameter.idle_task_limit = 10
parameter.max_message_per_task = -1
parameter.initial_reconnection_duration = "10000"
parameter.reconnect_progress_factor = 2
parameter.max_reconnect_duration = "3600000"
parameter.reconnect_interval = "3600000"
parameter.max_jsm_connection = 10
parameter.max_consumer_error_retrieve_before_delay = 20
parameter.consume_error_delay = "100"        
parameter.consume_error_progression = "2.0"
[[transport.blocking.jms.listener]] Required

This configuration header groups the parameters that are used to configure the JMS transport listener in blocking mode. You can use the same list of parameters that are available for the non-blocking JMS listener.

JMS transport sender (non-blocking mode)

[[transport.jms.sender]]

name = "myTopicSender"
parameter.initial_naming_factory = "org.apache.activemq.artemis.jndi.ActiveMQInitialContextFactory"
parameter.broker_name = "artemis"
parameter.provider_url = "tcp://localhost:61616"
parameter.connection_factory_name = "TopicConnectionFactory"
parameter.connection_factory_type = "topic"
parameter.cache_level = "producer"

parameter.naming_security_principal = ""
parameter.naming_security_credential = ""
parameter.transactionality = ""
parameter.transaction_jndi_name = ""
parameter.cache_user_transaction = true
parameter.session_transaction = true
parameter.session_acknowledgement = "AUTO_ACKNOWLEDGE"
parameter.jms_spec_version = "1.1"
parameter.username = ""
parameter.password = ""
parameter.destination = ""
parameter.destination_type = "queue"
parameter.default_reply_destination = ""
parameter.default_destination_type = "queue"
parameter.message_selector = ""
parameter.subscription_durable = false
parameter.durable_subscriber_client_id = ""
parameter.durable_subscriber_name = ""
parameter.pub_sub_local = false
parameter.receive_timeout = "1000"
parameter.concurrent_consumer = 1
parameter.max_concurrent_consumer = 1
parameter.idle_task_limit = 10
parameter.max_message_per_task = -1
parameter.initial_reconnection_duration = "10000"
parameter.reconnect_progress_factor = 2
parameter.max_reconnect_duration = "3600000"
parameter.reconnect_interval = "3600000"
parameter.max_jsm_connection = 10
parameter.max_consumer_error_retrieve_before_delay = 20
parameter.consume_error_delay = "100"
parameter.consume_error_progression = "2.0"

parameter.vender_class_loader = false
[[transport.jms.sender]] Required

This configuration header groups the parameters that are used to configure the JMS transport sender implementation of the Micro Integrator in non-blocking mode.

name

string Required

Default: N/A

The user-defined name of the JMS sender.

parameter.initial_naming_factory

string Required

Default: N/A

JNDI initial context factory class. The class must implement the java.naming.spi.InitialContextFactory interface.

parameter.broker_name

string Required

Default: N/A

The name of the JMS broker.

parameter.provider_url

string Required

Default: N/A

URL of the JNDI provider.

parameter.connection_factory_name

string Required

Default: N/A

The JNDI name of the connection factory.

parameter.cache_level

string Required

Default: producer
Possible Values: producer

The cache level that should apply when JMS objects startup. When the Micro Integrator produces JMS messages, you need to specify this cache level in the deployment.toml file. If the Micro Integrator works as JMS listener, you need to specify the JMS cache level in the proxy service. See the list of service-level JMS parameters.

parameter.naming_security_principal

string Required

Default: N/A

The JNDI Username.

parameter.naming_security_credential

string

Default: N/A

The JNDI password.

parameter.transactionality

string

Default: N/A

Preferred mode of transactionality. Note that JMS transactions only works with either the Callout mediator or the Call mediator in blocking mode.

parameter.transaction_jndi_name

string Required

Default: N/A

JNDI name to be used to require user transaction.

parameter.cache_user_transaction

boolean

Default: false
Possible Values: "true",or "false"

Specifies whether or not the JMS session should be transacted.

parameter.session_transaction

boolean Required

Default: true
Possible Values: "true", or "false"

Specifies whether or not the JMS session should be transacted.

parameter.session_acknowledgement

string

Default: AUTO_ACKNOWLEDGE

JMS session acknowledgment mode.

parameter.jms_spec_version

string

Default: 1.1

JMS API version.

parameter.username

string Required

Default: N/A

The JMS connection username.

parameter.password

string Required

Default: N/A

The JMS connection password.

parameter.destination

string

Default: N/A

The JNDI name of the destination.

parameter.destination_type

string

Default: N/A
Possible Values: 'queue' or 'topic'

The type of the destination.

parameter.default_reply_destination

string

Default: N/A

The JNDI name of the default reply destination.

parameter.default_destination_type

string

Default: queue
Possible Values: "queue", "topic"

The type of the reply destination.

parameter.message_selector

string

Default: N/A

The message selector implementation.

parameter.subscription_durable

boolean

Default: false
Possible Values: "true",or "false"

Specifies whether or not the connection factory is subscription durable.

parameter.durable_subscriber_client_id

string

Default: N/A

The ClientId parameter when using durable subscriptions.

parameter.durable_subscriber_name

string Required

Default: N/A

The name of the durable subscriber.

parameter.pub_sub_local

boolean

Default: false
Possible Values: "true",or "false"

Specifies whether or not the messages should should be published by the same connection in which the messages were received.

parameter.receive_timeout

integer

Default: 1000

Time to wait for a JMS message during polling. Set this parameter value to a negative integer to wait indefinitely. Set to zero to prevent waiting.

parameter.concurrent_consumer

integer

Default: 1

The number of concurrent threads to be started to consume messages when polling.

parameter.max_concurrent_consumer

integer

Default: 1

The maximum number of concurrent threads to use during polling.

parameter.idle_task_limit

integer

Default: 10

The number of idle runs per thread before it dies out.

parameter.max_message_per_task

integer

Default: -1

The maximum number of successful message receipts per thread.

parameter.initial_reconnection_duration

string

Default: 10000

The initial reconnection attempts duration in milliseconds.

parameter.reconnect_progress_factor

integer

Default: 2

The factor by which the reconnection duration will be increased.

parameter.max_reconnect_duration

integer

Default: 3600000

The maximum reconnection duration in milliseconds.

parameter.reconnect_interval

integer

Default: 3600000

The reconnection interval in milliseconds.

parameter.max_jsm_connection

integer

Default: 10

The maximum cached JMS connections in the producer level.

parameter.max_consumer_error_retrieve_before_delay

integer

Default: 20

The number of retries on consume errors before sleep delay becomes effective.

parameter.consume_error_delay

string

Default: 100

The sleep delay when a consume error is encountered (in milliseconds).

parameter.consume_error_progression

integer

Default: 2.0

The factor by which the consume error retry sleep will be increased.

JMS transport sender (blocking mode)

[[transport.blocking.jms.sender]]

name = "myTopicSender"
parameter.initial_naming_factory = "org.apache.activemq.artemis.jndi.ActiveMQInitialContextFactory"
parameter.provider_url = "tcp://localhost:61616"
parameter.connection_factory_name = "TopicConnectionFactory"
parameter.connection_factory_type = "topic"
parameter.cache_level = "producer"

parameter.naming_security_principal = ""
parameter.naming_security_credential = ""
parameter.transactionality = ""
parameter.transaction_jndi_name = ""
parameter.cache_user_transaction = true
parameter.session_transaction = true
parameter.session_acknowledgement = "AUTO_ACKNOWLEDGE"
parameter.jms_spec_version = "1.1"
parameter.username = ""
parameter.password = ""
parameter.destination = ""
parameter.destination_type = "queue"
parameter.default_reply_destination = ""
parameter.default_destination_type = "queue"
parameter.message_selector = ""
parameter.subscription_durable = false
parameter.durable_subscriber_client_id = ""
parameter.durable_subscriber_name = ""
parameter.pub_sub_local = false
parameter.receive_timeout = "1000"
parameter.concurrent_consumer = 1
parameter.max_concurrent_consumer = 1
parameter.idle_task_limit = 10
parameter.max_message_per_task = -1
parameter.initial_reconnection_duration = "10000"
parameter.reconnect_progress_factor = 2
parameter.max_reconnect_duration = "3600000"
parameter.reconnect_interval = "3600000"
parameter.max_jsm_connection = 10
parameter.max_consumer_error_retrieve_before_delay = 20
parameter.consume_error_delay = "100"
parameter.consume_error_progression = "2.0"
parameter.vender_class_loader = false
[[transport.blocking.jms.sender]] Required

This configuration header groups the parameters that are used to configure the JMS transport sender in blocking mode. You can use the same list of parameters that are available for the non-blocking JMS sender.

JNDI connection factories

[transport.jndi.connection_factories]
QueueConnectionFactory = "amqp://admin:admin@clientID/carbon?brokerlist='tcp://localhost:5675'"
TopicConnectionFactory = "amqp://admin:admin@clientID/carbon?brokerlist='tcp://localhost:5675'"
[transport.jndi.connection_factories] Required

This configuration header groups the parameters used for specifying the JNDI connection factory classes.

TopicConnectionFactory

string

Default: N/A
Possible Values: amqp://admin:admin@clientID/carbon?brokerlist='tcp://localhost:5675'

The connection factory URL for connecting to a JMS queue.

QueueConnectionFactory

string

Default: N/A
Possible Values: amqp://admin:admin@clientID/carbon?brokerlist='tcp://localhost:5675'

The connection factory URL for connecting to a JMS topic.

JNDI queues

[transport.jndi.queue]
JMSMS = "JMSMS"
StockQuotesQueue = "StockQuotesQueue"
[transport.jndi.queue] Required

This configuration header is used to specify the list of queues that are defined your JMS broker. The JNDI name of the queue, and the actual queue name should be specifed as a key-value pair as follows: jndi_name = queue_name.

<jndi_queue_name>

string

Default: N/A
Possible Values: <queue_name>

The jndi queue name and the actual queue name as a key-value pair.

JNDI topics

[transport.jndi.topic]
MyTopic = "example.MyTopic"
[transport.jndi.topic] Required

This configuration header is used to specify the list of topics that are defined your JMS broker. The JNDI name of the topic, and the actual topic name should be specifed as a key-value pair as follows: jndi_name = topic_name.

<jndi_topic_name>

string

Default: N/A
Possible Values: <topic_name>

The jndi queue name and the actual topic name as a key-value pair.

RabbitMQ listener

[[transport.rabbitmq.listener]]

name = "rabbitMQListener"
parameter.hostname = "localhost"
parameter.port = 5672
parameter.username = "guest"
parameter.password = "guest"
parameter.connection_factory = ""
parameter.exchange_name = "amq.direct"
parameter.queue_name = "MyQueue"
parameter.queue_auto_ack = false
parameter.consumer_tag = ""
parameter.channel_consumer_qos = ""
parameter.durable = ""
parameter.queue_exclusive = ""
parameter.queue_auto_delete = ""
parameter.queue_routing_key = ""
parameter.queue_auto_declare = ""
parameter.exchange_auto_declare = ""
parameter.exchange_type = ""
parameter.exchange_durable = ""
parameter.exchange_auto_delete = ""
parameter.message_content_type = ""

parameter.retry_interval = "10s"
parameter.retry_count = 5
parameter.connection_pool_size = 25

parameter.ssl_enable = true
parameter.ssl_version = "SSL"
parameter.keystore_file_name ="$ref{keystore.tls.file_name}"
parameter.keystore_type = "$ref{keystore.tls.type}"
parameter.keystore_password = "$ref{keystore.tls.password}"
parameter.truststore_file_name ="$ref{truststore.file_name}"
parameter.truststore_type = "$ref{truststore.type}"
parameter.truststore_password = "$ref{truststore.password}"
[[transport.rabbitmq.listener]] Required

This configuration header is required if you are configuring WSO2 Micro Integrator to receive messages from a RabbitMQ client. Read more about connecting to RabbitMQ from the Micro Integrator.

name

string Required

Default: true
Possible Values: "true", or "false"

The name of the broker.

parameter.hostname

string Required

Default: localhost

The IP address of the server node.

parameter.port

integer Required

Default: 5672

The port on which the RabbitMQ broker can be accessed.

parameter.username

string Required

Default: guest

The user name for connecting to RabbitMQ broker.

parameter.password

string Required

Default: guest

The password for connecting to the RabbitMQ broker.

parameter.connection_factory

string Required

Default: N/A
Possible Values: org.apache.axis2.transport.rabbitmq.RabbitMQListener

The name of the connection factory.

parameter.exchange_name

string Required

Default: amq.direct

Name of the RabbitMQ exchange to which the queue is bound. Use this parameter instead of rabbitmq.queue.routing.key, if you need to use the default exchange and publish to a queue.

parameter.queue_name

string Required

Default: MyQueue

The queue name to send or consume messages. If you do not specify this parameter, you need to specify the rabbitmq.queue.routing.key parameter.

parameter.queue_auto_ack

boolean Required

Default: false
Possible Values: "true", or "false"

Defines how the message processor sends the acknowledgement when consuming messages recived from the RabbitMQ message store. If you set this to true, the message processor automatically sends the acknowledgement to the messages store as soon as it receives messages from it. This is called an auto acknowledgement.
If you set it to false, the message processor waits until it receives the response from the backend to send the acknowledgement to the mssage store. This is called a client acknowledgement.

parameter.consumer_tag

string Required

Default: N/A

The client­ generated consumer tag to establish context.

parameter.channel_consumer_qos

string Required

Default: N/A

The consumer qos value. You need to specify this parameter only if the rabbitmq.queue.auto.ack parameter is set to false.

parameter.durable

string Required

Default: N/A

Specifies whether the queue should remain declared even if the broker restarts.

parameter.queue_exclusive

string Required

Default: N/A

Specifies whether the queue should be exclusive or should be consumable by other connections.

parameter.queue_auto_delete

string Required

Default: N/A

Specifies whether to keep the queue even if it is not being consumed anymore.

parameter.queue_routing_key

string Required

Default: N/A

The routing key of the queue.

parameter.queue_auto_declare

string Required

Default: N/A

Specifies whether to create queues if they are not present. However, you should set this parameter only if queues are not declared prior on the broker. Setting this parameter in the publish URL to false improves RabbitMQ transport performance.

parameter.exchange_auto_declare

string Required

Default: N/A

Specifies whether to create exchanges if they are not present. However, you should set this parameter only if exchanges are not declared prior on the broker. Setting this parameter in the publish URL to false improves RabbitMQ transport performance.

parameter.exchange_type

string Required

Default: N/A

The type of the exchange.

parameter.exchange_durable

string Required

Default: N/A

Specifies whether the exchange should remain declared even if the broker restarts.

parameter.exchange_auto_delete

string Required

Default: N/A

Specifies whether to keep the exchange even if it is not bound to any queue anymore.

parameter.default_destination_type

string Required

Default: text/xml

The content type of the consumer.
Note that if the content type is specified in the message, this parameter does not override the specified content type.

parameter.retry_interval

string Required

Default: 30000

In the case of network failure or broker shut down, the Micro Integrator will attempt to reconnect a number of times (as sepcified by the parameter.retry_count parameter) with an interval (specified by this parameter) between the retry attempts.

parameter.retry_count

integer Required

Default: 3

In the case of network failure or broker shut down, the Micro Integrator will attempt to reconnect as many times as sepcified by this parameter with an interval (specified by the parameter.retry_interval parameter) between the retry attempts.

parameter.ssl_enable

boolean Required

Default: false
Possible Values: "true", or "false"

Specifies whether or not SSL is enabled for RabbitMQ connection. If you set this to 'true', be sure to update the keystore and trust store parameters given below.

parameter.ssl_version

string Required

Default: SSL

The SSL versions.

parameter.keystore_file_name

string Required

Default: MI_HOME/repository/resources/security/wso2carbon.jks

The path to the keystore file that is used for securing a RabbitMQ connection. By default, the keystore file of the primary keystore is enabled for this purpose.

parameter.keystore_type

string Required

Default: JKS
Possible Values: "JKS","PKCS12"

The type of the keystore file. By default, the keystore type of the primary keystore is enabled for this purpose.

parameter.keystore_password

string Required

Default: wso2carbon

The password of the keystore file that is used for securing a RabbitMQ connection. This keystore password is used when accessing the keys in the keystore. By default, the keystore password of the primary keystore is enabled for this purpose.

parameter.truststore_file_name

string Required

Default: MI_HOME/repository/resources/security/wso2truststore.jks

The path to the keystore file that is used for storing the trusted digital certificates. By default, the product's trust store is configured for this purpose.

parameter.truststore_type

string Required

Default: JKS
Possible Values: "JKS","PKCS12"

The type of the keystore file that is used as the trust store. By default, the product's trust store is configured for this purpose.

parameter.truststore_password

string Required

Default: wso2carbon

The password of the keystore file that is used as the trust store. By default, the product's trust store is configured for this purpose.

RabbitMQ sender

[[transport.rabbitmq.sender]]

name = "rabbitMQSender"
parameter.hostname = "localhost"
parameter.port = 5672
parameter.username = "guest"
parameter.password = "guest"
parameter.exchange_name = "amq.direct"
parameter.routing_key = "MyQueue"
parameter.reply_to_name = ""
parameter.queue_delivery_mode = 1 # 1/2
parameter.exchange_type = ""
parameter.queue_name = "MyQueue"
parameter.queue_durable = false
parameter.queue_exclusive = false
parameter.queue_auto_delete = false
parameter.exchange_durable = ""
parameter.queue_auto_declare = ""
parameter.exchange_auto_declare = ""
parameter.connection_pool_size = 10
[[transport.rabbitmq.sender]] Required

This configuration header is required if you are configuring WSO2 Micro Integrator to send messages to a RabbitMQ client. Read more about connecting to RabbitMQ from the Micro Integrator.

name

string Required

Default: rabbitMQSender

The name of the broker.

parameter.hostname

string Required

Default: localhost

The IP address of the server node.

parameter.port

integer Required

Default: 5672

The port on which the RabbitMQ broker can be accessed.

parameter.username

string Required

Default: guest

The user name for connecting to RabbitMQ broker.

parameter.password

string Required

Default: guest

The password for connecting to the RabbitMQ broker.

parameter.exchange_name

string Required

Default: amq.direct

Name of the RabbitMQ exchange to which the queue is bound. Use this parameter instead of rabbitmq.queue.routing.key, if you need to use the default exchange and publish to a queue.

parameter.routing_key

string Required

Default: MyQueue

The routing key of the queue.

parameter.queue_name

string Required

Default: MyQueue

The queue name to send or consume messages. If you do not specify this parameter, you need to specify the rabbitmq.queue.routing.key parameter.

parameter.reply_to_name

string Required

Default: N/A

The name of the call back­ queue. Specify this parameter if you expect a response.

parameter.queue_delivery_mode

integer Required

Default: 1
Possible Values: persistent

The delivery mode of the queue. Possible values are Non­-persistent and Persistent.

parameter.exchange_type

string Required

Default: N/A

The type of the exchange.

parameter.queue_name

string Required

Default: MyQueue

The queue name to send or consume messages. If you do not specify this parameter, you need to specify the rabbitmq.queue.routing.key parameter.

parameter.queue_durable

boolean Required

Default: false
Possible Values: "true", or "false"

Whether the queue should remain declared even if the broker restarts. The default value is false.

parameter.queue_exclusive

boolean Required

Default: false
Possible Values: "true", or "false"

Whether the queue should be exclusive or should be consumable by other connections. The default value is false.

parameter.queue_auto_delete

boolean Required

Default: false
Possible Values: "true", or "false"

Specifies whether to keep the queue even if it is not being consumed anymore.

parameter.exchange_durable

string Required

Default: N/A

Specifies whether the exchange should remain declared even if the broker restarts.

parameter.queue_auto_declare

string Required

Default: N/A

Whether to keep the queue even if it is not being consumed anymore. The default value is false.

parameter.exchange_auto_declare

string Required

Default: N/A

Whether to create queues if they are not present. However, you should set this parameter only if queues are not declared prior on the broker. Setting this parameter in the publish URL to false improves RabbitMQ transport performance.

FIX transport

[transport.fix]

listener.enable = false
listener.parameter.customParameter = ""
sender.enable = false
sender.parameter.customParameter = ""
[transport.fix] Required

This configuration header groups the parameters that configure the Micro Integrator to communicate through the FIX transport.

listener.enabled

boolean Required

Default: false
Possible Values: "true", or "false"

The parameter for enabling the FIX transport listener.

sender.enabled

boolean Required

Default: false
Possible Values: "true", or "false"

The parameter for enabling the FIX transport sender.

MQTT transport

[transport.mqtt]

listener.enable = false
listener.hostname = "$ref{server.hostname}"
listener.connection_factory = "mqttConFactory"
listener.server_port = 1883
listener.client_id = "client-id-1234"
listener.topic_name = "esb.test"

# not reqired parameter list
listener.subscription_qos = 0
listener.session_clean = false
listener.enable_ssl = false
listener.subscription_username = ""
listener.subscription_password = ""
listener.temporary_store_directory = ""
listener.blocking_sender = false
listener.connect_type = "text/plain"
listener.message_retained = false

listener.parameter.customParameter = ""

sender.enable = false
sender.parameter.customParameter = ""
[transport.mqtt] Required

This configuration header groups the parameters that configure the Micro Integrator to communicate through the MQTT transport.

listener.enabled

boolean

Default: false
Possible Values: "true", or "false"

The parameter for enabling the MQTT transport listener.

listener.hostname

string Required

Default: $ref{server.hostname}

The name of the host. By default, the hostname of the Micro Integrator server is used.

listener.connection_factory

string Required

Default: N/A

The connection factory URL for connecting to a JMS topic.

listener.server_port

integer Required

Default: N/A
Possible Values: '1883', or '1885'

The port ID.

listener.client_id

string

Default: N/A

The client ID.

listener.topic_name

string

Default: N/A

The name of the topic.

listener.parameter.customParameter

string

Default: N/A

Replace 'customParameter' with a required parameter name.

sender.enable

boolean Required

Default: false
Possible Values: "true", or "false"

The parameter for enabling the MQTT transport sender.

sender.parameter.customParameter

string

Default: false

Replace 'customParameter' with a required parameter name.

SAP transport

[transport.sap]

listener.idoc.enable = true
listener.bapi.enable = true
listener.idoc.class = "org.wso2.carbon.transports.sap.SAPTransportListener"
listener.idoc.parameter.customParameter = ""
listener.bapi.class = "org.wso2.carbon.transports.sap.SAPTransportListener"
listener.bapi.parameter.customParameter = ""
sender.idoc.enable = true
sender.bapi.enable = true
sender.idoc.class = "org.wso2.carbon.transports.sap.SAPTransportSender"
sender.idoc.parameter.customParameter = ""
sender.bapi.class = "org.wso2.carbon.transports.sap.SAPTransportSender"
sender.bapi.parameter.customParameter = ""
[transport.sap]

This configuration header groups the parameters that configure the Micro Integrator to communicate with SAP.

listener.idoc.enabled

boolean Required

Default: false
Possible Values: "true", or "false"

The parameter for enabling SAP idoc transport listener.

listener.bapi.enabled

boolean Required

Default: false
Possible Values: "true", or "false"

The parameter for enabling SAP bapi transport listener.

listener.idoc.class

string Required

Default: org.wso2.carbon.transports.sap.SAPTransportListener

The class that implements the SAP transport listener for the Sap IDoc libary.

listener.bapi.class

string Required

Default: org.wso2.carbon.transports.sap.SAPTransportListener

The class that implements the SAP transport listener for the SAP BAPI library.

sender.idoc.enabled

boolean Required

Default: false
Possible Values: "true", or "false"

The parameter for enabling the SAP idoc transport sender.

sender.bapi.enabled

boolean Required

Default: false
Possible Values: "true", or "false"

The parameter for enabling the SAP bapi transport sender.

sender.idoc.class

string Required

Default: org.wso2.carbon.transports.sap.SAPTransportSender

The class that implements the SAP transport sender for the Sap IDoc library.

sender.bapi.class

string Required

Default: org.wso2.carbon.transports.sap.SAPTransportSender

The class that implements the SAP transport listener for the Sap BAPI library.

MSMQ transport

[transport.msmq]

listener.enable = false
listener.hostname = "$ref{server.hostname}"
listener.parameter.customParameter = ""

sender.enable = false
sender.parameter.customParameter = ""
[transport.msmq] Required

This configuration header groups the parameters that configure the Micro Integrator to communicate through the MSMQ transport.

listener.enabled

boolean Required

Default: false
Possible Values: "true", or "false"

The parameter for enabling MSMQ transport listener.

sender.enable

boolean Required

Default: false
Possible Values: "true", or "false"

The parameter for enabling MSMQ transport sender.

listener.hostname

string Required

Default: $ref{server.hostname}
Possible Values: "true", or "false"

The hostname.

TCP transport (non-blocking mode)

[transport.tcp]

listener.enable = false
listener.port = 8000
listener.hostname = "$ref{server.hostname}"
listener.content_type = ["application/xml"]
listener.response_client = true
listener.parameter.customParameter = ""

sender.enable = true
sender.parameter.customParameter = ""
[transport.tcp] Required

This configuration header groups the parameters that configure the Micro Integrator to communicate through the TCP transport. Note that the list of parameters given below can be used for the non-blocking transport as well as the blocking transport.

listener.enabled

boolean Required

Default: false
Possible Values: "true", or "false"

The parameter for enabling the TCP transport listener.

listener.port

integer Required

Default: 8000
Possible Values: A positive integer less than 65535.

The port on which the TCP server should listen for incoming messages.

listener.hostname

string Required

Default: $ref{server.hostname}

The host name of the server to be displayed in WSDLs, etc.

listener.content_type

string Required

Default: N/A
Possible Values: 'application/xml', 'application/json', or 'text/html'

The content type of the input message.

listener.response_client

boolean

Default: true
Possible Values: "true", or "false"

Whether or not the client needs to get the response.

sender.enabled

boolean Required

Default: true
Possible Values: "true", or "false"

The parameter for enabling the TCP transport sender.

TCP transport (blocking mode)

[transport.blocking.tcp]

listener.enable = false
listener.port = 8000
listener.hostname = "$ref{server.hostname}"
listener.content_type = ["application/xml"]
listener.response_client = true
listener.parameter.customParameter = ""

sender.enable = false
sender.parameter.customParameter = ""
[transport.blocking.tcp] Required

This configuration header groups the parameters that are used to configure the TCP transport in blocking mode. You can use the same list of parameters that are available for the non-blocking TCP transport.

Websocket transport

[transport.ws]

sender.enable = false
sender.outflow_dispatch_sequence = "outflowDispatchSeq"
sender.outflow_dispatch_fault_sequence = "outflowFaultSeq"      
sender.parameter.customParameter = ""
[transport.ws] Required

This configuration header groups the parameters that configure the Micro Integrator to communicate through the Websocket transport.

sender.enable

boolean Required

Default: false
Possible Values: "true", or "false"

The parameter for enabling the websocket transport listener.

sender.outflow_dispatch_sequence

string

Default: outflowDispatchSeq

The sequence for the back-end to client mediation.

sender.outflow_dispatch_fault_sequence

string

Default: outflowFaultSeq

The fault sequence for the back-end to client mediation path.

sender.parameter.customParameter

string

Default: N/A

Replave 'customParameter' with required parameter name.

Secure Websocket transport

[transport.wss]

sender.enable = false
sender.outflow_dispatch_sequence = "outflowDispatchSeq"
sender.outflow_dispatch_fault_sequence = "outflowFaultSeq"
sender.parameter.customParameter = ""

sender.truststore_location = "$ref{truststore.file_name}"
sender.truststore_password = "$ref{truststore.password}"
[transport.wss] Required

This configuration header groups the parameters that configure the Micro Integrator to communicate through the secured Websocket transport.

sender.enable

boolean Required

Default: false
Possible Values: "true", or "false"

The parameter for enabling the websocket secured transport sender.

sender.outflow_dispatch_sequence

string

Default: outflowDispatchSeq

The sequence for the back-end to client mediation.

sender.outflow_dispatch_fault_sequence

string

Default: outflowFaultSeq

The fault sequence for the back-end to client mediation path.

sender.truststore_location

string Required

Default: MI_HOME/repository/resources/security/wso2truststore.jks

The file path to the truststore that stores the trusted digital certificates for websocket use cases. By default, the product's trust store is configured for this purpose.

sender.truststore_password

string Required

Default: wso2carbon

The password of the keystore file that is used as the trust store.

sender.parameter.customParameter

string Required

Default: N/A

Replave 'customParameter' with required parameter name.

UDP transport (non-blocking mode)

[transport.udp]

listener.enable = false
listener.parameter.customParameter = ""

sender.enable =false               
sender.parameter.customParameter = ""
[transport.udp] Required

This configuration header groups the parameters that configure the Micro Integrator to communicate through the UDP transport. Note that the list of parameters given below can be used for the non-blocking transport as well as the blocking transport.

listener.enabled

boolean Required

Default: false
Possible Values: "true", or "false"

The parameter for enabling the UDP transport listener.

sender.enabled

boolean Required

Default: false
Possible Values: "true", or "false"

The parameter for enabling the UDP transport sender.

UDP transport (blocking mode)

[transport.blocking.udp]

listener.enable = false
listener.parameter.customParameter = ""

sender.enable = false        
sender.parameter.customParameter = ""
[transport.blocking.tcp] Required

This configuration header groups the parameters that are used to configure the UDP transport in blocking mode. You can use the same list of parameters that are available for the non-blocking UDP transport.

Message Mediation

[mediation]
synapse.core_threads = 20
synapse.max_threads = 100
synapse.threads_queue_length = 10

synapse.global_timeout_interval = "120000ms"

synapse.enable_xpath_dom_failover=true
synapse.temp_data_chunk_size=3072

synapse.command_debugger_port=9005
synapse.event_debugger_port=9006

synapse.script_mediator_pool_size=15
synapse.enable_xml_nil=false
synapse.disable_auto_primitive_regex = "^-?(0|[1-9][0-9]*)(\\.[0-9]+)?([eE][+-]?[0-9]+)?$"
synapse.disable_custom_replace_regex = "@@@"
synapse.enable_namespace_declaration = false
synapse.build_valid_nc_name = false
synapse.enable_auto_primitive = false
synapse.json_out_auto_array = false
synapse.preserve_namespace_on_xml_to_json=false
flow.statistics.enable=false
flow.statistics.capture_all=false
statistics.enable_clean=true
statistics.clean_interval = "1000ms"
flow.statistics.tracer.collect_payloads=false
flow.statistics.tracer.collect_properties=false
inbound.core_threads = 20
inbound.max_threads = 100
[mediation] Required

This configuration header groups the parameters used for tuning the mediation process (Synapse engine) of the Micro Integrator. These parameters are mainly used when mediators such as Iterate and Clone (which uses the internal thread pools) are used.

synapse.core_threads

integer

Default: 20

The initial number of synapse threads in the pool. This parameter is applicable only if the Iterate and Clone mediators are used to handle a higher load. These mediators use a thread pool to create new threads when processing messages and sending messages in parallal. You can configure the size of the thread pool by this parameter. The number of threads specified via this parameter should be increased as required to balance an increased load. Increasing the value specified for this parameter results in higher performance of the Iterate and Clone mediators.

synapse.max_threads

integer

Default: 100

The maximum number of synapse threads in the pool. This parameter is applicable only if the Iterate and Clone mediators are used to handle a higher load. The number of threads specified for this parameter should be increased as required to balance an increased load.

synapse.threads_queue_length

integer

Default: 10

The length of the queue that is used to hold the runnable tasks that are to be executed by the pool. This parameter is applicable only if the Iterate and Clone mediators are used to handle a higher load.
You can specify a finite value as the queue length by giving any positive number. If this parameter is set to (-1) it means that the task queue length is infinite. If the queue length is finite, there can be situations where requests are rejected when the task queue is full and all the cores are occupied. If the queue length is infinite, and if some thread locking happens, the server can go out of memory. Therefore, you need to decide on an optimal value based on the actual load.

synapse.global_timeout_interval

integer

Default: 120000

The maximum number of milliseconds within which a response for the request should be received. A response that arrives after the specified number of seconds cannot be correlated with the request. Hence, a warning will be logged and the request will be dropped. This parameter is also referred to as the time-out handler.

synapse.enable_xpath_dom_failover

boolean

Default: true
Possible Values: "true","false"

If this parameter is set to true , the Micro Integrator can switch to xpath 2.0. This parameter is 'false' by default since xpath 2.0 evaluations can cause performance degradation. The Micro Integrator uses the Saxon Home Edition when implementing XPATH 2.0 functionalities, and thus supports all the functions that are shipped with it. For more information on the supported functions, see the Saxon Documentation.

synapse.temp_data_chunk_size

integer

Default: 3072

The message size that can be processed by the Micro Integrator.

synapse.script_mediator_pool_size

integer

Default: 15

When using externally referenced scripts, this parameter specifies the size of the script engine pool that should be used per script mediator. The script engines from this pool are used for externally referenced script execution where updates to external scripts on an engine currently in use may otherwise not be thread safe. It is recommended to keep this value at a reasonable size since there will be a pool per externally referenced script.

synapse.preserve_namespace_on_xml_to_json

boolean

Default: false
Possible Values: "true","false"

Preserves the namespace declarations in the JSON output during XML to JSON message transformations.

flow.statistics.enable

boolean

Default: false
Possible Values: "true","false"

Set this property to true and enable statistics for the required integration artifact to record information such as the following:

  • The time spent on each mediator.
  • The time spent on processing each message.
  • The fault count of a single message flow.

flow.statistics.capture_all

boolean

Default: false
Possible Values: "true","false"

Set this property to 'true' and set the flow.statistics.enable property also to 'true'. This will enable mediation statistics for all the integration artifacts by default. If you set this property to 'false', you need to set the flow.statistics.enable property to 'true' and manually enable statistics for the required integration artifact.

statistics.enable_clean

boolean

Default: true
Possible Values: "true","false"

If this parameter is set to true, all the existing statistics would be cleared before processing a request. This is recommended if you want to increase the processing speed.

stat.tracer.collect_payloads

boolean

Default: false
Possible Values: "true","false"

Set this property to true and enable tracing for the required integration artifact to record the message payload before and after the message mediation performed by individual mediators.

stat.tracer.collect_mediation_properties

boolean

Default: false
Possible Values: "true","false"

Set this property to true and enable tracing for the required integration artifact to record the following information:

  • Message context properties.
  • Message transport-scope properties.

Top