xapplication api via xsp

X-Application Version: 3.1.3, 3.1.2, 3.1.1
Tamino Version : 3.1.1
Platform : NT, Win2k, Solaris, …
WebContainer : Tomcat 3.3
JDK Version : 1.3.1

We are trying to integrate cocoon to our xapplication based project for web publishing.

But we got this exception on getDescendant.
Is there anybody has a idea.

Brgs

Error: 500
Location: /cocoon/capadene.xsp
Internal Servlet Error:

java.lang.IllegalAccessError: try to access field org/jdom/Element.content from class org/jdom/Extension
at
at com.softwareag.xtools.xapplication.businessdocument.Path.walk(Path.java:255)
at com.softwareag.xtools.xapplication.businessdocument.BusinessNodeImpl.getDescendant(BusinessNodeImpl.java:273)
at com.softwareag.xtools.xapplication.businessdocument.SingleBusinessDocument.getDescendant(SingleBusinessDocument.java:382)
at hitit.Hitit.convertOptionString(Hitit.java:368)
at hitit.Hitit.fillCombos(Hitit.java:407)
at hitit.Hitit.hititStartCore(Hitit.java:479)
at hitit.Hitit.(Hitit.java:114)
at org.apache.cocoon.www.capawiz.Logicdene_xsp.generate(capawiz\Logicdene_xsp.java:124)
at org.apache.cocoon.generation.ServerPagesGenerator.generate(ServerPagesGenerator.java:258)
at org.apache.cocoon.components.pipeline.CachingEventPipeline.process(CachingEventPipeline.java:250)
at org.apache.cocoon.components.pipeline.CachingStreamPipeline.process(CachingStreamPipeline.java:399)
at org.apache.cocoon.www.sitemap_xmap.matchN1081B(www\sitemap_xmap.java:10299)
at org.apache.cocoon.www.sitemap_xmap.process(www\sitemap_xmap.java:3787)
at org.apache.cocoon.www.sitemap_xmap.process(www\sitemap_xmap.java:3148)
at org.apache.cocoon.sitemap.Handler.process(Handler.java:224)
at org.apache.cocoon.sitemap.Manager.invoke(Manager.java:179)
at org.apache.cocoon.sitemap.SitemapManager.process(SitemapManager.java:154)
at org.apache.cocoon.Cocoon.process(Cocoon.java:575)
at org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:999)
at javax.servlet.http.HttpServlet.service(HttpServlet.java)
at org.apache.tomcat.facade.ServletHandler.doService(Unknown Source)
at org.apache.tomcat.core.Handler.invoke(Unknown Source)
at org.apache.tomcat.core.Handler.service(Unknown Source)
at org.apache.tomcat.facade.ServletHandler.service(Unknown Source)
at org.apache.tomcat.core.ContextManager.internalService(Unknown Source)
at org.apache.tomcat.core.ContextManager.service(Unknown Source)
at org.apache.tomcat.modules.server.Http10Interceptor.processConnection(Unknown Source)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(Unknown Source)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(Unknown Source)
at java.lang.Thread.run(Thread.java:484)

This might be a classloader problem that could arise if jdom.jar and xapplication.jar do not reside in the same directory.

Could you please check all your Tomcat and Cocoon directories and make sure that there is exactly one copy of xapplication.jar, one copy of jdom.jar, both of them in the same directory.

Michael

Software AG Germany, Darmstadt

thanks

I have Jdom.jar in cocoon/WEB-INF/lib but it does not include org/jdom/Extension class so i have this one under classes .

so problem because of that what can i do ?

Brgs

org.jdom.Extension is in xapplication.jar.
Is your xapplication.jar in the same directory as jdom.jar? What do you have in your classes directory, I didn’t understand that in your previous post.

Michael

Software AG Germany, Darmstadt

sorry

we made some change on xapplication.jar. So we have it in classes but i tried it also as sandart environment.
i have jdom.jar and xapplication.jar in “lib” but result is the same.

brgs

sdsd This one works This one works again
Error: 500
Location: /cocoon/capadene.xsp
Internal Servlet Error:

java.lang.IllegalAccessError: try to access field org/jdom/Element.content from class org/jdom/Extension
at
at com.softwareag.xtools.xapplication.businessdocument.Path.walk(Path.java:255)
at com.softwareag.xtools.xapplication.businessdocument.BusinessNodeImpl.getDescendant(BusinessNodeImpl.java:273)
at com.softwareag.xtools.xapplication.businessdocument.SingleBusinessDocument.getDescendant(SingleBusinessDocument.java:383)
at hitit.Hitit.convertOptionString(Hitit.java:368)
at hitit.Hitit.fillCombos(Hitit.java:407)
at hitit.Hitit.hititStartCore(Hitit.java:479)
at hitit.Hitit.(Hitit.java:114)
at org.apache.cocoon.www.capawiz.Logicdene_xsp.generate(capawiz\Logicdene_xsp.java:126)
at org.apache.cocoon.generation.ServerPagesGenerator.generate(ServerPagesGenerator.java:258)
at org.apache.cocoon.components.pipeline.CachingEventPipeline.process(CachingEventPipeline.java:250)
at org.apache.cocoon.components.pipeline.CachingStreamPipeline.process(CachingStreamPipeline.java:399)
at org.apache.cocoon.www.sitemap_xmap.matchN1081B(www\sitemap_xmap.java:10299)
at org.apache.cocoon.www.sitemap_xmap.process(www\sitemap_xmap.java:3787)
at org.apache.cocoon.www.sitemap_xmap.process(www\sitemap_xmap.java:3148)
at org.apache.cocoon.sitemap.Handler.process(Handler.java:224)
at org.apache.cocoon.sitemap.Manager.invoke(Manager.java:179)
at org.apache.cocoon.sitemap.SitemapManager.process(SitemapManager.java:154)
at org.apache.cocoon.Cocoon.process(Cocoon.java:575)
at org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:999)
at javax.servlet.http.HttpServlet.service(HttpServlet.java)
at org.apache.tomcat.facade.ServletHandler.doService(Unknown Source)
at org.apache.tomcat.core.Handler.invoke(Unknown Source)
at org.apache.tomcat.core.Handler.service(Unknown Source)
at org.apache.tomcat.facade.ServletHandler.service(Unknown Source)
at org.apache.tomcat.core.ContextManager.internalService(Unknown Source)
at org.apache.tomcat.core.ContextManager.service(Unknown Source)
at org.apache.tomcat.modules.server.Http10Interceptor.processConnection(Unknown Source)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(Unknown Source)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(Unknown Source)
at java.lang.Thread.run(Thread.java:484)

You said you tried xapplication.jar and jdom.jar in the lib directory and it doesn’t work. Did you have a classes diretory when if tried this? If so, please try again without the classes directory.

Michael

Software AG Germany, Darmstadt

protected LinkedList content;

definition in Element.class so same package but different location.

when we join them in classes in the same location
but result is the same

i have Element.class more than one package. But not under jdom , under dom , apache.

i also remove classes but result is the same.
We have the same environment xapp-jsp based project and we have no problem but under cocoon we have problem. I checked all jar files i don’t have another Elemet.class under org/jdom .

brgs

Mhm. Currently, I don’t know what else to test.

org.jdom.Extension accesses fields in org.jdom.Element. Because these fields are protected, both classes have to reside in the same package. My thought was this is a classloaded issues: for some reason, Java thinks that both classes do not reside in the same package and throws the exception you reported.

Jetzt bin ich ratlos.

Does it work with other (newer?) Tomcat versions?
Is jdom.jar JDOM beta 6?

Michael

Software AG Germany, Darmstadt

We deployed cocoon to an other server. Now it works. We can access tamino in XSP via xapplication API.

thanks for your help.