Solved

XSL transform Tomact

Posted on 2002-04-03
11
253 Views
Last Modified: 2013-11-23
0
Comment
Question by:bqchristie
11 Comments
 
LVL 35

Expert Comment

by:girionis
ID: 6916541
 What is the question?
0
 

Author Comment

by:bqchristie
ID: 6916571
I have a Jsp custom tag (code below).  When the tag is called i get an error saying that the class:
 javax.xml.transform.Source cannot be found.

in the WEB-APPS/myapp/WEB-INF/lib directory i have xalan.jar xml-apis.jar xerces.jar and xercesImpl.jar

what else is it looking for?  could there be a conflict? am i missing something?



import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
import java.io.*;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
import org.jdom.output.XMLOutputter;
import org.jdom.output.DOMOutputter;
import org.jdom.transform.JDOMSource;
import org.w3c.dom.Document;
import java.io.File;
import java.io.PipedInputStream;
import java.io.PipedOutputStream;
import javax.xml.transform.Result;
import javax.xml.transform.Source;
import org.jdom.transform.JDOMSource;
import org.jdom.transform.JDOMResult;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.Templates;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.stream.StreamSource;
import javax.xml.transform.stream.StreamResult;
import java.io.*;
import java.util.*;
import com.dceg.actions.*;
import com.dceg.utils.*;
import java.sql.*;

public class RenderTable extends TagSupport{
  private NavigableList list = null;
  public int doStartTag() {
    try {
      NavigableList list = (NavigableList)pageContext.getSession().getAttribute(Constants.GAME_LIST);
      try {
        DOMOutputter outputter = new DOMOutputter();
        Document domXML = outputter.output(list.getXml());
        Source xmlSource = new DOMSource(domXML);
        Document domXSL = outputter.output(list.getXsl());
        Source xslSource = new DOMSource(domXSL);
        StreamResult xmlResult = new StreamResult(pageContext.getOut());
        TransformerFactory tFactory = TransformerFactory.newInstance();
        Transformer transformer = tFactory.newTransformer(xslSource);
        transformer.transform(xmlSource, xmlResult);
        transformer.clearParameters();
      }catch(Exception e){
        e.printStackTrace();
      }
    } catch(Exception e) {
      e.printStackTrace();
    }

    return (TagSupport.EVAL_PAGE);
  }
  /**
   *
   */
  public static void main(String[] args) {
  }
}
0
 
LVL 35

Accepted Solution

by:
girionis earned 200 total points
ID: 6916596
 If it can find the rest fo the classes in the package (e.g. javax.xml.transform.Result) and not the Source class this means that you might be using an older version of the jar file. If it cannot find all of the specific classes in the package then this means that it cannot find the jar file. I would suggest you extract all the jar file's content's under the WEB-INF/lib folder or specify the path to explicitly look at each jar file.

  Hope it helps.
0
 

Author Comment

by:bqchristie
ID: 6916651
I tried that with no luck.  I am pretty stumped. Thanks
for trying.
0
 

Author Comment

by:bqchristie
ID: 6916682
i unjarred the xml-apis.jar in the common/classes folder and now get a differenet error.  


javax.servlet.ServletException: Provider for javax.xml.transform.TransformerFactory cannot be found
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 
LVL 35

Expert Comment

by:girionis
ID: 6916740
 It is probably a classpath problem but it is difficult to say without seeing your whole environment. Try to put manually all the jar file and class subdirectories into your classpath and try again... Apart from this I do not know what else I could think of...
0
 
LVL 3

Expert Comment

by:rjackman
ID: 6920106
hi
I think it is not able to pick up ur Jars
pls set the classpath before starting tomcat
u should have all ur jars in the classpath
i think this will solve the problem
cheers
RJ
0
 

Author Comment

by:bqchristie
ID: 6920773
Thanks for the comment.  As it turns out I just grabbed the latest JAXP jars from javasoft and everything worked fine.  I am still a bit stumped though because everything was running fine under Tomcat 4.0.1.
0
 
LVL 35

Expert Comment

by:girionis
ID: 6921757
 I guess every new release of a web server/Sevrlet engine has a bit different way to deal with loading the appropriate classes.
0
 
LVL 1

Expert Comment

by:rxolotl
ID: 6932314
I have this problem, i solve it installing an replacing that .jar files for JAXP .jar files.
This jar files must be in the CLASSPATH
You can download JAXP from sun site.
0
 

Author Comment

by:bqchristie
ID: 6932345
Seems that updating with a newer version of the jar files did the trick.  
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Understanding websocket example in spring 1 56
create a gui in perl 3 70
Error with Java/Cache JDBC Classpath 2 30
rhino JavaScript import, load 25 66
For beginner Java programmers or at least those new to the Eclipse IDE, the following tutorial will show some (four) ways in which you can import your Java projects to your Eclipse workbench. Introduction While learning Java can be done with…
Java contains several comparison operators (e.g., <, <=, >, >=, ==, !=) that allow you to compare primitive values. However, these operators cannot be used to compare the contents of objects. Interface Comparable is used to allow objects of a cl…
Viewers learn how to read error messages and identify possible mistakes that could cause hours of frustration. Coding is as much about debugging your code as it is about writing it. Define Error Message: Line Numbers: Type of Error: Break Down…
Viewers will learn about the different types of variables in Java and how to declare them. Decide the type of variable desired: Put the keyword corresponding to the type of variable in front of the variable name: Use the equal sign to assign a v…

912 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

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now