You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@xalan.apache.org by Mike Ball <mi...@softwareag.co.uk> on 2000/08/07 12:13:13 UTC
Invoking Xalan from an EJB
Hello Xalan gurus.
Does anyone have experience of using Xalan under JBoss or other EJB servers?
It all seems to work fine *except* for Java extension functions. I have a
stylesheet which works quite happily from the command line or when invoked
from a servlet (assuming of course I put all the necessary jars on the
classpath). However, when I try to invoke it from within an EJB I get the
following exception.
...
java.lang.reflect.InvocationTargetException: at
org.apache.xalan.xslt.ExtensionNSHandler.startupComponent(ExtensionNSHandler
.java:291)
at
org.apache.xalan.xpath.ExtensionFunctionHandler.callFunction(ExtensionFuncti
onHandler.java:482)
at
org.apache.xalan.xpath.xml.XMLParserLiaisonDefault.extFunction(XMLParserLiai
sonDefault.java:1878)
at org.apache.xalan.xpath.XPath.extfunction(XPath.java:1015)
at org.apache.xalan.xpath.XPath.executeExtension(XPath.java:1254)
at org.apache.xalan.xpath.XPath.execute(XPath.java:1379)
at org.apache.xalan.xpath.XPath.execute(XPath.java:1354)
at org.apache.xalan.xpath.XPath.execute(XPath.java:311)
at org.apache.xalan.xslt.ElemValueOf.execute(ElemValueOf.java:186)
at
org.apache.xalan.xslt.ElemTemplateElement.executeChildren(ElemTemplateElemen
t.java:659)
at
org.apache.xalan.xslt.ElemTemplateElement.transformChild(ElemTemplateElement
.java:1194)
at
org.apache.xalan.xslt.ElemTemplateElement.processLocatedNode(ElemTemplateEle
ment.java:1056)
at
org.apache.xalan.xpath.SimpleNodeLocator.findChildren(SimpleNodeLocator.java
:748)
at
org.apache.xalan.xpath.SimpleNodeLocator.step(SimpleNodeLocator.java:403)
at
org.apache.xalan.xpath.SimpleNodeLocator.locationPath(SimpleNodeLocator.java
:296)
at org.apache.xalan.xpath.XPath.locationPath(XPath.java:964)
at org.apache.xalan.xpath.XPath.execute(XPath.java:1385)
at org.apache.xalan.xpath.XPath.execute(XPath.java:1354)
at org.apache.xalan.xpath.XPath.execute(XPath.java:311)
at
org.apache.xalan.xslt.ElemTemplateElement.transformSelectedChildren(ElemTemp
lateElement.java:894)
at
org.apache.xalan.xslt.ElemApplyTemplates.execute(ElemApplyTemplates.java:176
)
at
org.apache.xalan.xslt.ElemTemplateElement.executeChildren(ElemTemplateElemen
t.java:659)
at
org.apache.xalan.xslt.ElemLiteralResult.execute(ElemLiteralResult.java:254)
at
org.apache.xalan.xslt.ElemTemplateElement.executeChildren(ElemTemplateElemen
t.java:659)
at
org.apache.xalan.xslt.ElemLiteralResult.execute(ElemLiteralResult.java:254)
at
org.apache.xalan.xslt.ElemTemplateElement.executeChildren(ElemTemplateElemen
t.java:659)
at
org.apache.xalan.xslt.ElemLiteralResult.execute(ElemLiteralResult.java:254)
at
org.apache.xalan.xslt.ElemTemplateElement.executeChildren(ElemTemplateElemen
t.java:659)
at
org.apache.xalan.xslt.ElemLiteralResult.execute(ElemLiteralResult.java:254)
at
org.apache.xalan.xslt.ElemTemplateElement.executeChildren(ElemTemplateElemen
t.java:659)
at
org.apache.xalan.xslt.ElemTemplateElement.transformChild(ElemTemplateElement
.java:1194)
at
org.apache.xalan.xslt.ElemTemplateElement.transformSelectedChildren(ElemTemp
lateElement.java:957)
at
org.apache.xalan.xslt.ElemApplyTemplates.execute(ElemApplyTemplates.java:176
)
at
org.apache.xalan.xslt.ElemTemplateElement.executeChildren(ElemTemplateElemen
t.java:659)
at org.apache.xalan.xslt.ElemTemplate.execute(ElemTemplate.java:145)
at
org.apache.xalan.xslt.StylesheetRoot.process(StylesheetRoot.java:440)
at
org.apache.xalan.xslt.XSLTEngineImpl.process(XSLTEngineImpl.java:631)
at
com.softwareaguk.xml.XSLTProcessorXalan.process(XSLTProcessorXalan.bolero)
at java.lang.reflect.Method.invoke(Native Method)
at
com.softwareaguk.xml.XSLTProcessorEJB.process(XSLTProcessorEJB.bolero)
at java.lang.reflect.Method.invoke(Native Method)
at
org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(Stateles
sSessionContainer.java:286)
at
org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:82
)
at
org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSe
ssionInstanceInterceptor.java:73)
at
org.jboss.ejb.plugins.TxInterceptor.invoke(TxInterceptor.java:179)
at
org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:140)
at
org.jboss.ejb.StatelessSessionContainer.invoke(StatelessSessionContainer.jav
a:152)
at
org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker.invoke(JRMPContainerI
nvoker.java:129)
at java.lang.reflect.Method.invoke(Native Method)
at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source)
at sun.rmi.transport.Transport$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Unknown Source)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown
Source)
at java.lang.Thread.run(Unknown Source)
[XSLTProcessor]
com.softwareaguk.xml.XSLTProcessorEJB.process(XSLTProcessorEJB.bolero):
Exception occurred while invoking xsltProcessor
java.lang.reflect.InvocationTargetException
[XSLTProcessor] java.lang.IllegalAccessError: try to access field
org.apache.xalan.xpath.ExtensionFunctionHandler.class$com$ibm$bsf$BSFManager
from class org.apache.xalan.xslt.ExtensionNSHandler
...
If I take out the call to the extension function it all works OK. It also
works OK using Saxon instead of Xalan
Does anyone have any ideas?
I'm using Xalan_1_0_1, JBoss 2.0, Sun JDK 1.3, Windows NT4 Workstation.
Mike Ball
Application Services Consultant
Software AG UK