Generic Connector
The Generic connector allows for a wide array of configuration options by allowing the user to code the protocol into the address of the endpoint.
Mule supports numerous protocols which can be configured as endpoints. Many, but not all, of the protocols included with Mule are already configured as endpoint-based connectors and are available as building blocks in the connectors category of the palette. These include FTP, HTTP, and Ajax, for example. The Generic Endpoint can also be used to specify these or additional endpoints. This is done by entering the full address in Address field, including the protocol designation within the address.
Installation
You can install a connector in Anypoint Studio using the instructions in To Install a Connector from Anypoint Exchange.
Configuration Reference - Inbound Endpoint
An inbound endpoint receives messages via the associated transport. As with global endpoints, each transport implements its own inbound endpoint element.
Attributes of <inbound-endpoint…>
Name | Type | Required | Default | Description |
---|---|---|---|---|
name |
name (no spaces) |
no |
Identifies the endpoint in the registry. There is no need to set the 'name' attribute on inbound or outbound endpoints, only on global endpoints. |
|
ref |
string |
no |
A reference to a global endpoint, which is used as a template to construct this endpoint. A template fixes the address (protocol, path, host, etc.), and may specify initial values for various properties, but further properties can be defined locally (as long as they do not change the address in any way). |
|
address |
string |
no |
The generic address for this endpoint. If this attribute is used, the protocol must be specified as part of the URI. Alternatively, most transports provide their own attributes for specifying the address (path, host, etc.). Note that the address attribute cannot be combined with 'ref' or with the transport-provided alternative attributes. |
|
responseTimeout |
integer |
no |
The timeout for a response if making a synchronous endpoint call |
|
encoding |
string |
no |
String encoding used for messages. |
|
connector-ref |
string |
no |
The name of the connector associated with this endpoint. This must be specified if more than one connector is defined for this transport. |
|
transformer-refs |
list of names |
no |
A list of the transformers that will be applied (in order) to the message before it is delivered to the component. |
|
responseTransformer-refs |
list of names |
no |
A list of the transformers that will be applied (in order) to the synchronous response before it is returned via the transport. |
|
disableTransportTransformer |
boolean |
no |
Don’t use the default inbound/outbound/response transformer which corresponds to this endpoint’s transport, if any. |
|
mime type |
string |
no |
The mime type, e.g. text/plain or application/json |
|
exchange-pattern |
enumeration |
no |
Child Elements of <inbound-endpoint…>
Name | Cardinality | Description |
---|---|---|
abstract-reconnection-strategy |
0..1 |
A placeholder for a reconnection strategy element. Reconnection strategies define how Mule should attempt to handle a connection failure. |
abstract-multi-transaction |
0..1 |
A placeholder for multi-transaction elements. Multi-transactions allow a series of operations to be grouped together spanning different transports, e.g. JMS and JDBC, but without the overhead of XA. The trade-off is that XA reliability guarantees aren’t available, and services must be ready to handle duplicates. This is very similar to a 1.5 PC concept. EE-only feature. |
response |
0..1 |
|
abstract-redelivery-policy |
0..1 |
A placeholder for a redelivery policy. Redelivery policies determine what action to take when the same message is redelivered repeatedly. |
abstract-transaction |
0..1 |
A placeholder for transaction elements. Transactions allow a series of operations to be grouped together. |
abstract-transformer |
0..1 |
A placeholder for transformer elements. Transformers convert message payloads. |
abstract-filter |
0..1 |
A placeholder for filter elements, which control which messages are handled. |
abstract-security-filter |
0..1 |
A placeholder for security filter elements, which control access to the system. |
abstract-intercepting-message-processor |
0..1 |
A placeholder for intercepting router elements. |
abstract-observer-message-processor |
0..1 |
A placeholder for message processors that observe the message but do not mutate it used for example for logging. |
processor |
0..1 |
A reference to a message processor defined elsewhere. |
custom-processor |
0..1 |
|
abstract-mixed-content-message-processor |
0..1 |
A placeholder for message processor elements. |
property |
0..* |
Sets a Mule property. This is a name/value pair that can be set on components, services, etc., and which provide a generic way of configuring the system. Typically, you shouldn’t need to use a generic property like this, since almost all functionality is exposed via dedicated elements. However, it can be useful in configuring obscure or overlooked options and in configuring transports from the generic endpoint elements. |
properties |
0..1 |
A map of Mule properties. |
Configuration Reference - Outbound Endpoint
An outbound endpoint sends messages via the associated transport. As with global endpoints, each transport implements its own outbound endpoint element.
Attributes of <outbound-endpoint…>
Name | Type | Required | Default | Description |
---|---|---|---|---|
name |
name (no spaces) |
no |
Identifies the endpoint in the registry. There is no need to set the 'name' attribute on inbound or outbound endpoints, only on global endpoints. |
|
ref |
string |
no |
A reference to a global endpoint, which is used as a template to construct this endpoint. A template fixes the address (protocol, path, host, etc.), and may specify initial values for various properties, but further properties can be defined locally (as long as they do not change the address in any way). |
|
address |
string |
no |
The generic address for this endpoint. If this attribute is used, the protocol must be specified as part of the URI. Alternatively, most transports provide their own attributes for specifying the address (path, host, etc.). Note that the address attribute cannot be combined with 'ref' or with the transport-provided alternative attributes. |
|
responseTimeout |
integer |
no |
The timeout for a response if making a synchronous endpoint call |
|
encoding |
string |
no |
String encoding used for messages. |
|
connector-ref |
string |
no |
The name of the connector associated with this endpoint. This must be specified if more than one connector is defined for this transport. |
|
transformer-refs |
list of names |
no |
A list of the transformers that will be applied (in order) to the message before it is delivered to the component. |
|
responseTransformer-refs |
list of names |
no |
A list of the transformers that will be applied (in order) to the synchronous response before it is returned via the transport. |
|
disableTransportTransformer |
boolean |
no |
Don’t use the default inbound/outbound/response transformer which corresponds to this endpoint’s transport, if any. |
|
mime type |
string |
no |
The mime type, e.g. text/plain or application/json |
|
exchange-pattern |
enumeration |
no |
Child Elements of <outbound-endpoint…>
Name | Cardinality | Description |
---|---|---|
abstract-reconnection-strategy |
0..1 |
A placeholder for a reconnection strategy element. Reconnection strategies define how Mule should attempt to handle a connection failure. |
abstract-multi-transaction |
0..1 |
A placeholder for multi-transaction elements. Multi-transactions allow a series of operations to be grouped together spanning different transports, e.g. JMS and JDBC, but without the overhead of XA. The trade-off is that XA reliability guarantees aren’t available, and services must be ready to handle duplicates. This is very similar to a 1.5 PC concept. EE-only feature. |
response |
0..1 |
|
abstract-redelivery-policy |
0..1 |
A placeholder for a redelivery policy. Redelivery policies determine what action to take when the same message is redelivered repeatedly. |
abstract-transaction |
0..1 |
A placeholder for transaction elements. Transactions allow a series of operations to be grouped together. |
abstract-transformer |
0..1 |
A placeholder for transformer elements. Transformers convert message payloads. |
abstract-filter |
0..1 |
A placeholder for filter elements, which control which messages are handled. |
abstract-security-filter |
0..1 |
A placeholder for security filter elements, which control access to the system. |
abstract-intercepting-message-processor |
0..1 |
A placeholder for intercepting router elements. |
abstract-observer-message-processor |
0..1 |
A placeholder for message processors that observe the message but do not mutate it used for example for logging. |
processor |
0..1 |
A reference to a message processor defined elsewhere. |
custom-processor |
0..1 |
|
abstract-mixed-content-message-processor |
0..1 |
A placeholder for message processor elements. |
property |
0..* |
Sets a Mule property. This is a name/value pair that can be set on components, services, etc., and which provide a generic way of configuring the system. Typically, you shouldn’t need to use a generic property like this, since almost all functionality is exposed via dedicated elements. However, it can be useful in configuring obscure or overlooked options and in configuring transports from the generic endpoint elements. |
properties |
0..1 |
A map of Mule properties. |
Global Configuration Reference
In XML only, you can also define a global generic endpoint and reference it from specific endpoints within your flows.
Endpoint
A global endpoint, which acts as a template that can be used to construct an inbound or outbound endpoint elsewhere in the configuration by referencing the global endpoint name. Each transport implements its own endpoint element, with a more friendly syntax, but this generic element can be used with any transport by supplying the correct address URI. For example, "vm://foo" describes a VM transport endpoint.
Attributes of <endpoint…>
Name | Type | Required | Default | Description |
---|---|---|---|---|
name |
name (no spaces) |
yes |
Identifies the endpoint so that other elements can reference it. This name can also be referenced in the MuleClient. |
|
ref |
string |
no |
A reference to a global endpoint, which is used as a template to construct this endpoint. A template fixes the address (protocol, path, host, etc.), and may specify initial values for various properties, but further properties can be defined locally (as long as they do not change the address in any way). |
|
address |
string |
no |
The generic address for this endpoint. If this attribute is used, the protocol must be specified as part of the URI. Alternatively, most transports provide their own attributes for specifying the address (path, host, etc.). Note that the address attribute cannot be combined with 'ref' or with the transport-provided alternative attributes. |
|
responseTimeout |
integer |
no |
The timeout for a response if making a synchronous endpoint call |
|
encoding |
string |
no |
String encoding used for messages. |
|
connector-ref |
string |
no |
The name of the connector associated with this endpoint. This must be specified if more than one connector is defined for this transport. |
|
transformer-refs |
list of names |
no |
A list of the transformers that will be applied (in order) to the message before it is delivered to the component. |
|
responseTransformer-refs |
list of names |
no |
A list of the transformers that will be applied (in order) to the synchronous response before it is returned via the transport. |
|
disableTransportTransformer |
boolean |
no |
Don’t use the default inbound/outbound/response transformer which corresponds to this endpoint’s transport, if any. |
|
mime type |
string |
no |
The mime type, e.g. text/plain or application/json |
|
exchange-pattern |
enumeration |
no |
Child Elements of <endpoint…>
Name | Cardinality | Description |
---|---|---|
abstract-reconnection-strategy |
0..1 |
A placeholder for a reconnection strategy element. Reconnection strategies define how Mule should attempt to handle a connection failure. |
abstract-multi-transaction |
0..1 |
A placeholder for multi-transaction elements. Multi-transactions allow a series of operations to be grouped together spanning different transports, e.g. JMS and JDBC, but without the overhead of XA. The trade-off is that XA reliability guarantees aren’t available, and services must be ready to handle duplicates. This is very similar to a 1.5 PC concept. EE-only feature. |
response |
0..1 |
|
abstract-redelivery-policy |
0..1 |
A placeholder for a redelivery policy. Redelivery policies determine what action to take when the same message is redelivered repeatedly. |
abstract-transaction |
0..1 |
A placeholder for transaction elements. Transactions allow a series of operations to be grouped together. |
abstract-transformer |
0..1 |
A placeholder for transformer elements. Transformers convert message payloads. |
abstract-filter |
0..1 |
A placeholder for filter elements, which control which messages are handled. |
abstract-security-filter |
0..1 |
A placeholder for security filter elements, which control access to the system. |
abstract-intercepting-message-processor |
0..1 |
A placeholder for intercepting router elements. |
abstract-observer-message-processor |
0..1 |
A placeholder for message processors that observe the message but do not mutate it used for example for logging. |
processor |
0..1 |
A reference to a message processor defined elsewhere. |
custom-processor |
0..1 |
|
abstract-mixed-content-message-processor |
0..1 |
A placeholder for message processor elements. |
property |
0..* |
Sets a Mule property. This is a name/value pair that can be set on components, services, etc., and which provide a generic way of configuring the system. Typically, you shouldn’t need to use a generic property like this, since almost all functionality is exposed via dedicated elements. However, it can be useful in configuring obscure or overlooked options and in configuring transports from the generic endpoint elements. |
properties |
0..1 |
A map of Mule properties. |