How to run the example

This mx-mt translation will use the sample files to demonstrate the generation of SWIFT MT199 or MT299 message output from a CBPR pacs.002.001.10 XML message.

The cbprJnodesConfigIBM.tar.gz file is available either in IBM_financialpaymentsplus_vn.n.n.n.zip or in UIProjectImports directory.

Extract from cbprJnodesConfigIBM.tar.gz file.
  • jnodes0.jar
The following jars needs to be copied from <TX_install_dir>/jars:
  • jackson-core-n.n.n.jar
  • jackson-annotations-n.n.n.jar
  • jackson-databind-n.n.n.jar

Or visit https://repo1.maven.org/maven2/com/fasterxml/jackson/core/ for download.

For the non Docker environments:
  • Copy jars to <TX_install_dir>/extjar.
For the Docker environments
  • Docker cp jnodes0.jar tx-server:/opt/ibm/wsdtx/libs/.
  • Restart the design server, i.e., docker restart tx-server.

This example generates MT199 or MT299 based on the <OrgnlMsgNmId> which could be pacs.008 or MT103 (will generate MT199) or pacs.009 or MT202 or MT205 (will generate MT299).

Also, may generate stopTranslation.json log file to report the translation failure due to the pre-conversion checks:

Either <OrgnlMsgNmId> is not one of these ("pacs.008", "MT103", "pacs.009", "MT202", "MT205") or <TxSts> "transaction status" is not "RJCT".
  1. Import the cbpr_translation.zip project into the Design Server.
  2. Open the cbpr_translation project in Design Server and view the flow cbpr_pacs002_mtn99. It utilizes the following nodes:
    1. Map Nodes:
      • MX deenvelope

        Runs map cbpr2724_deenvelope which sets the flow variable mxMsgId to 'pacs.002.001.10' or 'camt.054.001.08' based on the input. Also, distribute the input data into two: Application header and document.

      • set BAH

        Runs map cbpr2001_bah_pacs002_set which set up the flow variables for the Application Header.

      • serialize data

        Runs map cbpr2000_pacs002_serialize which set flow variable mxMsgId to '199' or '299' based on input and the flow variable stopTranslation if required.

      • set mtn99

        Runs map cbpr2002_pacs002_mtn99_jexit, invokes JEXIT call to java class located in jnodes0.jar and returns with flow variables.

      • trx_log

        Runs map cbpr2501_mxmt_setvarlog, process the flow variables by extracting log as key.

      • build mtn99

        Runs map cbpr2503_pacs_002_mtn99 which builds the output MT199/MT299 message fields based on the values set in flow variables.

    2. Decision Nodes:
      • pre-conv chk

        This checks the flow variable stopTranslation to decide if further translation is required.

    3. Log Nodes:
      • FAILURE

        It creates stopTranslation.json log file in case of failure during translation.

      • MT199

        Archive the mt199.out message generated from translation.

      • MT299

        Archive the mt299.out message generated from translation.

      • audit_log

        It creates the audit.log.json output file.

    4. Route Nodes:
      • route MT

        Checks the flow variable mtMsgId. If set to '199', go to MT199 Log node or if set to '299', go to MT299 Log node.

  3. In Design Server, create a package that contains the input files and one flow. The maps will automatically be included during deployment of the package onto the runtime server.