Topic
  • 3 replies
  • Latest Post - ‏2012-01-10T22:28:08Z by rwengr
rwengr
rwengr
3 Posts

Pinned topic wasce startup error: TransformerFactoryConfigurationError

‏2012-01-10T06:26:25Z |
I just downloaded wasce 3.0 and installed it on Fedora Core 14. I verified the integrity of the download with md5sum.

I already have a JDK installed at /usr/java/jdk1.6.0_29.

I have been using NetBeans 7.0 for 2 months with this JDK. All is OK

When I start wasce from the shell prompt I get an error while it is loading module uddi-tomcat I get a TransformerFactoryConfiguration error:

Provider net.sf.saxon.TransformerFactoryImpl not found

After much research I decided to use the following approach as first step to a solution
1. Let wasce scripts build the CLASSPATH and JAVA_HOME in case my defintion was causing a conflict.
2. I made WASCE_JAVA_HOME point to my JDK
3. Add saxon9he.jar to wasce lib

I wasn't expecting a complete solution, but I wasn't expecting the class error. I modified geronimo.sh to echo the CLASSPATH before it runs java. The CLASSPATH it creates is:

/opt/IBM/WebSphere/AppServerCommunityEdition/lib/collector-tool-api.jar:/opt/IBM/WebSphere/AppServerCommunityEdition/lib/collector-tool.jar:/opt/IBM/WebSphere/AppServerCommunityEdition/lib/commons-cli.jar:/opt/IBM/WebSphere/AppServerCommunityEdition/lib/geronimo-cli.jar:/opt/IBM/WebSphere/AppServerCommunityEdition/lib/geronimo-hook.jar:/opt/IBM/WebSphere/AppServerCommunityEdition/lib/geronimo-main.jar:/opt/IBM/WebSphere/AppServerCommunityEdition/lib/geronimo-rmi-loader.jar:/opt/IBM/WebSphere/AppServerCommunityEdition/lib/karaf-jaas-boot.jar:/opt/IBM/WebSphere/AppServerCommunityEdition/lib/pax-logging-api.jar:/opt/IBM/WebSphere/AppServerCommunityEdition/lib/saxon9he.jar

saxon9he.jar has the net.sf.saxon.TransformerFactoryImpl class.

The environment printed at startup is:

Using GERONIMO_HOME: /opt/IBM/WebSphere/AppServerCommunityEdition
Using GERONIMO_TMPDIR: var/temp
Using JRE_HOME: /usr/java/jdk1.6.0_29/jre

I had Tomcat5 running on this machine, but it is completely disabled. I removed the startup script from rc5.d. No environment variables reference it.

I don't understand why the uddi-tomcat module cannot find the class it is looking for, but this is my first attempt to run wasce.

PLEASE ADVISE OR REFER
Updated on 2012-01-10T22:28:08Z at 2012-01-10T22:28:08Z by rwengr
  • SystemAdmin
    SystemAdmin
    2233 Posts

    Re: wasce startup error: TransformerFactoryConfigurationError

    ‏2012-01-10T16:04:54Z  
    I installed WAS CE 3.0 on Fedora 14 with the jdk1.6.0_29 as you did, it works for me.
    I have no Tomact5 installed on Fedora, can you uninstall Tomcat to make sure your installation env is clean then try start WAS CE again?
  • rwengr
    rwengr
    3 Posts

    Re: wasce startup error: TransformerFactoryConfigurationError

    ‏2012-01-10T19:46:56Z  
    I installed WAS CE 3.0 on Fedora 14 with the jdk1.6.0_29 as you did, it works for me.
    I have no Tomact5 installed on Fedora, can you uninstall Tomcat to make sure your installation env is clean then try start WAS CE again?
    Thanks for your input.

    I researched this issue further. It is a JAXP problem in the FactoryFinder class so it may be more of a JDK problem than WASCE.

    The following code works on my system:

    TransformerFactory tf = TransformerFactory.newInstance();

    JAXP does a fallback lookup and finds the class it needs.

    However, the following DOES NOT WORK even though saxon.jar is in my classpath

    TransformerFactory tf = TransformerFactory.newInstance("net.sf.saxon.TransformerFactoryImpl", loader);

    I looked at source code and JAXP does not do a fallback lookup. I assume the Tomcat 7 developers or IBM wants to specify the saxon parser because they cannot guarantee quality if user selects an XML parser they do not use.

    This issue is the root cause of my problem.
  • rwengr
    rwengr
    3 Posts

    Re: wasce startup error: TransformerFactoryConfigurationError

    ‏2012-01-10T22:28:08Z  
    • rwengr
    • ‏2012-01-10T19:46:56Z
    Thanks for your input.

    I researched this issue further. It is a JAXP problem in the FactoryFinder class so it may be more of a JDK problem than WASCE.

    The following code works on my system:

    TransformerFactory tf = TransformerFactory.newInstance();

    JAXP does a fallback lookup and finds the class it needs.

    However, the following DOES NOT WORK even though saxon.jar is in my classpath

    TransformerFactory tf = TransformerFactory.newInstance("net.sf.saxon.TransformerFactoryImpl", loader);

    I looked at source code and JAXP does not do a fallback lookup. I assume the Tomcat 7 developers or IBM wants to specify the saxon parser because they cannot guarantee quality if user selects an XML parser they do not use.

    This issue is the root cause of my problem.
    I downloaded the SDK bundle and used it to replace everything in my AppServerCommunityEdition directory and the problem went away !!