passthru servlet 411 under tomcat406 and apache 1327

INO: 312
TOMCAT: 406
APACHE: 1327
JDK: 1.3.1_06
servlet: 411

installation of servlet 411 is fine. calling the servlet using the following url:
http://pcmkh01/exaples/servlet/com.softwareag.tamino.passtrhu.TaminoTest works fine as the exspected html page is shown. even using localhost instead of pcmkh01 in the url works fine.
then i copied the init information into the web.xml file. please see below:
<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app
PUBLIC “-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN”
http://java.sun.com/dtd/web-app_2_3.dtd”>





Servlet Mapped Filter
filters.ExampleFilter

attribute
filters.ExampleFilter.SERVLET_MAPPED



Path Mapped Filter
filters.ExampleFilter

attribute
filters.ExampleFilter.PATH_MAPPED



Request Dumper Filter
filters.RequestDumperFilter




Set Character Encoding
filters.SetCharacterEncodingFilter

encoding
EUC_JP




Compression Filter
compressionFilters.CompressionFilter


compressionThreshold
10


debug
0





Servlet Mapped Filter
invoker


Path Mapped Filter
/servlet/












listeners.ContextListener


listeners.SessionListener





SendMailServlet
SendMailServlet




snoop


SnoopServlet



Security role for anonymous access
tomcat





servletToJsp


servletToJsp




CompressionFilterTestServlet


compressionFilters.CompressionFilterTestServlet












transform
com.softwareag.tamino.passthru.TaminoFilter

contenttype
text/html


allowremote
no


trace
on


log
on


cache
on


transformer
com.softwareag.tamino.passthru.xt.TransformerFactoryImpl





parser
org.apache.xerces.jaxp.SAXParserFactoryImpl









CompressionFilterTestServlet


/CompressionTest




SendMailServlet
/SendMailServlet




snoop


/snoop




servletToJsp


/servletToJsp





http://jakarta.apache.org/tomcat/debug-taglib


/WEB-INF/jsp/debug-taglib.tld





http://jakarta.apache.org/tomcat/examples-taglib


/WEB-INF/jsp/example-taglib.tld




mail/Session
javax.mail.Session
Container



Example Security Constraint

Protected Area

/jsp/security/protected/


DELETE
GET
POST
PUT



tomcat
role1





FORM
Example Form-Based Authentication Area

/jsp/security/protected/login.jsp
/jsp/security/protected/error.jsp






minExemptions
1
java.lang.Integer


foo/name1
value1
java.lang.String


foo/bar/name2
true
java.lang.Boolean


name3
1
java.lang.Integer


foo/name4
10
java.lang.Integer




Example EJB Reference
ejb/Account
Entity
com.mycompany.mypackage.AccountHome
com.mycompany.mypackage.Account




Example Local EJB Reference
ejb/ProcessOrder
Session
com.mycompany.mypackage.ProcessOrderHome
com.mycompany.mypackage.ProcessOrder




i also copied the xtdriver.jar file into the lib folder, where the passthru.jar file is located.
when trying to use the servlet by calling
http://pcmkh01/examples/servlet/transform/tamino/MKH01_INO_DB01/MKHTST01?_xql=/CUST_RECORD&_xslsrc=stylesheets/xsl:stylesheet/CUSTOMER.xsl
i get the msg: The requested resource (/examples/servlet/transform/tamino/MKH01_INO_DB01/MKHTST01) is not available.

what to do??

thanks


MichaelK

additioanl information:
i checked the context log fil of my TOMCAT and found the following error msg:
2002-12-06 13:13:52 invoker: Cannot allocate servlet instance for path /examples/servlet/transform/tamino/MKH01_INO_DB01/MKHTST
javax.servlet.ServletException: Wrapper cannot find servlet class transform or a class it depends on

this looks like, that the passthru.jar file downloaded from TACO is incorrect.

any comments on this ?

regards

MichaelK

I think the classes that are missing are most likely those contained in the JAXP library itself. These are supplied with most JAXP-compliant XSLT processors, and they are also built in to the JDK 1.4 distribution, but they aren’t included in either xt or in the Passthru servlet distribution. You can get them as part of the Java XML Pack - see http://java.sun.com/xml/javaxmlpack.html

Michael Kay

Hi Michael,

thanks for information regarding the missing java classes. after downloading the jaxp-1.2_01 from sun and putting all jars files into the same folder as my passthru servlet finally it works and i am getting a message from the servlet. but now i looks like, that the the stylesheet i would like to apply shall be in the same collection as the xml data’s i am quering. is this correct?
if yes, this is a little bit strange to me.

regards

MichaelK

I’m glad you’re making progress.

No, the stylesheet doesn’t have to be in the same collection as the XML files being queried. You can supply a relative URL of the form

_xslsrc=…/other-collection/stylesheet.xsl

to reference a stylesheet held in a different collection.

Michael Kay

hi Michael,

thank you for this information. now it works fine execpt for:
1. whenever i call an alias instead of the full qualified class ‘com.softwareag…’ i get error
‘javax/xml/transform/TransformerFactory’ the used web.xml file is the same as mentioned above. the content of my folder …/examples/web-inf/lib is:
dom.jar
jaxp-API.jar
passthru.jar
xalan.jar
xerces.jar
xercesImpl.jar
xt.jar
xtdriver.jar

any idea, which class is missing?

regards

MichaelK

I’m afraid I can’t see from this what is wrong. I’m puzzled that it should work when you use the full class name but not when you use the alias. The error message is very unspecific, but it doesn’t look to me like a class loading error.

Have you tried configuring it to use Xalan or Saxon instead of xt? The configuration for these products is rather simpler because they come with their own JAXP support. Trying to get Xalan working first might give you clues about where the problem lies. (And it’s probably a good idea to switch away from xt anyway, as it omits some important XSLT features such as keys).

Michael Kay