[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now


Provider org.apache.xalan.processor.TransformerFactoryImpl not found

Posted on 2006-05-15
Medium Priority
Last Modified: 2008-01-09
Hi guys,

I am using DWR on my J2EE project. It works fine in my machine but my clients report that there is a problem (exception). Below is the stacktrace. After google them, I found that DWR requires xalan.jar. Will adding the xalan.jar to the classpath solve this problem? I can't really test it as it works fine in my machine.

Is there any other cause for this error?

----- Root Cause -----
javax.xml.transform.TransformerFactoryConfigurationError: Provider org.apache.xalan.processor.TransformerFactoryImpl not found
      at javax.xml.transform.TransformerFactory.newInstance(Unknown Source)
      at uk.ltd.getahead.dwr.convert.DOMConverter.<init>(DOMConverter.java:157)
      at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
      at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
      at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
      at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
      at java.lang.Class.newInstance0(Class.java:350)
      at java.lang.Class.newInstance(Class.java:303)
      at uk.ltd.getahead.dwr.impl.DefaultConverterManager.addConverterType(DefaultConverterManager.java:54)
      at uk.ltd.getahead.dwr.impl.DefaultConfiguration.loadConverter(DefaultConfiguration.java:165)
      at uk.ltd.getahead.dwr.impl.DefaultConfiguration.loadInits(DefaultConfiguration.java:119)
      at uk.ltd.getahead.dwr.impl.DefaultConfiguration.addConfig(DefaultConfiguration.java:86)
      at uk.ltd.getahead.dwr.impl.DefaultConfiguration.addConfig(DefaultConfiguration.java:66)
      at uk.ltd.getahead.dwr.AbstractDWRServlet.init(AbstractDWRServlet.java:110)
      at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1029)
      at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:687)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:144)
      at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
      at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
      at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
      at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
      at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
      at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
      at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
      at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
      at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
      at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
      at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
      at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
      at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
      at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
      at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
      at java.lang.Thread.run(Thread.java:595)

Question by:suprapto45
  • 4
  • 3
  • 2
LVL 30

Accepted Solution

Mayank S earned 1600 total points
ID: 16682495
If you can open the JAR file and check that it contains the TransformerFactoryImpl class at a relative location of org/apache/xalan/processor, it should work, unless something else is wrong.
LVL 16

Author Comment

ID: 16682505
Yep, it is in xalan.jar. So it should work, shouldn't it?

LVL 30

Expert Comment

by:Mayank S
ID: 16682513
I would hope so, unless, like I said - something else is wrong (like maybe it needs some other classes too, etc)
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

LVL 16

Author Comment

ID: 16682526
That's cool.

Well, the client will only test it by tommorow so please be patient :)

LVL 30

Expert Comment

by:Mayank S
ID: 16682536
Sure, no problem ;-)

>> It works fine in my machine

Just check your class-path and see what JARs you have there (also in your JRE) - the difference will tell you the ones which can be needed. You should typically do a test deployment on a system having exactly the same configuration as the target machine too (which the client will have).
LVL 14

Assisted Solution

sudhakar_koundinya earned 400 total points
ID: 16684091
I don't know  JSP engine at your client's place. But If they are using Tomcat, I suggest you to ask them to put these files under <tomcat>/common/endorsed folder

xml-apis.jar or xmlParserAPIs.jar

And I think this is same for other JSP engines also (With some different directory structure).

Sudhakar Chavali
LVL 16

Author Comment

ID: 16695641

Thanks mayankeagle and sudhakar_koundinya

LVL 30

Expert Comment

by:Mayank S
ID: 16696052

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Java Flight Recorder and Java Mission Control together create a complete tool chain to continuously collect low level and detailed runtime information enabling after-the-fact incident analysis. Java Flight Recorder is a profiling and event collectio…
Java functions are among the best things for programmers to work with as Java sites can be very easy to read and prepare. Java especially simplifies many processes in the coding industry as it helps integrate many forms of technology and different d…
Viewers learn about the “for” loop and how it works in Java. By comparing it to the while loop learned before, viewers can make the transition easily. You will learn about the formatting of the for loop as we write a program that prints even numbers…
Video by: Michael
Viewers learn about how to reduce the potential repetitiveness of coding in main by developing methods to perform specific tasks for their program. Additionally, objects are introduced for the purpose of learning how to call methods in Java. Define …
Suggested Courses
Course of the Month18 days, 21 hours left to enroll

834 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question