I debugged ObjectModelHelper as directed, and saw this: objectModel debugging of the request entry without the logkit library in my EJB jar:
12:54:11,906 INFO [STDOUT] key class: java.lang.String 12:54:11,906 INFO [STDOUT] key value: request 12:54:11,906 INFO [STDOUT] value class: org.apache.cocoon.environment.http.HttpRequest 12:54:11,906 INFO [STDOUT] value value: [EMAIL PROTECTED] And the same information with the logkit library included in my EJB jar: 12:56:58,312 INFO [STDOUT] key class: java.lang.String 12:56:58,312 INFO [STDOUT] key value: request 12:56:58,312 INFO [STDOUT] value class: org.apache.cocoon.environment.http.HttpRequest 12:56:58,312 INFO [STDOUT] value value: [EMAIL PROTECTED] So they both seem to be the same (???)... To debug further, inserted this code before the end of the static getRequest(Map objectModel) method in ObjectModelHelper: Iterator objectModelIter = objectModel.entrySet().iterator(); while (objectModelIter.hasNext()) { Map.Entry entry = (Map.Entry)objectModelIter.next(); Object key = entry.getKey(); Object value = entry.getValue(); if (value instanceof org.apache.cocoon.environment.http.HttpRequest) { return (org.apache.cocoon.environment.http.HttpRequest)value; // NEVER EXECUTED } That return line was never called, even though value.getClass().getName() returned org.apache.cocoon.environment.http.HttpRequest. This I can't understand. Because it is the logkit jar that is causing these ClassCast exceptions, could it be an issue with my logkit.conf? It's the standard one that comes with Cocoon, so I would not think that to be the problem. thanks, Collin ----- Original Message ----- From: "Cedric Picard" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]> Sent: Tuesday, July 29, 2003 7:03 AM Subject: RE: Issues with using embedded FOP libraries alongside Cocoon > Collin, > > I've been using the ObjectModelHelper.getRequest method as part of an > implementation of the RequestParamAction interface in a WAR only, so I'm > probably not going to be of much help, but something just occurred to > me: > REQUEST_OBJECT is a hardcoded String in ObjectModelHelper, defined as > "request". This String is used to "index" the object in the Map object. > > In the JDK 1.3 documentation, it says that Map.get() will throw a > ClassCastException if the key passed as parameter is of inappropriate > type for the given Map object. > > Maybe you could try to use Map.entrySet() as a debug in the getRequest > method in order to find out what the available keys and their associated > objects are in the Map you are using. > > Hope that helps, > Regards, > Cedric > > -----Original Message----- > From: Collin VanDyck [mailto:[EMAIL PROTECTED] > Sent: 28 July 2003 19:55 > To: [EMAIL PROTECTED] > Subject: Issues with using embedded FOP libraries alongside Cocoon > > > I've got an application with two .WAR webapps, and one EJB jar, all > directly inside of my application.ear, all of which need to be able to > use the FOP libraries. Specifically, I need to be able to have one of > my session beans render a PDF to disk or remote location without > invoking a Cocoon sitemap . I did this per the instructions on embedding > FOP on the FOP website. > > In order to make the FOP library in my EJBs accessible, I place the > following into my EJB.jar's META-INF/lib directory: > > avalon-framework-20020627.jar > fop-0.20.5.jar > logkit-20020529.jar > > However, this is causing my webapps to throw one exception over and > over: > > The code that is throwing it is ObjectModelHelper.getRequest(): > > public static final Request getRequest(Map objectModel) { > return (Request)objectModel.get(REQUEST_OBJECT); > } > > I rebuilt the source code with code to tell me what class this object > that was being returned was, and it was of this class: > > org.apache.cocoon.environment.http.HttpRequest > > Which seems to me to be OK because it implements Request. I'm baffled. > Note though, that both serialization to PDF from the context of a Cocoon > invocation as well as serialization inside of the EJB are performing > perfectly. The bad thing is that I get about 10MB's of these errors > each time I make such a request, which slows everything down greatly. > > I'm using Cocoon 2.0.4, and JBoss 3.2. Any help greatly appreciated. > > thanks! > Collin > > > The error: > > 13:54:37,031 ERROR [STDERR] Logging Error: Unknown error writing event. > 13:54:37,031 ERROR [STDERR] java.lang.ClassCastException: > org.apache.cocoon.environment.http.HttpRequest > 13:54:37,031 ERROR [STDERR] at > org.apache.cocoon.environment.ObjectModelHelper.getRequest(ObjectModelHe > lper > .java:91) > 13:54:37,031 ERROR [STDERR] at > org.apache.cocoon.util.log.CocoonLogFormatter.getURI(CocoonLogFormatter. > java > :205) > 13:54:37,031 ERROR [STDERR] at > org.apache.cocoon.util.log.CocoonLogFormatter.formatPatternRun(CocoonLog > Form > atter.java:153) > 13:54:37,031 ERROR [STDERR] at > org.apache.cocoon.util.log.ExtensiblePatternFormatter.format(ExtensibleP > atte > rnFormatter.java:37 > 6) > 13:54:37,047 ERROR [STDERR] at > org.apache.log.output.AbstractOutputTarget.format(AbstractOutputTarget.j > ava: > 132) > 13:54:37,047 ERROR [STDERR] at > org.apache.log.output.AbstractOutputTarget.doProcessEvent(AbstractOutput > Targ > et.java:91) > 13:54:37,047 ERROR [STDERR] at > org.apache.log.output.AbstractTarget.processEvent(AbstractTarget.java:87 > ) > 13:54:37,047 ERROR [STDERR] at > org.apache.log.Logger.fireEvent(Logger.java:612) > 13:54:37,047 ERROR [STDERR] at > org.apache.log.Logger.output(Logger.java:587) > 13:54:37,047 ERROR [STDERR] at > org.apache.log.Logger.output(Logger.java:570) > 13:54:37,047 ERROR [STDERR] at > org.apache.log.Logger.info(Logger.java:146) > 13:54:37,047 ERROR [STDERR] at > org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:1142) > 13:54:37,047 ERROR [STDERR] at > javax.servlet.http.HttpServlet.service(HttpServlet.java:853) > 13:54:37,047 ERROR [STDERR] at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica > tion > FilterChain.java:24 > 7) > 13:54:37,047 ERROR [STDERR] at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt > erCh > ain.java:193) > 13:54:37,047 ERROR [STDERR] at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv > e.ja > va:260) > 13:54:37,047 ERROR [STDERR] at > org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i > nvok > eNext(StandardPipel > ine.java:643) > 13:54:37,047 ERROR [STDERR] at > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4 > 80) > 13:54:37,047 ERROR [STDERR] at > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) > 13:54:37,047 ERROR [STDERR] at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv > e.ja > va:191) > 13:54:37,047 ERROR [STDERR] at > org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i > nvok > eNext(StandardPipel > ine.java:643) > 13:54:37,047 ERROR [STDERR] at > org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.ja > va:2 > 46) > 13:54:37,047 ERROR [STDERR] at > org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i > nvok > eNext(StandardPipel > ine.java:641) > 13:54:37,047 ERROR [STDERR] at > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4 > 80) > 13:54:37,047 ERROR [STDERR] at > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) > 13:54:37,047 ERROR [STDERR] at > org.apache.catalina.core.StandardContext.invoke(StandardContext.java:241 > 5) > 13:54:37,047 ERROR [STDERR] at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java > :180 > ) > 13:54:37,047 ERROR [STDERR] at > org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i > nvok > eNext(StandardPipel > ine.java:643) > 13:54:37,047 ERROR [STDERR] at > org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherVa > lve. > java:170) > 13:54:37,047 ERROR [STDERR] at > org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i > nvok > eNext(StandardPipel > ine.java:641) > 13:54:37,047 ERROR [STDERR] at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java > :172 > ) > 13:54:37,062 ERROR [STDERR] at > org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i > nvok > eNext(StandardPipel > ine.java:641) > 13:54:37,062 ERROR [STDERR] at > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:509 > ) > 13:54:37,062 ERROR [STDERR] at > org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i > nvok > eNext(StandardPipel > ine.java:641) > 13:54:37,062 ERROR [STDERR] at > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4 > 80) > 13:54:37,062 ERROR [STDERR] at > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) > 13:54:37,062 ERROR [STDERR] at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve. > java > :174) > 13:54:37,062 ERROR [STDERR] at > org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i > nvok > eNext(StandardPipel > ine.java:643) > 13:54:37,062 ERROR [STDERR] at > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4 > 80) > 13:54:37,062 ERROR [STDERR] at > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) > 13:54:37,062 ERROR [STDERR] at > org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223) > 13:54:37,062 ERROR [STDERR] at > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:43 > 2) > 13:54:37,062 ERROR [STDERR] at > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processC > onne > ction(Http11Protoco > l.java:386) > 13:54:37,062 ERROR [STDERR] at > org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:53 > 4) > 13:54:37,062 ERROR [STDERR] at > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool > .jav > a:530) > 13:54:37,062 ERROR [STDERR] at java.lang.Thread.run(Thread.java:536) > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > > -- > > This e-mail is confidential and is intended for the named recipient only. If > you receive it in error please destroy the message and all copies. Kainos > Software Ltd. does not accept liability for damage sustained as a result of > malicious software (e.g. viruses). Kainos does not accept liability for, or > permit, the creation of contracts on its behalf by e-mail, the publication of > any defamatory statement by its employees by e-mail, or changes subsequently > made to the original message. The Company's registered office is located at > 4-6 Upper Crescent, Belfast, BT7 1NT, Northern Ireland, Tel +44 28 9057 1100. > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]