Skip to Content
avatar image
Former Member

Deployment problem SAXException

Hello.

I've got a problem deploying my applications to the server.

It doesn't happen all the times, but when it starts happening I have to restart the server to can deploy again.

This is the trace. I try to deploy the Calculator sample application and I get this:

05/07/19 15:38:35 - ***********************************************************

05/07/19 15:38:36 - Start updating EAR file...

05/07/19 15:38:37 - EAR file updated successfully for 551ms.

05/07/19 15:38:37 - Start updating...

05/07/19 15:38:40 - EAR file uploaded to server for 280ms.

05/07/19 15:38:44 - ERROR: Not updated. Deploy Service returned ERROR:

java.rmi.RemoteException: Cannot deploy application sap.com/CalculadoraEAR..

Reason: Exception during generation.; nested exception is:

com.sap.engine.services.ejb.exceptions.deployment.EJBFileGenerationException: Exception during generation.

at com.sap.engine.services.deploy.server.DeployServiceImpl.update(DeployServiceImpl.java:602)

at com.sap.engine.services.deploy.server.DeployServiceImplp4_Skel.dispatch(DeployServiceImplp4_Skel.java:1234)

at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:268)

at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:165)

at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:102)

at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:37)

at com.sap.engine.core.cluster.impl6.session.UnorderedChannel$MessageRunner.run(UnorderedChannel.java:71)

at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)

at java.security.AccessController.doPrivileged(Native Method)

at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:94)

at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:140)

Caused by: com.sap.engine.services.ejb.exceptions.deployment.EJBFileGenerationException: Exception during generation.

at com.sap.engine.services.ejb.deploy.DeployAdmin.processXSLT(DeployAdmin.java:906)

at com.sap.engine.services.ejb.deploy.DeployAdmin.deploySingleJar(DeployAdmin.java:589)

at com.sap.engine.services.ejb.deploy.DeployAdmin.generate(DeployAdmin.java:263)

at com.sap.engine.services.ejb.EJBAdmin.deploy(EJBAdmin.java:2154)

at com.sap.engine.services.deploy.server.application.DeploymentTransaction.makeComponents(DeploymentTransaction.java:975)

at com.sap.engine.services.deploy.server.application.DeploymentTransaction.begin(DeploymentTransaction.java:586)

at com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhasesOnOneServer(ApplicationTransaction.java:301)

at com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhases(ApplicationTransaction.java:332)

at com.sap.engine.services.deploy.server.DeployServiceImpl.makeGlobalTransaction(DeployServiceImpl.java:2945)

at com.sap.engine.services.deploy.server.DeployServiceImpl.update(DeployServiceImpl.java:587)

... 10 more

Caused by: javax.xml.transform.TransformerConfigurationException: javax.xml.transform.TransformerConfigurationException: javax.xml.transform.TransformerException: org.xml.sax.SAXException: javax.xml.parsers.FactoryConfigurationError: Provider org.apache.xerces.jaxp.SAXParserFactoryImpl not found

at org.apache.xalan.processor.TransformerFactoryImpl.newTransformer(TransformerFactoryImpl.java:805)

at com.sap.engine.services.ejb.deploy.DeployAdmin.processXSLT(DeployAdmin.java:899)

... 19 more

Caused by: javax.xml.transform.TransformerConfigurationException: javax.xml.transform.TransformerException: org.xml.sax.SAXException: javax.xml.parsers.FactoryConfigurationError: Provider org.apache.xerces.jaxp.SAXParserFactoryImpl not found

at org.apache.xalan.processor.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:984)

at org.apache.xalan.processor.TransformerFactoryImpl.newTransformer(TransformerFactoryImpl.java:788)

... 20 more

Caused by: javax.xml.transform.TransformerException: org.xml.sax.SAXException: javax.xml.parsers.FactoryConfigurationError: Provider org.apache.xerces.jaxp.SAXParserFactoryImpl not found

at org.apache.xalan.processor.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:980)

... 21 more

Caused by: org.xml.sax.SAXException: javax.xml.parsers.FactoryConfigurationError: Provider org.apache.xerces.jaxp.SAXParserFactoryImpl not found

at org.apache.xalan.processor.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:947)

... 21 more

For detailed information see the log file of Deploy Service.

05/07/19 15:38:44 - ***********************************************************

Jul 19, 2005 3:38:44 PM Info: End of log messages of the target system.

Jul 19, 2005 3:38:44 PM Info: ***** End of SAP J2EE Engine Deployment (J2EE Application) *****

Jul 19, 2005 3:38:44 PM Error: Execution of deployment action for "CalculadoraEAR" aborted:

Caught exception during application deployment from SAP J2EE Engine's deploy service:

java.rmi.RemoteException: Cannot deploy application sap.com/CalculadoraEAR..

Reason: Exception during generation.; nested exception is:

com.sap.engine.services.ejb.exceptions.deployment.EJBFileGenerationException: Exception during generation.

(message ID: com.sap.sdm.serverext.servertype.inqmy.extern.EngineApplOnlineDeployerImpl.performAction(DeploymentActionTypes).REMEXC)

Jul 19, 2005 3:38:45 PM Error: Deployment NOT successful for CalculadoraEAR

It seems like a classpath problem. I don't know why tries to use the class org.apache.xerces.jaxp.SAXParserFactoryImpl.

This class is in the xerces.jar, but this jar is deployed inside other application that I'm migrating from jboss. I think it must use the SAXParserFactoyImpl that comes inside the server lib sapxmltoolkit.jar.

Please, could anybody help me?

Carlos

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

2 Answers

  • Best Answer
    Jul 19, 2005 at 05:49 PM

    Hi Carlos,

    The problem here is not with the xerces.jar in the other application, it's that org.apache.xalan.processor.TransformerFactoryImpl is used instead of the sapxmltoolkit TransformerFactory:

    <b>at org.apache.xalan.processor.TransformerFactoryImpl.newTransformer(TransformerFactoryImpl.java:805)

    at com.sap.engine.services.ejb.deploy.DeployAdmin.processXSLT(DeployAdmin.java:899)</b>

    There can be a few reasons for this. According to the documentation of the <i>TransformerFactory.newInstance()</i> method, it uses the following ordered lookup procedure to determine the TransformerFactory implementation class to load:

    <i> - Use the javax.xml.transform.TransformerFactory system property.

    - Use the properties file "lib/jaxp.properties" in the JRE directory. This configuration file is in standard java.util.Properties format and contains the fully qualified name of the implementation class with the key being the system property defined above.

    - Use the Services API (as detailed in the JAR specification), if available, to determine the classname. The Services API will look for a classname in the file META-INF/services/javax.xml.transform.TransformerFactory in jars available to the runtime.

    - Platform default TransformerFactory instance.</i>

    So you should check whether you have specified by some of the above means the javax.xml.transform.TransformerFactory to be org.apache.xalan.processor.TransformerFactoryImpl.

    Likewise, it could be that your application has access to the xalan.jar (either referencing or containing it) and thus enabling the org.apache.xalan.processor.TransformerFactoryImpl class to be loaded instead of the sapxmltoolkit TransformerFactory implementation.

    Hope that helps!

    Vladimir

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member Former Member

      Hi Carlos

      I am also getting the same problem .

      Caused by: javax.xml.parsers.FactoryConfigurationError: Provider org.apache.xerces.jaxp.SAXParserFactoryImpl not found

      at javax.xml.parsers.SAXParserFactory.newInstance(SAXParserFactory.java:93)

      at com.sap.dictionary.database.dbs.XmlExtractor.createXmlExtractor(XmlExtractor.java:49)

      at com.sap.dictionary.database.dbs.XmlExtractor.<init>(XmlExtractor.java:30)

      at com.sap.dictionary.database.catalog.DbGeneralStructure.<init>(DbGeneralStructure.java:84)

      at com.sap.dictionary.database.catalog.XmlCatalogReader.getTable(XmlCatalogReader.java:90)

      at com.sap.sql.catalog.impl.BufferedCatalogReader.getTable(BufferedCatalogReader.java:126)

      at com.sap.sql.catalog.impl.BufferedCatalogReader.getTable(BufferedCatalogReader.java:89)

      at com.sap.sql.sqlparser.CheckColAndTabVisitor.checkTabs(CheckColAndTabVisitor.java:247)

      at com.sap.sql.sqlparser.CheckColAndTabVisitor.performCatalogChecks(CheckColAndTabVisitor.java:170)

      at com.sap.sql.sqlparser.CommonSQLStatement.checkSemantics(CommonSQLStatement.java:183)

      at com.sap.sql.jdbc.common.StatementAnalyzerImpl.check(StatementAnalyzerImpl.java:42)

      at com.sap.sql.jdbc.common.StatementAnalyzerImpl.preprepareStatement(StatementAnalyzerImpl.java:126)

      at com.sap.sql.jdbc.common.StatementAnalyzerImpl.preprepareStatement(StatementAnalyzerImpl.java:109)

      at com.sap.sql.jdbc.common.CommonPreparedStatement.<init>(CommonPreparedStatement.java:155)

      at com.sap.sql.jdbc.common.CommonConnectionImpl.prepareStatement(CommonConnectionImpl.java:314)

      at com.sap.engine.services.dbpool.cci.ConnectionHandle.prepareStatement(ConnectionHandle.java:81)

      at com.sap.engine.services.failover.db.SessionPersistentStorageImpl.deleteAllSessions(SessionPersistentStorageImpl.java:280)

      at com.sap.engine.services.failover.storage.DatabasePersistentStorage.deleteAllSessions(DatabasePersistentStorage.java:151)

      at com.sap.engine.services.servlets_jsp.server.container.RemoveAction.remove(RemoveAction.java:68)

      at com.sap.engine.services.servlets_jsp.server.container.WebContainer.makeUpdate(WebContainer.java:218)

      at com.sap.engine.services.deploy.server.application.UpdateTransaction.makeComponents(UpdateTransaction.java:376)

      ... 16 more

      But we dont have any code in the init method. We are using xerces ,dom4j , saaj and soap jar in the web-inf /lib.

      While deployment it throws the above error .Any idea why so ?

      regards

      sujesh

  • avatar image
    Former Member
    Jul 19, 2005 at 04:36 PM

    Hello again.

    I deleted the application, restarted the server and now I can deploy the calculator example.

    I'm sure that it's a classpath problem. These are the files in the ear file of the application.

    bcprov.jar

    cglib.jar

    commons-collections.jar

    commons-lang.jar

    commons-logging.jar

    crimson.jar

    dom4j.jar

    hibernate.jar

    ISicres-Server.jar

    isicres.war

    jaxp.jar

    jconfig.jar

    jmxri.jar

    jta.jar

    log4j.jar

    META-INF

    odmg.jar

    oscache.jar

    trove.jar

    xalan.jar

    xerces.jar

    Why when I deploy this application, the server tries to use a class from xerces.jar for parsing a deployment descriptor of another application?

    Please, help me.

    Carlos

    Add comment
    10|10000 characters needed characters exceeded