Unable to load XML parsing jar files, because of entries in default JVMOptions.txt file that point to non existent jar files.

Document ID : KB000051527
Last Modified Date : 14/02/2018
Show Technical Document Details

Description:

There are some jar files and settings in the Policy Server JVMOptions.txt for XML parsing that are not provided or enabled until the Siteminder option pack is installed. If you wish to use XML parsing without the options pack you need to edit the JVMOptions.txt file and remove these entries.

Solution:

The client had developed a Custom Authentication Scheme that used XML parsing, but had difficulty getting the XML libraries to load and run. After investigation, the Custom Auth Scheme can only load if the following bootclasspath entries in JVMOptions.txt were removed.

          -Xbootclasspath/p:D:/CA/siteminder/bin/thirdparty/xercesImpl.jar;D:/CA/siteminder/bin/thirdparty/xml-apis.jar
          -Djavax.xml.parsers.DocumentBuilderFactory=org.apache.xerces.jaxp.DocumentBuilderFactoryImpl
          -Djavax.xml.parsers.SAXParserFactory=org.apache.xerces.jaxp.SAXParserFactoryImpl
          -Dorg.apache.xerces.xni.parser.XMLParserConfiguration=org.apache.xerces.parsers.XML11Configuration
          -Dorg.xml.sax.driver=org.apache.xerces.parsers.SAXParser

Although those files exist in the standard Siteminder Policy Server distribution, the actual jar files are only installed if you installed the SM Policy Server Options pack. If you need to use XML processing then you can :

  1. Install the Siteminder Options Pack.
  2. Delete these bootclasspath parameters
  3. Install the relevant jar files in the locations shown in the JVMOptions.txt file from the Xerces Apache distribution site.

The client in this case chose option c) and deleted the bootclasspath parameters then their custom auth scheme loaded and worked correctly.