# Google Analytics

Weblogic 12.2.1.0.0 deployment issues

Compatible Application Servers

Oracle WebLogic Server is no longer supported as an application server for the iGrafx Platform as of version 17.7. Oracle WebLogic Server 12c does not support the 17.7 prerequisite of Java 11. Please note, even though Oracle WebLogic Server 14 is slated to support Java 11, the iGrafx Platform will no longer support any version of Oracle WebLogic Server as of version 17.7.

Problem

The deployment of the iGrafx Platform ear fails with a message similar to:

<Error> <javax.enterprise.resource.webcontainer.jsf.config> <BEA-000000> <Critical error during deployment: 
javax.xml.parsers.FactoryConfigurationError: Provider for class javax.xml.parsers.DocumentBuilderFactory cannot be created 
at javax.xml.parsers.FactoryFinder.findServiceProvider(FactoryFinder.java:311) 
at javax.xml.parsers.FactoryFinder.find(FactoryFinder.java:267) 
at javax.xml.parsers.DocumentBuilderFactory.newInstance(DocumentBuilderFactory.java:120) 
at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:400) 
at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:227) 
Truncated. see log file for complete stacktrace 
Caused By: java.lang.RuntimeException: Provider for class javax.xml.parsers.DocumentBuilderFactory cannot be created 
at javax.xml.parsers.FactoryFinder.findServiceProvider(FactoryFinder.java:308) 
at javax.xml.parsers.FactoryFinder.find(FactoryFinder.java:267) 
at javax.xml.parsers.DocumentBuilderFactory.newInstance(DocumentBuilderFactory.java:120) 
at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:400) 
at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:227) 
Truncated. see log file for complete stacktrace 
Caused By: java.util.ServiceConfigurationError: javax.xml.parsers.DocumentBuilderFactory: Provider org.apache.xerces.jaxp.DocumentBuilderFactoryImpl not a subtype 
at java.util.ServiceLoader.fail(ServiceLoader.java:239) 
at java.util.ServiceLoader.access$300(ServiceLoader.java:185) 
at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:376) 
at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404) 
at java.util.ServiceLoader$1.next(ServiceLoader.java:480) 
Truncated. see log file for complete stacktrace 
> 

Cause

  1. Oracle introduced a classloader issue in JAXP/XML processing when moving from version 12.1 to 12.2 
  2. Weblogic has a bug that prevents proper Spring Application Context loading when no Servlet XML file is present. Weblogic released a patch for this, but upgrading to the newest version is the safer way.
    Further explanation on the cause can be found here: http://stackoverflow.com/questions/34525967/spring-boot-exception-could-not-open-servletcontext-resource-web-inf-dispatch and here https://github.com/spring-projects/spring-boot/issues/5549
    There is a support ticket with Oracle that is not publicly available that was reported and they fixed it with the newest Weblogic 12c R2 release.

Solution

  1. Because of the classloader issues the following files will need to be removed from the iGrafxWebApp.war file that is located inside the EAR file:
    WEB-INF/lib/xercesImpl-2.10.0.jar
    WEB-INF/lib/xml-apis-1.4.01.jar
    WEB-INF/lib/xmlsec-1.5.8.jar
  2. You need to upgrade the Weblogic installation to 12.2.1.2.0