IBM Sterling Transformation Extender

Sterling Transformation Extender

Come for answers, stay for best practices. All we're missing is you.


#Sterling
#Supplychain
 View Only

XML validation issue with IIB and ITX due to XML4C library differences

  • 1.  XML validation issue with IIB and ITX due to XML4C library differences

    Posted 02/04/16 08:35 AM

    Originally posted by: paul.brett


    Using the IBM Integration Broker (IIB) with the IBM Transformation Extender (ITX), you may occasionally get XML validation errors, which cannot be replicated in a standalone ITX environment.

    This is because one of the products is using a different set of XML4C libraries.

     

    An example scenario:

     

    IIB installed at /opt/IBM/mqsi/8.0.0.0
    ITX installed at /opt/IBM/dtx841

     

    In the IIB product's XML4C library directory (/opt/IBM/mqsi/8.0.0.0/xml4c/lib) you'll find the XML4C libraries:


       0 lrwxrwxrwx    1 root     system           22 Jun 19 2013  libXML4CMessages.a -> libXML4CMessages58.0.a
      96 -rwxr-xr-x    1 root     system        95073 Dec 14 2011  libXML4CMessages58.0.a
       0 lrwxrwxrwx    1 root     system           22 Jun 19 2013  libXML4CMessages58.a -> libXML4CMessages58.0.a
       0 lrwxrwxrwx    1 root     system           14 Jun 19 2013  libxml4c.a -> libxml4c58.0.a
    8460 -rwxr-xr-x    1 root     system      8662824 Dec 14 2011  libxml4c58.0.a
       0 lrwxrwxrwx    1 root     system           14 Jun 19 2013  libxml4c58.a -> libxml4c58.0.a

     

    And in the ITX product's XML4C library directory (/opt/IBM/dtx841/libs) you'll find the XML4C libraries:

     

       0 lrwxrwxrwx    1 brett1pa aim              60 Jun 10 2015  libXML4CMessages.a -> /opt/IBM/dtx841/libs/libXML4CMessages58.5.a
     100 -rwxrwxrwx    4 brett1pa aim           95421 Jun 12 2013  libXML4CMessages58.5.a
       0 lrwxrwxrwx    1 brett1pa aim              60 Jun 10 2015  libXML4CMessages58.a -> /opt/IBM/dtx841/libs/libXML4CMessages58.5.a
       0 lrwxrwxrwx    1 brett1pa aim              52 Jun 10 2015  libxml4c.a -> /opt/IBM/dtx841/libs/libxml4c58.5.a
    8776 -rwxrwxrwx    4 brett1pa aim         8942388 Jun 12 2013  libxml4c58.5.a
       0 lrwxrwxrwx    1 brett1pa aim              52 Jun 10 2015  libxml4c58.a -> /opt/IBM/dtx841/libs/libxml4c58.5.a

     

    You can see that ITX is using the 58.5 version of XML4c and IIB is using 58.0, and this is the primary cause of the XML validation failures in ITX when run under the control of IIB.

     

    To resolve this situation, you can create/modify some softlinks, so that IIB picks-up the XML4C libraries directly from the ITX installation instead:

    cd /opt/IBM/mqsi/8.0.0.0/xml4c/lib
    ln -sf /opt/IBM/dtx841/libs/libXML4CMessages58.5.a libXML4CMessages.a
    ln -sf /opt/IBM/dtx841/libs/libXML4CMessages58.5.a libXML4CMessages58.a
    ln -sf /opt/IBM/dtx841/libs/libXML4CMessages58.5.a libXML4CMessages58.5.a
    ln -sf /opt/IBM/dtx841/libs/libxml4c58.5.a ibxml4c.a
    ln -sf /opt/IBM/dtx841/libs/libxml4c58.5.a ibxml4c.58.a
    ln -sf /opt/IBM/dtx841/libs/libxml4c58.5.a ibxml4c.58.5.a
    

     

    After the links have been created/modified, you should then have these libraires in the IIB XML4C library directory:

     

       0 lrwxrwxrwx    1 root     system           22 Jun 19 2013 libXML4CMessages.a -> /opt/IBM/dtx841/libs/libXML4CMessages58.5.a
      96 -rwxr-xr-x    1 root     system        95073 Dec 14 2011 libXML4CMessages58.0.a
      96 -rwxr-xr-x    1 root     system           22 Jun 19 2013 libXML4CMessages58.5.a -> /opt/IBM/dtx841/libs/libXML4CMessages58.5.a
       0 lrwxrwxrwx    1 root     system           22 Jun 19 2013 libXML4CMessages58.a -> /opt/IBM/dtx841/libs/libXML4CMessages58.5.a
       0 lrwxrwxrwx    1 root     system           14 Jun 19 2013  libxml4c.a -> /opt/IBM/dtx841/libs/libxml4c58.5.a
    8460 -rwxr-xr-x    1 root     system      8662824 Dec 14 2011  libxml4c58.0.a
    8736 -rwxr-xr-x    1 root     system           22 Jun 19 2013  libxml4c58.5.a -> /opt/IBM/dtx841/libs/libxml4c58.5.a
       0 lrwxrwxrwx    1 root     system           14 Jun 19 2013  libxml4c58.a -> /opt/IBM/dtx841/libs/libxml4c58.5.a

     

    ...and a re-start of the Broker should then correctly validate the XML in the ITX map, under the control of IIB.

     

    Thank-you.

    Paul

    Follow me on Twitter


    #IBMSterlingTransformationExtender
    #IBM-Websphere-Transformation-Extender
    #DataExchange