Generating IFX RqUID in Oracle ESB

Interactive Financial eXchange (IFX) is an XML based inter bank communication standard used by a number of banks around the world. You can find out more about IFX at the IFX Forum. An IFX message must have a request identifier called RqUID. A client uses RqUID to uniquely identify a request message. It is a universally unique ID (UUID) that is generated by the client and is used to correlate responses with requests.

Often with integration exercises the interfaces do not match. Take the simple case where one system must send a request to another system but the request structures are defined differently for both. One example is when a system sends a customer search message which must be provisioned by an IFX system. The customer search message has to be tranformed into a CustInqRq message for the IFX system. This can be facilitated through the ESB. The transformation performed by the ESB can be used to generate field values that are not supplied in the initial request.

To include an IFX RqUID using Oracle ESB you can take advantage of the XPath Extension Function orcl:generate-guid() and format it accordingly like this:

<xsl:variable name="rquid"
substring($guid,21, 12))" />

This will create a variable called rquid with the required XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX format. You can now assign this variable to the relevant RqUID fields in the transformation. e.g.

Note: If there are mutlitple requests to be sent at the same time then redefine the variable each time it is needed. Otherwise just defined it once at the beginning of the transformation.