AGLogout fails with 500 internal error after upgrading to 4.01 HF1

  • 7015531
  • 14-Aug-2014
  • 14-Aug-2014

Environment

NetIQ Access Manager 4.0
NetIQ Access Manager 4.0 Support Pack 1 applied
NetIQ Access Manager 4.0 Access Gateway

Situation

Access Manager 4.0 Support Pack 1 setup and working fine - users can access protected resources behind the Access Gateway (AG) after having first authenticated to the Identity Server (IDP). After applying Hot Fix 1 for 4.0.1, users could continue to access protected resources without issues but some users reported problems logging out using AGLogout. Symptoms would range from getting blank pages, to pages showing the following exception:

 Everything works fine but when a
logout is issued via AGLogout, the users get a 500 internal error with the
following exception:

HTTP Status 500 - javax.xml.parsers.FactoryConfigurationError: Provider
org.apache.xerces.jaxp.DocumentBuilderFactoryImpl not found

--------------------------------------------------------------------------------

type Exception report

message javax.xml.parsers.FactoryConfigurationError: Provider
org.apache.xerces.jaxp.DocumentBuilderFactoryImpl not found

description The server encountered an internal error that prevented it from
fulfilling this request.

exception 

javax.servlet.ServletException: javax.xml.parsers.FactoryConfigurationError:
Provider org.apache.xerces.jaxp.DocumentBuilderFactoryImpl not found
 org.apache.jasper.servlet.JspServlet.service(JspServlet.java:343)
 javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
 com.novell.nidp.servlets.filters.jsp.NIDPJspFilter.doFilter(y:2914)


root cause 

javax.xml.parsers.FactoryConfigurationError: Provider
org.apache.xerces.jaxp.DocumentBuilderFactoryImpl not found

javax.xml.parsers.DocumentBuilderFactory.newInstance(DocumentBuilderFactory.java:127)
 org.apache.jasper.xmlparser.ParserUtils.parseXMLDocument(ParserUtils.java:115)
 org.apache.jasper.compiler.JspConfig.processWebDotXml(JspConfig.java:95)
 org.apache.jasper.compiler.JspConfig.init(JspConfig.java:243)
 org.apache.jasper.compiler.JspConfig.findJspProperty(JspConfig.java:302)
 org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:114)
 org.apache.jasper.compiler.Compiler.compile(Compiler.java:373)
 org.apache.jasper.compiler.Compiler.compile(Compiler.java:353)
 org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)

org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:657)

org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)
 org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
 org.apache.jasp...


Resolution

There's a timing issue where the required classes are not initialised correctly at startup. The workaround for now is to simply copy the xercesImpl.jar from /var/opt/novell/tomcat7/webapps/nesp/Web-INF/lib to /var/opt/novell/tomcat7/lib

NetIQ Engineering is aware of the issue and it will be fixed in next patch.