Java Portlet (JSR 168) development with Portal
Hello,
We have been trying to dive back into Portal development lately. The release of 9.0.4 with support for standards-based portlets has convinced us to begin looking at 9iAS Portal as a practical portal product. We have a development environment setup with a workin 9.0.4 portal.
Digging through the available docs on the portal studio site, I have come across a couple documents alluding to the installation of a portlet-container. Now, I have already downloaded the JSR 168 framework files. It seems that a good portion of this 'portlet container' consists of these files.
The problem is that the documentation that is available is nothing more than a step by step set of instructions for setting up an OC4J instance with this 'portlet container', configuring an Oracle database for portlet customizations, and deploying a sample ear into the OC4J instance.
This does nothing for me.
What I want is documentation that indicates the requirements necessary to make a JSR-168 compliant portlet (even a 'hello world') exposed through portal with the least amount of effort, and with no references to proprietary tools. I would like to see instructions that are tailored towards a generic J2EE provider, not an OC4J one. I already have a very functional set of tools that should be able to accomodate a JSR-168 producer. We have had many problems with OC4J leading us to try to avoid it at all costs.
Any ideas?
Thanks!
-Sean
Hello
I am probably not clear.
In the OracleAS Portal architecture Java portlet are remote from the portal middle tier.
In the non standard world (JPDK Portlet), the Portal Middlet tier use SOAP over HTTP to call the portlets.
In the Standard world (JSR-168), the Portal Middle Tier will use WSRP (Web Service Remote Portlet) to call the portlets. When you use the Oracle JSR-168 container inside OC4J, these portlets are automatically accessible over remotely using WSRP.
So, as you can see the Portal Middle Tier needs to support WSRP to be able to use JSR-168 portlet. And OracleAS 10g 904 does not currently support WSRP registration. It is why we have the "OracleAS Portal Verification Service for WSRP", to allow you to test your portlet.
To be able to use JSR-168 (with WSRP) portlet on you internal Portal you'll have to install the OracleAS Portal Standard Developer Preview that will be available soon.
Hope that clarify my previous statements.
Regards
Tugdual Grall
Similar Messages
-
Upload file in Portlet (JSR-168) with library commons-FileUpdate
hi All,
I have write portlet (JSR 168) "UpToFile.java" for upload a file with the Commons-FileUpload 1.1.1 but when deploy in the Oracle Portal the file is not upload, because the variable isMultipart is false:
UPToFile.ProcessAction(...) :
boolean isMultipart = PortletFileUpload.isMultipartContent(request);
(Utility method that determines whether the request contains multipart content.)
view.jsp:
<FORM ACTION="<portlet:actionURL/>" METHOD="POST" enctype="multipart/form-data" >
upload file: <INPUT TYPE="file" NAME="file-upload" SIZE="20">
<INPUT TYPE="SUBMIT" value="upload" >
</FORM>
I do not understand because "isMultipart" is "false".
Tanks.
EDIT: sorry, now work. :)
Message was edited by:
dartan
nullhi All,
I have write portlet (JSR 168) "UpToFile.java" for upload a file with the Commons-FileUpload 1.1.1 but when deploy in the Oracle Portal the file is not upload, because the variable isMultipart is false:
UPToFile.ProcessAction(...) :
boolean isMultipart = PortletFileUpload.isMultipartContent(request);
(Utility method that determines whether the request contains multipart content.)
view.jsp:
<FORM ACTION="<portlet:actionURL/>" METHOD="POST" enctype="multipart/form-data" >
upload file: <INPUT TYPE="file" NAME="file-upload" SIZE="20">
<INPUT TYPE="SUBMIT" value="upload" >
</FORM>
I do not understand because "isMultipart" is "false".
Tanks.
EDIT: sorry, now work. :)
Message was edited by:
dartan
null -
Use JSF with Portlet JSR 168 Specification
Hi
I need to know.... is possible run JSF application with Portlet Specification JSR 168, using Pluto Portal and Apache Tomcat ???
Best Regards
MauricioHi,
the Apache Jetspeed2 - Project has a bridge,
that is designed to work with MyFaces.
http://cvs.apache.org/viewcvs.cgi/jakarta-jetspeed-2/portals-bridges/myfaces/
Hope it helps you.
Regards,
Matthias -
Local portlet (jsr 168) in separate webapp possible?
I have a running portal webapp with some portlets inside (from the tutorials).
Now I want to add a jsr 168 portet to the portal. The portlet is to be in a separate webapp. I already have it as a war file, if possible I would like to drop the import the war in the portal as a local portlet. Is this possible?
In pluto (running on tomcat) the portal webapp can "see" the local portlets in other webapps through the crossContext="true" setting for webapp contexts.
It is not possible for me to pack multiple portlets in a single webapp, since:
- if possible I would like to deploy already packed war files
- I use JSF (the required bridge to JSR-168 is already part of the webapp) which uses webapp-wide context-params and also faces-config.xml and other resources, making it impossible to mix multiple JSF portlets inside a single webapp.
Thanks in advanceNo - this does not go through WSRP. WLP does bypass web services, SOAP,
HTTP etc when you are running in what is called a local proxy mode. This
mode is like a method call from the portal web app to your portlet web
app.
Subbu
Peter Mutsaers wrote:
You mean you have to go through WSRP, even in the local VM? Is there no way to have a truely local portlet (JSR-168 directly without WSRP) in another webapp when running in the same WLS instance? -
How get browser URL from portlet JSR-168?
I use Oracle Portal. And I have problem.
How get browser URL from portlet JSR-168?Normaly it is
http://server:port/portletContextRoot
Did you create the portlet with JDeveloper? When you dpeloy the portlet to your application server, JDeveloper should output the URL of the portlet test page in the deployment output feedback. -
hi ..
I can add navigation parameters to portlet JSR 168 by adding the parameters in oracle-portlet.xml .. where it is the only way for portlet communication .
now I create JSF Application and expose it to JSR 168 -by adding portlet.xml file - it work good but I want to add navigation parameters for this portlet , how ??
thanksYou need to deploy to a WLS and then register the WSRP producer to your consuming application.
You can read my paper about portlets: http://www.yonaweb.be/sites/default/files/ipc_0.pdf
It explains the basic on how to create and consume portlets in WebCenter 11.1.1.3 -
Error in Portal Development with Portal DCs
Hi Experts,
I have start working Portal DCs, I have followed the blog: https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/10127. [original link is broken]
I can not able to Export the par file, While Deploying i am getting following error,
ERROR: portal/portapp: Build failed for sap.com/portal/portapp(MyComponents) in variant "default": Unable to find a javac compiler;
please help me to fix the error.
Regards,
Chinnadurai RThe following trace I found in server.
[EXCEPTION]
#1#com.sapportals.portal.prt.component.PortalComponentException: Error in init methodComponent : portal.portapp.PortalTest
at com.sapportals.portal.prt.component.PortalComponentContext.init(PortalComponentContext.java:251)
at com.sapportals.portal.prt.core.broker.PortalComponentContextItem.refresh(PortalComponentContextItem.java:271)
at com.sapportals.portal.prt.core.broker.PortalComponentContextItem.getContext(PortalComponentContextItem.java:316)
at com.sapportals.portal.prt.component.PortalComponentRequest.getComponentContext(PortalComponentRequest.java:387)
at com.sapportals.portal.prt.connection.PortalRequest.getRootContext(PortalRequest.java:488)
at com.sapportals.portal.prt.core.PortalRequestManager.runRequestCycle(PortalRequestManager.java:607)
at com.sapportals.portal.prt.connection.ServletConnection.handleRequest(ServletConnection.java:240)
at com.sapportals.portal.prt.dispatcher.Dispatcher$doService.run(Dispatcher.java:524)
at java.security.AccessController.doPrivileged(Native Method)
at com.sapportals.portal.prt.dispatcher.Dispatcher.service(Dispatcher.java:407)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.servlet.InvokerServlet.service(InvokerServlet.java:156)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:387)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:365)
at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:944)
at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:266)
at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)
at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175)
at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
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:100)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
Caused by: com.sapportals.portal.prt.core.broker.PortalComponentInstantiationException: Could not instantiate implementation class com.arteriatech.PortalTest of Portal Component portal.portapp.PortalTest because: Could not instantiate implementation class
at com.sapportals.portal.prt.core.broker.PortalComponentItemFacade.getInstanceInternal(PortalComponentItemFacade.java:269)
at com.sapportals.portal.prt.core.broker.PortalComponentItemFacade.getComponentInstance(PortalComponentItemFacade.java:160)
at com.sapportals.portal.prt.core.broker.PortalComponentItem.getComponentInstance(PortalComponentItem.java:732)
at com.sapportals.portal.prt.component.PortalComponentContext.getComponent(PortalComponentContext.java:103)
at com.sapportals.portal.prt.component.PortalComponentContext.init(PortalComponentContext.java:242)
... 26 more
Caused by: java.lang.UnsupportedClassVersionError: com/arteriatech/PortalTest (Unsupported major.minor version 49.0)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:539)
at com.sapportals.portal.prt.util.AutoClassLoader.findClassInternal(AutoClassLoader.java:840)
at com.sapportals.portal.prt.util.AutoClassLoader.loadClassLocally(AutoClassLoader.java:1210)
at com.sapportals.portal.prt.util.AutoClassLoader.loadClass(AutoClassLoader.java:1348)
at com.sapportals.portal.prt.util.AutoClassLoader$2.run(AutoClassLoader.java:1425)
at java.security.AccessController.doPrivileged(Native Method)
at com.sapportals.portal.prt.util.AutoClassLoader.loadClass(AutoClassLoader.java:1421)
at com.sap.engine.frame.core.load.ReferencedLoader.loadClass(ReferencedLoader.java:365)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:219)
at com.sapportals.portal.prt.core.broker.PortalComponentItemFacade.getInstanceInternal(PortalComponentItemFacade.java:228)
... 30 more
Regards,
Chinandurai R -
Portlet(JSR 168) deployment procedure
i have created portlet and wnat to know, how register the portlet under the producer to drag n drop into the another jspx page.
Please explain the procedure...You need to deploy to a WLS and then register the WSRP producer to your consuming application.
You can read my paper about portlets: http://www.yonaweb.be/sites/default/files/ipc_0.pdf
It explains the basic on how to create and consume portlets in WebCenter 11.1.1.3 -
Consuming web services in a jsr 168 portlet best practices.
I am building portlets (jsr 168 api in Websphere Portal 6.0 using web service client of Rational). Now needed some suggestions on caching the web services data on the portlet. We have a number of portlets (somewhere around 4 or 5) on a portal page which basically rely on a single wsdl Lotus Domino Web Service.
Is there a way I can cache the data returned by webservice so that I dont make repeated calls to the webservice on every portlet request. Any best practices/ideas on how I could do avoid multiple web service calls would be appreciated ?Interestingly, as it often happens with Oracle portal, this has started working without me doing anything special.
However, the session events my listener gets notified of are (logically, as this portlet works via WSRP) different from user sessions. The problem I'm trying to solve now is that logging off (in SSO) doesn't lead to those sessions being destroyed. They only get destroyed after timeout specified in my web.xml (<session-config><session-timeout>30</session-timeout></session-config>). On the other hand, when they do expire, the SSO session may still be active, in which case the user gets presented with the infamous "could not get markup" error message. The latter is unacceptable in our case, so we had to set session-timeout to a pretty high value.
So the question is, how can we track when the user logs off. We have found the portal.wwctx_sso_session$ and portal.WWLOG_ACTIVITY_LOG1$ (and ...2$) tables, but no documentation for them. However, the real problem with using those tables is that there's no way we could think of to match the portlet sessions with SSO sessions/actions listed in the tables. (Consider situation when someone logs in from two PCs.)
Any ideas? -
Anyone using Java Portlet Tools?
Is anyone using the Java Portlet Tools to develop portlets?
You can read about it here:
http://dev2dev.bea.com/pub/a/2006/05/java-portlet-tools.html
I was told by BEA that this is unsupported but I don't think thats going to be a problem.
If you are not using this then how do you build portlets in java without resorting to scriptlet code?Thanks for the reply Chris.
It looks like the portlet tools does 3 things:
1 - filters content like the DotNet WCC http module to make existing apps behave when run inside the portal
2 - drops a bean in the request automatically for you so that you can access portlet functionality on the jsp with JSTL and no scriptlet code
3 - gives you some custom tags to read and write session prefs and publish and subscribe to events without javascript
Items 2 and 3 are very desirable to me for new portlet development.
So who is using this toolkit and are you using it with JSF or Struts or just straight JSP? -
Problems with the article Building JSR 168-Compliant Portlets with Sun Java
i try to make my first portlet with the article Building JSR 168-Compliant Portlets with Sun Java Studio Enterprise
But when start the portlet simulator in the sun java studio i have an error. I did all that the article says. Please help me!!
Thanks and sorry for my english
Errors generated by provider instance - see log output
Error in provider method getContent(): com.sun.portal.providers.ProviderException: JSPProvider.processJSPFile(): jsp=HarnessPortletContent.jsp, java.lang.NullPointerException
Message: Locale string - es_ES
Message: Obtained client type - html.
Message: Got session property "filePath" = "null".
Message: Locale string - es_ES
Message: Got String property "contentPage" for channel "HarnessPortletChannel" = "HarnessPortletContent.jsp".
Message: Locale string - es_ES
Message: Obtained client type - html.
Message: Client path - null
Message: Obtained template path: C:\Documents and Settings\jbonardi\jstudio_6ee_user\ps\desktop\default\HarnessPortletChannel\HarnessPortletContent.jsp
Message: Set session property "javax.portlet.http_session_id" to object "BC7F955E23394EF2EA8772E8B60F1CC4".
Message: Got localized String property "title" for channel "HarnessPortletChannel" = "HarnessPortletProvider".
Message: Boolean property "isEditable" for channel "HarnessPortletChannel" does not exist.
Message: Got localized String property "description" for channel "HarnessPortletChannel" = "HarnessPortletProvider".
Message: String property "helpURL" for channel "HarnessPortletChannel" exists.
Message: Got String property "helpURL" for channel "HarnessPortletChannel" = "desktop/usedesk.htm".
Message: Locale string - es_ES
Message: Got String property "docroot" for channel "HarnessPortletChannel" = "/portalserver/docs/".
Message: Got String property "contentPage" for channel "HarnessPortletChannel" = "HarnessPortletContent.jsp".
Message: Boolean property "showExceptions" for channel "HarnessPortletChannel" does not exist.
Message: Locale string - es_ES
Message: Obtained client type - html.
Message: Client path - null
Message: Obtained template path: C:\Documents and Settings\jbonardi\jstudio_6ee_user\ps\desktop\default\HarnessPortletChannel\HarnessPortletContent.jsp
Message: Locale string - es_ES
Message: Obtained client type - html.
Message: Client path - null
Message: Obtained template most specific path: C:\Documents and Settings\jbonardi\jstudio_6ee_user\ps\desktop\default\HarnessPortletChannel\HarnessPortletContent.jsp
Message: Obtained client type - html.
Message: Got collection property "hasHelpByMimeType" for channel "portlet_GoogleSearchPortlet.
Message: Got localized String property "title" for channel "portlet_GoogleSearchPortlet" = "__Portlet__portlet.GoogleSearchPortlet".
Message: Boolean property "isEditable" for channel "portlet_GoogleSearchPortlet" exists.
Message: Got String property "entityIDPrefix" for channel "portlet_GoogleSearchPortlet" = "portlet|GoogleSearchPortlet".
Message: Got session property "javax.portlet.portletc.renderParams.portlet|GoogleSearchPortlet|portlet_GoogleSearchPortlet" = "null".
Message: Got session property "javax.portlet.portletc.portlet|GoogleSearchPortlet|portlet_GoogleSearchPortlet.isTarget" = "null".
Message: Set session property "javax.portlet.portletc.portlet|GoogleSearchPortlet|portlet_GoogleSearchPortlet.isTarget" to object "false".
Message: Obtained client type - html.
Message: Collection property "roleMap" for channel "portlet_GoogleSearchPortlet" does not exist.
Message: Collection property "userInfoMap" for channel "portlet_GoogleSearchPortlet" does not exist.
Message: Boolean property "showExceptions" for channel "HarnessPortletChannel" does not exist.
Error: Error in provider getContent()
<<<<<<<< Stack Backtrace:
com.sun.portal.providers.ProviderException: JSPProvider.processJSPFile(): jsp=HarnessPortletContent.jsp, java.lang.NullPointerException
at com.sun.portal.providers.jsp.JSPProvider.processJspFile(JSPProvider.java:880)
at com.sun.portal.providers.jsp.JSPProvider.processJspFile(JSPProvider.java:777)
at com.sun.portal.providers.jsp.JSPProvider.getContent(JSPProvider.java:546)
at com.sun.portal.harness.HarnessPortletProvider.getContent(Unknown Source)
at com.sun.portal.harness.ProviderHarness.createContent(Unknown Source)
at com.sun.portal.harness.ProviderHarness.initProvider(Unknown Source)
at com.sun.portal.harness.ProviderHarness.getHarness(Unknown Source)
at org.apache.jsp.desktop_0005cdefault_0005charness_0005cPSSimTarget$jsp._jspService(desktop_0005cdefault_0005charness_0005cPSSimTarget$jsp.java:73)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.netbeans.modules.tomcat.tomcat40.runtime.IDEJspServlet$JspServletWrapper.service(IDEJspServlet.java:173)
at org.netbeans.modules.tomcat.tomcat40.runtime.IDEJspServlet.serviceJspFile(IDEJspServlet.java:246)
at org.netbeans.modules.tomcat.tomcat40.runtime.IDEJspServlet.service(IDEJspServlet.java:339)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:683)
at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:574)
at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:497)
at org.apache.jsp.PSSim$jsp._jspService(PSSim$jsp.java:84)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.netbeans.modules.tomcat.tomcat40.runtime.IDEJspServlet$JspServletWrapper.service(IDEJspServlet.java:173)
at org.netbeans.modules.tomcat.tomcat40.runtime.IDEJspServlet.serviceJspFile(IDEJspServlet.java:246)
at org.netbeans.modules.tomcat.tomcat40.runtime.IDEJspServlet.service(IDEJspServlet.java:339)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:226)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:646)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:483)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:646)
at org.netbeans.modules.web.monitor.catalina.MonitorValve.invoke(MonitorValve.java:148)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:644)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:483)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2349)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:646)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:644)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:171)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:644)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:469)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:644)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:483)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:646)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:483)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1040)
at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1151)
at java.lang.Thread.run(Thread.java:534)
java.lang.NullPointerException
at com.sun.portal.harness.HarnessPortletProvider.doGetContent(Unknown Source)
at _jspsC_0003a._Documents_00020and_00020Settings._jbonardi._jstudio_6ee_user._ps._desktop._default._HarnessPortletChannel._HarnessPortletContent_jsp._jspService(_HarnessPortletContent_jsp.java:215)
at com.sun.portal.providers.jsp.jasper3.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sun.portal.providers.jsp.JspServletWrapper.service(JspServletWrapper.java:182)
at com.sun.portal.providers.jsp.JSPProvider.processJspFile(JSPProvider.java:863)
at com.sun.portal.providers.jsp.JSPProvider.processJspFile(JSPProvider.java:777)
at com.sun.portal.providers.jsp.JSPProvider.getContent(JSPProvider.java:546)
at com.sun.portal.harness.HarnessPortletProvider.getContent(Unknown Source)
at com.sun.portal.harness.ProviderHarness.createContent(Unknown Source)
at com.sun.portal.harness.ProviderHarness.initProvider(Unknown Source)
at com.sun.portal.harness.ProviderHarness.getHarness(Unknown Source)
at org.apache.jsp.desktop_0005cdefault_0005charness_0005cPSSimTarget$jsp._jspService(desktop_0005cdefault_0005charness_0005cPSSimTarget$jsp.java:73)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.netbeans.modules.tomcat.tomcat40.runtime.IDEJspServlet$JspServletWrapper.service(IDEJspServlet.java:173)
at org.netbeans.modules.tomcat.tomcat40.runtime.IDEJspServlet.serviceJspFile(IDEJspServlet.java:246)
at org.netbeans.modules.tomcat.tomcat40.runtime.IDEJspServlet.service(IDEJspServlet.java:339)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:683)
at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:574)
at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:497)
at org.apache.jsp.PSSim$jsp._jspService(PSSim$jsp.java:84)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.netbeans.modules.tomcat.tomcat40.runtime.IDEJspServlet$JspServletWrapper.service(IDEJspServlet.java:173)
at org.netbeans.modules.tomcat.tomcat40.runtime.IDEJspServlet.serviceJspFile(IDEJspServlet.java:246)
at org.netbeans.modules.tomcat.tomcat40.runtime.IDEJspServlet.service(IDEJspServlet.java:339)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:226)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:646)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:483)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:646)
at org.netbeans.modules.web.monitor.catalina.MonitorValve.invoke(MonitorValve.java:148)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:644)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:483)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2349)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:646)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:644)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:171)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:644)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:469)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:644)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:483)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:646)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:483)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1040)
at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1151)
at java.lang.Thread.run(Thread.java:534)
>>>>>>>>
Message: Got String property "width" for channel "HarnessPortletChannel" = "thick".You�ve got to unmount the portal server fs from your project, disable the portlet builder plugin (Tools->options->,,,PortletBuilder) then erase the ps folder inside your ide profile and then start the portlet builder module again. Try to simulate it again and it should work.
Regards,
Pablo. -
USING APACHE STURUTS BRIDGE WITH ORACLE PORTAL FOR STRUTS - JSR 168 PORTLET
I am trying to develop a JSR - 168 compliant portlet which uses struts framework.I am using APACHE STRUTS BRIDGE to run the application in my ORACLE 10.1.4 Portal server.While doing the configuration accoring to the documentation given in URL http://www.ja-sig.org/wiki/display/PLT/Struts+Bridge
(apache struts bridge), i was asked to add an <init-param> entery in the portlet.xml file to get the ServletContext.So i need to know where is the ServletContextProvider implementation class which implements ServletContextProvider available in Oracle AS so that i can use that to get the ServletContext and use it furthur.
Thanks
Deepakyou could write your own implementation class for the ServletContextProvider interface and fill in the portlet.xml with the class you class
It could be written as follows:
package Edmunds.com.portal.bridges;
import javax.portlet.GenericPortlet;
import javax.portlet.PortletRequest;
import javax.portlet.PortletResponse;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequestWrapper;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpServletResponseWrapper;
/* note that PortletApplicationImpl is oracle version of portletContextImpl */
import oracle.webdb.wsrp.server.PortletApplicationImpl;
import org.apache.portals.bridges.common.ServletContextProvider;
* PortalServletContextProvider supplies access to the Servlet context of Oralce Portal Portlet.
public class PortalServletContextProvider implements ServletContextProvider {
public ServletContext getServletContext(GenericPortlet portlet)
return ((PortletApplicationImpl) portlet.getPortletContext()).getServletContext();
public HttpServletRequest getHttpServletRequest(GenericPortlet portlet, PortletRequest request)
return (HttpServletRequest) ((HttpServletRequestWrapper) request).getRequest();
public HttpServletResponse getHttpServletResponse(GenericPortlet portlet, PortletResponse response) {
return (HttpServletResponse) ((HttpServletResponseWrapper) response).getResponse();
} -
WSRP or JSR-168 Portlets with PDK-Java
Is it possible to create WSRP or JSR-168 compliant portlets with PDK-Java or Bi beans?
Thanks,When PDK-Java was designed 4-5 years ago, there was no portlet standard on the horizon. While from an architecture point of view PDK-Java is very similar to WSRP, it uses a proprietary protocol. Therefore you can't expose PDK-Java portlets through WSRP.
You can, however, leverage the BI-beans in JSR 168 portlets, just like in any other Java environment.
Peter -
Multiple JSPs with JSR 168-compliant Java portlet
Hi,
I have an application with multiple JSPs that I'm trying to run in a portlet. Looks like a JSR 168 Java Portlet is the best way to do that. I want to avoid using proprietary PDK Portlet route.
A few questions:
1. Is there any sample of that available with multiple JSPs?
2. More specifically, if I have a form element in one jsp, can I specify another JSP in the action element, or do I have to use an actionURL or renderURL?
3. Also, how can I can debug my Java portlet from JDeveloper?
Thanks.
- AnupamHi,<br>
I'm building a JSR 168 Java portlet. I've been trying to pass params from my JSP using actionURL in my jsp, like so:<br><br>
<FORM METHOD="POST" ACTION="<portlet:renderURL/>">
<TABLE BORDER="0" CELLPADDING="4" CELLSPACING="0" BGCOLOR="#eeeeee">
<TR>
<TD ALIGN="right">
<FONT FACE="Arial" SIZE="-1 ">User Name:</FONT>
</TD>
<TD>
<INPUT NAME="userName" SIZE="12" MAXLENGTH="32">
</TD>
</TR>
<TR>
<TD>
<INPUT NAME="action" SIZE="12" TYPE="hidden" value="Login">
</TD>
</TR>
</TABLE>
</FORM>
<br><br>
I find that in my processAction, I can see value of "action" parameter but not the value the user enters in the portlet for "userName".<br><br>
Any idea why? I must be doing sthing wrong, dunno what.<br><br>
Also, if I use renderURL instead of actionURL, I don't even see "action" getting passed. Is that expected?<br><br>
Thanks -
Java Portlets only JSR 168 compatible Portlet in Weblogic Portal 9.x?
I and need to develop a JSR 168 Portlet that contains JSF components. I have looked through a lot of the training material, newsgroups and web sites for any information on how to perform this within the Weblogic Portal tools and have been unsuccessful.
Is there a way in Weblogic Portal 9.x to create a Portlet that is JSR 168 compliant and capable of containing JSF components through the tool interface?I and need to develop a JSR 168 Portlet that contains JSF components. I have looked through a lot of the training material, newsgroups and web sites for any information on how to perform this within the Weblogic Portal tools and have been unsuccessful.
Is there a way in Weblogic Portal 9.x to create a Portlet that is JSR 168 compliant and capable of containing JSF components through the tool interface?
Maybe you are looking for
-
Open VI Reference asking save option
Hello, I am opening a VI reference to analyze the state of the VI and closing it back and repeating this process for the bunch of VI's in a folder. While closing the VI reference, it is throwing save dialog box for the some of the VI's, after closing
-
How to drag and drop icon in the browser
hi i Have A web page that i should drag some responces from right to their correct location in Left.in pc I hold left mouse buttom and drag icon into its Correct place and drop it but I can't do that on the android browser. how should I do that? and
-
Why can't I purchase apps for my university?
Seriously Apple you need to pull-finger and get the App Store working. I have computers that need software that can't be purchased anywhere but the App Store yet universitys and businesses outside the US still can't purchase lisences. I have money I
-
Mapping complete - process flow busy
Hi all, I've a problem with a process flow I've imported from another server. If I run this process flow in the testing server it runs and complete without problems. Now, I've imported this process flow in the production server but it doesn't complet
-
Hello, I downloaded the English-Arabic enabled trial of CS6 because I occasionally work with Arabic text. However, my main language is English, but when I click on 'help' the page appears only in Arabic. There are also some other instances where Arab