on 01-01-2006 1:51 PM
Hello
I am creating a PAR DC that needs to use some in house developed
ValueObjects (accessed through a J2EE server library).
Though my developed JSPDynPage is able to access the ValueObjects, when I try to use it in a JSP, I get a runtime compilation error.
According to my understanding, setting the PrivateSharingReference helps the controller (jspdynpage) find the classes it needs at runtime,
But the JSP Compiler does not have access to those classes.
Can anyone suggest a solution that does not include copying jar files
manually?
I have an open CSN about this, but no answer there yet...
<a href="https://websmp130.sap-ag.de/sap(bD1lbiZjPTAwMQ==)/bc/bsp/spn/smp_custmsg/main.do?event=LOAD&smpsrv=h">CSN 0120025231 0001708061 2005</a>
<a href="https://websmp130.sap-ag.de/sap(bD1lbiZjPTAwMQ==)/bc/bsp/spn/smp_custmsg/main.do?event=LOAD&smpsrv=h">updated link to CSN 0120025231 0001708061 2005</a>
full stack trace:
Exception ID:10:40_27/12/05_0011_2189050
[EXCEPTION]
com.sapportals.portal.prt.component.PortalComponentException: Error in service call of Resource
Component : pcd:portal_content/zachrefs/com.checkpoint.ReferencingIview
Component class : com.cp.test.references.ReferencingIview
User : Administrator
at com.sapportals.portal.prt.core.PortalRequestManager.handlePortalComponentException(PortalRequestManager.java:969)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:444)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:527)
at com.sapportals.portal.prt.component.AbstractComponentResponse.include(AbstractComponentResponse.java:89)
at com.sapportals.portal.prt.component.PortalComponentResponse.include(PortalComponentResponse.java:232)
at com.sapportals.portal.htmlb.page.JSPDynPage.doOutput(JSPDynPage.java:76)
at com.sapportals.htmlb.page.PageProcessor.handleRequest(PageProcessor.java:129)
at com.sapportals.portal.htmlb.page.PageProcessorComponent.doContent(PageProcessorComponent.java:134)
at com.sapportals.portal.prt.component.AbstractPortalComponent.serviceDeprecated(AbstractPortalComponent.java:209)
at com.sapportals.portal.prt.component.AbstractPortalComponent.service(AbstractPortalComponent.java:114)
at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:328)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:136)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:189)
at com.sapportals.portal.prt.component.PortalComponentResponse.include(PortalComponentResponse.java:215)
at com.sapportals.portal.prt.pom.PortalNode.service(PortalNode.java:646)
at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:328)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:136)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:189)
at com.sapportals.portal.prt.core.PortalRequestManager.runRequestCycle(PortalRequestManager.java:753)
at com.sapportals.portal.prt.connection.ServletConnection.handleRequest(ServletConnection.java:232)
at com.sapportals.portal.prt.dispatcher.Dispatcher$doService.run(Dispatcher.java:522)
at java.security.AccessController.doPrivileged(Native Method)
at com.sapportals.portal.prt.dispatcher.Dispatcher.service(Dispatcher.java:405)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.servlet.InvokerServlet.service(InvokerServlet.java:153)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:385)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:263)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:340)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:318)
at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:821)
at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:239)
at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)
at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:147)
at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:37)
at com.sap.engine.core.cluster.impl6.session.UnorderedChannel$MessageRunner.run(UnorderedChannel.java:71)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:94)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:162)
Caused by: com.sapportals.portal.prt.component.PortalComponentException: PortalComponentException
at com.sapportals.portal.prt.servlets_jsp.server.jsp.JSPCompiler.run(JSPCompiler.java:127)
at com.sapportals.portal.prt.core.broker.JSPComponentItem.compileJSP(JSPComponentItem.java:279)
at com.sapportals.portal.prt.core.broker.JSPComponentItem.getComponentInstance(JSPComponentItem.java:129)
at com.sapportals.portal.prt.core.broker.PortalComponentItemFacade.service(PortalComponentItemFacade.java:355)
at com.sapportals.portal.prt.core.broker.PortalComponentItem.service(PortalComponentItem.java:934)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:435)
... 38 more
Caused by: com.sapportals.portal.prt.servlets_jsp.server.compiler.CompilingException: Error in executing a process for compilation, D:/usr/sap/ZAK/JC00/j2ee/cluster/server0/apps/sap.com/irj/servlet_jsp/irj/root/web-inf/portal/portalapps/appl.test2.runtimereferencingpar/work/pagelet/_sapportalsjsp_referencingiview.java:18: package com.cp.test2.references.vo does not exist
import com.cp.test2.references.vo.IMyValueObject;
^
1 error
at com.sapportals.portal.prt.servlets_jsp.server.compiler.impl.J2eeCompiler_6_30.launchCompilerProcess(J2eeCompiler_6_30.java:562)
at com.sapportals.portal.prt.servlets_jsp.server.compiler.impl.J2eeCompiler_6_30.compileExternal(J2eeCompiler_6_30.java:370)
at com.sapportals.portal.prt.servlets_jsp.server.compiler.impl.J2eeCompiler_6_30.compile(J2eeCompiler_6_30.java:672)
at com.sapportals.portal.prt.servlets_jsp.server.jsp.JSPParser.parse(JSPParser.java:2143)
at com.sapportals.portal.prt.servlets_jsp.server.jsp.JSPCompiler.compile(JSPCompiler.java:76)
at com.sapportals.portal.prt.servlets_jsp.server.jsp.JSPCompiler.run(JSPCompiler.java:122)
... 43 more
>>> JSPCompiler >>> error com.sapportals.portal.prt.servlets_jsp.server.jsp.JSPCompiler@772a27
[EXCEPTION]
com.sapportals.portal.prt.servlets_jsp.server.compiler.CompilingException: Error in executing a process for compilation, D:/usr/sap/ZAK/JC00/j2ee/cluster/server0/apps/sap.com/irj/servlet_jsp/irj/root/web-inf/portal/portalapps/appl.test2.runtimereferencingpar/work/pagelet/_sapportalsjsp_referencingiview.java:18: package com.cp.test2.references.vo does not exist
import com.cp.test2.references.vo.IMyValueObject;
^
1 error
at com.sapportals.portal.prt.servlets_jsp.server.compiler.impl.J2eeCompiler_6_30.launchCompilerProcess(J2eeCompiler_6_30.java:562)
at com.sapportals.portal.prt.servlets_jsp.server.compiler.impl.J2eeCompiler_6_30.compileExternal(J2eeCompiler_6_30.java:370)
at com.sapportals.portal.prt.servlets_jsp.server.compiler.impl.J2eeCompiler_6_30.compile(J2eeCompiler_6_30.java:672)
at com.sapportals.portal.prt.servlets_jsp.server.jsp.JSPParser.parse(JSPParser.java:2143)
at com.sapportals.portal.prt.servlets_jsp.server.jsp.JSPCompiler.compile(JSPCompiler.java:76)
at com.sapportals.portal.prt.servlets_jsp.server.jsp.JSPCompiler.run(JSPCompiler.java:122)
at com.sapportals.portal.prt.core.broker.JSPComponentItem.compileJSP(JSPComponentItem.java:279)
at com.sapportals.portal.prt.core.broker.JSPComponentItem.getComponentInstance(JSPComponentItem.java:129)
at com.sapportals.portal.prt.core.broker.PortalComponentItemFacade.service(PortalComponentItemFacade.java:355)
at com.sapportals.portal.prt.core.broker.PortalComponentItem.service(PortalComponentItem.java:934)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:435)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:527)
at com.sapportals.portal.prt.component.AbstractComponentResponse.include(AbstractComponentResponse.java:89)
at com.sapportals.portal.prt.component.PortalComponentResponse.include(PortalComponentResponse.java:232)
at com.sapportals.portal.htmlb.page.JSPDynPage.doOutput(JSPDynPage.java:76)
at com.sapportals.htmlb.page.PageProcessor.handleRequest(PageProcessor.java:129)
at com.sapportals.portal.htmlb.page.PageProcessorComponent.doContent(PageProcessorComponent.java:134)
at com.sapportals.portal.prt.component.AbstractPortalComponent.serviceDeprecated(AbstractPortalComponent.java:209)
at com.sapportals.portal.prt.component.AbstractPortalComponent.service(AbstractPortalComponent.java:114)
at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:328)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:136)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:189)
at com.sapportals.portal.prt.component.PortalComponentResponse.include(PortalComponentResponse.java:215)
at com.sapportals.portal.prt.pom.PortalNode.service(PortalNode.java:646)
at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:328)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:136)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:189)
at com.sapportals.portal.prt.core.PortalRequestManager.runRequestCycle(PortalRequestManager.java:753)
at com.sapportals.portal.prt.connection.ServletConnection.handleRequest(ServletConnection.java:232)
at com.sapportals.portal.prt.dispatcher.Dispatcher$doService.run(Dispatcher.java:522)
at java.security.AccessController.doPrivileged(Native Method)
at com.sapportals.portal.prt.dispatcher.Dispatcher.service(Dispatcher.java:405)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.servlet.InvokerServlet.service(InvokerServlet.java:153)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:385)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:263)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:340)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:318)
at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:821)
at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:239)
at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)
at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:147)
at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:37)
at com.sap.engine.core.cluster.impl6.session.UnorderedChannel$MessageRunner.run(UnorderedChannel.java:71)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:94)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:162)
>>> JSPCompiler >>> ERROR in Compiling :JSPFileInfo :29823520
JSP File : D:usrsapAKJC00j2eeclusterserver0appssap.comirjservlet_jspirj ootWEB-INFportalportalappsappl.test2.runtimereferencingparpageletReferencingIview.jsp
Class Name: sapportalsjspReferencingIview
Java File : D:usrsapAKJC00j2eeclusterserver0appssap.comirjservlet_jspirj ootWEB-INFportalportalappsappl.test2.runtimereferencingparworkpagelet\_sapportalsjsp_ReferencingIview.java
Package Name : pagelet
Class File : D:usrsapAKJC00j2eeclusterserver0appssap.comirjservlet_jspirj ootWEB-INFportalportalappsappl.test2.runtimereferencingparworkpagelet\_sapportalsjsp_ReferencingIview.class
Is out dated : false com.sapportals.portal.prt.servlets_jsp.server.jsp.JSPCompiler@772a27
[EXCEPTION]
com.sapportals.portal.prt.servlets_jsp.server.compiler.CompilingException: Error in executing a process for compilation, D:/usr/sap/ZAK/JC00/j2ee/cluster/server0/apps/sap.com/irj/servlet_jsp/irj/root/web-inf/portal/portalapps/appl.test2.runtimereferencingpar/work/pagelet/_sapportalsjsp_referencingiview.java:18: package com.cp.test2.references.vo does not exist
import com.cp.test2.references.vo.IMyValueObject;
^
1 error
at com.sapportals.portal.prt.servlets_jsp.server.compiler.impl.J2eeCompiler_6_30.launchCompilerProcess(J2eeCompiler_6_30.java:562)
at com.sapportals.portal.prt.servlets_jsp.server.compiler.impl.J2eeCompiler_6_30.compileExternal(J2eeCompiler_6_30.java:370)
at com.sapportals.portal.prt.servlets_jsp.server.compiler.impl.J2eeCompiler_6_30.compile(J2eeCompiler_6_30.java:672)
at com.sapportals.portal.prt.servlets_jsp.server.jsp.JSPParser.parse(JSPParser.java:2143)
at com.sapportals.portal.prt.servlets_jsp.server.jsp.JSPCompiler.compile(JSPCompiler.java:76)
at com.sapportals.portal.prt.servlets_jsp.server.jsp.JSPCompiler.run(JSPCompiler.java:122)
at com.sapportals.portal.prt.core.broker.JSPComponentItem.compileJSP(JSPComponentItem.java:279)
at com.sapportals.portal.prt.core.broker.JSPComponentItem.getComponentInstance(JSPComponentItem.java:129)
at com.sapportals.portal.prt.core.broker.PortalComponentItemFacade.service(PortalComponentItemFacade.java:355)
at com.sapportals.portal.prt.core.broker.PortalComponentItem.service(PortalComponentItem.java:934)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:435)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:527)
at com.sapportals.portal.prt.component.AbstractComponentResponse.include(AbstractComponentResponse.java:89)
at com.sapportals.portal.prt.component.PortalComponentResponse.include(PortalComponentResponse.java:232)
at com.sapportals.portal.htmlb.page.JSPDynPage.doOutput(JSPDynPage.java:76)
at com.sapportals.htmlb.page.PageProcessor.handleRequest(PageProcessor.java:129)
at com.sapportals.portal.htmlb.page.PageProcessorComponent.doContent(PageProcessorComponent.java:134)
at com.sapportals.portal.prt.component.AbstractPortalComponent.serviceDeprecated(AbstractPortalComponent.java:209)
at com.sapportals.portal.prt.component.AbstractPortalComponent.service(AbstractPortalComponent.java:114)
at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:328)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:136)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:189)
at com.sapportals.portal.prt.component.PortalComponentResponse.include(PortalComponentResponse.java:215)
at com.sapportals.portal.prt.pom.PortalNode.service(PortalNode.java:646)
at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:328)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:136)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:189)
at com.sapportals.portal.prt.core.PortalRequestManager.runRequestCycle(PortalRequestManager.java:753)
at com.sapportals.portal.prt.connection.ServletConnection.handleRequest(ServletConnection.java:232)
at com.sapportals.portal.prt.dispatcher.Dispatcher$doService.run(Dispatcher.java:522)
at java.security.AccessController.doPrivileged(Native Method)
at com.sapportals.portal.prt.dispatcher.Dispatcher.service(Dispatcher.java:405)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.servlet.InvokerServlet.service(InvokerServlet.java:153)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:385)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:263)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:340)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:318)
at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:821)
at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:239)
at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)
at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:147)
at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:37)
at com.sap.engine.core.cluster.impl6.session.UnorderedChannel$MessageRunner.run(UnorderedChannel.java:71)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:94)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:162)
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thank you for the topic link, it seems that we share the same issue.
However, I still think this is a JDI issue, and I will explain why.
the workaround for the problem is very simple -
if you put all your required jar files (i.e. jars containing value object, EJB interfaces etc) in the following location -
<SAP J2EE Server install dit>\j2ee\cluster\server0\apps\sap.com\irj\servlet_jsp\irj\root\WEB-INF\lib\
then it all works.
however, this is a manuall process and we want to utilize nothing but JDI for our deployments.
So my question still stands, how do you make your PAR's JSP files compile when you are referencing another JAR, using JDI?
There are 2 problems with that:
(1) this is a manual and therefore error prone process. this is exactly what the JDI is supposed to address
(2) if the jar is referenced by many PAR apps, you need to redeploy them all when the JAR changes.
I would like to avoid that.
you avoid that by publishing the JAR in a J2EE library, The question is, how do you make the JSP compiler path to include those libraries
You can add the jar to a java DC then wrap the DC in a library. This gives you the chance of creating a reference to it. You will need to add a sharing reference from the project were you need to use it.
Take a look at http://help.sap.com/saphelp_nw04/helpdata/en/95/1b1640a991c742e10000000a1550b0/frameset.htm
Br Rasmus.
Message was edited by: Rasmus Stokholm
Thank you Rasmus Stokholm, this is exactly what I have done.
However, those specific references are only available for the Portal Runtime, meaning other PARS within the IRJ web app.
when the JSP compiler (which is external to the IRJ web app) tries to compile the JSPs, it fails, because it is not "aware" of the "references" in the portalapp.xml
My question is how to make the JSP compiler aware of a J2EE library
Is there a way to reference the IRJ APP to a library?
Please post the stacktrace in this topic, the URL to your CSN does not work.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
91 | |
10 | |
10 | |
9 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.