Using the FTP Binding Component

Invoking Messages in FTP Binding and Synchronous Request-Response Service

The FTP protocol is used for transporting messages between service consumer and service provider.

Service Engines can exchange messages through WSDL services that have FTP Binding Component extensibility elements. The extensibility elements of the FTP Binding Components can be defined based on nature of operation or binding mechanism.

Message Exchange

The figure illustrates a full message path including request (IN-ROUTE) and response (OUT-ROUTE). As illustrated, FTP Binding Component uses directories on FTP server as message persistence where service consumers and service providers exchange messages. During the implementation the following assumptions are made to facilitate message transportation in a FTP context.

When the FTP Binding Component acts as a JBI consumer, it puts a request (for certain service) and polls a response using the FTP protocol.

When the FTP Binding Component acts as a JBI provider, it uses the FTP protocol to route JBI normalized messages to a specified destination.

FTP Binding Component provides the following mode of operation. Each mode has two “flavors” corresponding to the Binding Schemes used. They are,

  1. ftp:message

      For Binding Schema “Message”

    1. Inbound One Way — Poll Message

    2. Inbound Request Response Messaging — Poll Request Message and Put Response Back (can be correlated and non-correlated)

      Depends on the extensibility elements' attribute “messageCorrelate”

    3. Outbound One Way — Put Message

    4. Outbound Request Response Messaging — Put Request Message and Poll Response Back (can be correlated and non-correlated)

      Depends on the extensibility elements' attribute “messageCorrelate”

    5. On Demand Get Message — Get Message

  2. ftp:transfer

      For Binding Schema “Transfer”

    1. Inbound One Way — Receive Request

    2. Inbound Request Response Transferring — Receive Request and Send Response Back (can be correlated and non-correlated)

      Depends on the extensibility elements' attribute “messageCorrelate”

    3. Outbound One Way — Send Request

    4. Outbound Request Response Transferring — Send Request and Receive Response Back (can be correlated and non-correlated)

      Depends on the extensibility elements' attribute “messageCorrelate”

    5. On Demand Receive Transferring — Receive Transfer


Note –

The service consumption can be synchronous, where the WS consumer posts the message to a location agreed between consumer and provider. It polls the response mutually from a location agreed between the consumer and the provider. The service consumption can be asynchronous where the WS consumer posts the message to a location agreed between the consumer and the provider. Later, it leaves a separate response to facilitate the poller to poll from a mutually agreed location.


Correlating a Request-Response

There are two methods used to correlate a request with a corresponding response message.

  1. Using the BPEL correlate set method.

  2. Synchronized Request/Response Processing: This is enabled using ftp:message —> messageCorrelate (if you are using the “Message” ftpbc binding scheme). If you are using the “Transfer” ftpbc binding scheme, ftp:transfer —> messageCorrelate.