Contact Us 1-800-596-4880

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.

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.

Table 1. Attributes of <inbound-endpoint…​>
Name Type Required 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.

responseTimeout-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.

mimeType

string

no

The mime type, e.g. text/plain or application/json

exchange-pattern

one-way/request-response

no

Table 2. Child Elements of <inbound-endpoint…​>
Name Cardinality Description

annotations

0..1

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.

Outbound endpoint

An outbound endpoint sends messages via the associated transport. As with global endpoints, each transport implements its own outbound endpoint element.

Table 3. Attributes of <outbound-endpoint…​>
Name Type Required Default Description

name

name (no space)

no

Identifies the endpoint in the registry. There is not 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.

mimeType

string

no

The mime type, e.g. text/plain or application/json

exchange-pattern

one-way/request-response

no

Table 4. Child Elements of <outbound-endpoint…​>
Name Cardinality Description

annotations

0..1

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.

customer-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.

Table 5. Attributes of <endpoint…​>
Name Type Required Default Description

name

name (no space)

no

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-ref

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.

responseTranformer-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.

mimeType

string

no

The mime type, e.g. text/plain or application/json

exchange-pattern

one-way/request-response

no

Table 6. Child Elements of <endpoint…​>
Name Cardinality Description

annotations

0..1

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.

customer-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.