Version conflicts between JAVA-shipped and LANSA-shipped XALAN files

Date: 17 September, 2007
Product/Release: LANSA Integrator
Abstract: Version conflicts between JAVA-shipped and LANSA-shipped XALAN files
Submitted By: LANSA Technical Support


There is a potential conflict between the JDK-shipped XALAN related files and LANSA-shipped XALAN files (JSMXALAN.JAR). This depends the version and vendor specific JDK you are using.

Some Symptoms of the conflicts include:

When using compiled style sheets an IllegalAccessError exception like the following may be encountered.

java.lang.IllegalAccessError: try to access org/apache/xml/dtm/ref/DTMDefaultBaseIterators$InternalAxisIteratorBase from class org/apache/xalan/xsltc/dom/SAXImpl$NamespaceWildcardIterator

The best way to confirm this is to check the classpath.txt file generated as part of the JSM trace.

If the Classpath.txt shows the there are duplicate class files related to XALAN (be it in the LANSA provided JSMXALAN.JAR file or the JDK shipped files) then most likely the conflict between 2 different versions of the same class file has caused the problem.


The solution is to copy the JSMXalan.jar file in the Endorsed folder.