JSR 168 included in Weblogic 9 ?
Is-it true that now we are able to deploy portlets in weblogic server 9 ?
Does this means that we don't need any more to purchase
weblogic portal ?
Thanks for your help,
For those that might care. It appears that portals.jar does not come along and must be included. it can be found at <WebLogic Home>/weblogic81/portal/lib/netuix/system/ext/system/portlet.jar
You must include this in your WEB-INF/lib/ for this to compile. There are also a great number of jsp fragments that require you rename them to jspf and change the links. Lastly I am working on the weather bean which apparently has an undefined constructor.
Similar Messages
-
How to deploy a JSR-168 Portlet in Weblogic?
I am running WLS 8.1 with the advanced JSR-168 support installed (not yet running
SP2). I have a JSR-168 portlet war that I had been testing in the JSR-168 reference
implementation (pluto). Can someone please point me to the instructions on how
to now import my portlet war into Workshop so that I can add it to my Weblogic
portal?
Thanks!
-DavidYou cannot simply "deploy" a JSR 168 portlet into Weblogic using a WAR file in
my experience. This is what I did to achieve deployment of a JSR 168 portlet in
BEA WLS 8.1SP2:
* File | New | Portlet | Java Portlet
* Just type in the name of your view class name when asked for it.
This creates a "YourAppName.portlet" file, which I believe Bea requires for any
Portlet in order to make it available for use in their portals.
* Add your files (*.jar, *.java *.jsp, etc).
* Modify WEB-INF/portlet.xml to include all required descriptor elements that
you have in your WAR file (keep in mind that there is only one portlet.xml for
all portlets in a single web application)
I was unable to use redirects for some reason, but it worked fine with include.
"David" <[email protected]> wrote:
>
I am running WLS 8.1 with the advanced JSR-168 support installed (not
yet running
SP2). I have a JSR-168 portlet war that I had been testing in the JSR-168
reference
implementation (pluto). Can someone please point me to the instructions
on how
to now import my portlet war into Workshop so that I can add it to my
Weblogic
portal?
Thanks!
-David -
How to DEPLOY and ACCESS JSR 168 portlet in weblogic server
I installed Web Logic Server 10.3, Web Logic Portal 10.3 and Workshop 10.3 on my system. I created a sample portal application in workshop and able to see the output with the help of workshop.
1. I imported JSR 168 portlet in "Import Utility" and able to see the deployed war in Deployments folder of "Weblogic Server Administration Console", but unable to test that deployed portlet. That Deployed portlet was unable to see in "Weblogic Portal Administration Console"
2. How can i import JSR 168 portlet from workshop and view that portlet?
3. How can i import JSR 168 portlets from "Weblogic Portal Administration Console" and view them?
Please help me out with the solutions and procedures...
Thanking you in advance,
Bhargavi Javvadi.Create a WAR file for your Web app
Put it where the Weblogic 8.1 docs tell you to.
Restart Weblogic server.
% -
IPC with JSR 168 portlets and WebLogic Portal 9.2.3
I have seen examples in this forum indicating that you can implement IPC in JSR 168 portlets by doing the following:
1. Fire a custom event in the processAction() method of one portlet.
2. Handle the custom event in another portlet that is listening for the event.
3. The listening portlet should contain a method such as
processMyCustomEvent(ActionRequest req, ActionResponse resp, Event event)4. The method is mapped as a handler for the custom event in the listening portlet's +.portlet+ file:
<netuix:javaPortlet definitionLabel="jsr168EventPortlet" title="JSR168 event portlet">
<netuix:handleCustomEvent event="myCustomEvent" eventLabel="customEventOne" filterable="true" description="custom event handler">
<netuix:invokeJavaPortletMethod method="processMyCustomEvent" />
</netuix:handleCustomEvent>
</netuix:javaPortlet>However, the examples I've found in this forum seem to pertain only to installations of WebLogic Portal 10.x or higher.
Does this JSR 168 IPC approach work for WebLogic Portal 9.2.3?
(The example provided in the WL Portal 9.2.3 documentation uses a Backing File to handle the event instead of invoking a method in the portlet class itself.)
Any clarification that can be provided would be much appreciated. Thanks.
Edited by: user13297286 on Jun 15, 2010 2:02 PMHello,
Yes, JSR168 portlet IPC is supported in WLP 9.2, and you can use the "invokeJavaPortletMethod" (recommended) or the invokeBackingFileMethod in the .portlet file to configure your portlet to receive events.
Kevin -
Sun jsr-168 portlets in weblogic 8.1
I am trying to get the sun portlet examples to run in the bea weblogic 8.1 portal. The issue is that I can not build the project for deployment.
from the notecard example I get the following
The top of my jsp looks like this.
<%@ page import="com.sun.portal.portlet.samples.notepad.NotepadPortlet"%>
<%@ page import="java.net.URLEncoder"%>
<%@ page import="javax.portlet.*"%>
<%@ page import="javax.portlet.WindowState"%>
<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet"%>
<portlet:defineObjects/>
<script language="JavaScript">
function switchCategory() {
newSelection = document.NOTEPAD.categoryList.selectedIndex;
category = document.NOTEPAD.categoryList.options[newSelection].value;
<%
PortletURL changeCatURL = rRes.createRenderURL();
changeCatURL.setParameter( NotepadPortlet.PAGE_NO, "0" );
%>
jumptoURL = "<%=changeCatURL%>"+"&category="+newSelection;
document.location.href = jumptoURL;
</script>
The error message I get is No Variable, field, type or package with this name could be found at this location.
It is failing at this line:
PortletURL changeCatURL = rRes.createRenderURL();
OK the question is what am I missing?
NFor those that might care. It appears that portals.jar does not come along and must be included. it can be found at <WebLogic Home>/weblogic81/portal/lib/netuix/system/ext/system/portlet.jar
You must include this in your WEB-INF/lib/ for this to compile. There are also a great number of jsp fragments that require you rename them to jspf and change the links. Lastly I am working on the weather bean which apparently has an undefined constructor. -
I am developing a JSR 168 portlet on weblogic portal server and I found that RenderResponse.setTitle() doesn't work in weblogic portal. So, my question is that, is JFP the prefer way to write a portlet for weblogic? Will weblogic portal support more on JSR 168 in the future? Or JFP will still be the prefer way to implement portlet in the future.
Thanks.Both will be supported in future.
Please contact support about the setTitle() issue.
Subbu
Jie-yuan Wu wrote:
I am developing a JSR 168 portlet on weblogic portal server and I
found that RenderResponse.setTitle() doesn't work in weblogic portal.
So, my question is that, is JFP the prefer way to write a portlet for
weblogic? Will weblogic portal support more on JSR 168 in the future?
Or JFP will still be the prefer way to implement portlet in the
future.
Thanks. -
Deploying JSR-168 portlets error in Weblogic Portal 9.2MP2
Hello,
We're using WebLogic 9.2MP2 and ALBPM 5.7 SP2 enterprise server standalone. We want display in our portal the In-Box to the user as a JSR-168 portlet.
We are following the steps in the following guide:
http://edocs.bea.com/albsi/docs57/adminguide/jsr-168/ad_jsr168_wl92_deployingalbpmjsr168portlets.htm
but when we try to add a new remote producer using the WebLogic Portal Administrator Console we get this error ( in the "Find producer" step):
com.bea.jsptools.portal.helpers.wsrp.AddProducerControlException: java.rmi.RemoteException: Remote method invocation failed: weblogic.xml.crypto.wss.WSSecurityException: Unable to add security token for identity.; nested exception is:
weblogic.xml.crypto.wss.WSSecurityException: Unable to add security token for identity
at com.bea.jsptools.portal.helpers.wsrp.AddProducerHelper.getProducerForWsdl(AddProducerHelper.java:712)
at com.bea.jsptools.portal.helpers.wsrp.AddProducerHelper.access$100(AddProducerHelper.java:61)
at com.bea.jsptools.portal.helpers.wsrp.AddProducerHelper$FindProducers.producerWsdl(AddProducerHelper.java:249)
at com.bea.jsptools.portal.helpers.wsrp.AddProducerHelper$FindProducers.run(AddProducerHelper.java:235)
at portalTools.definitions.portletProducers.wizard.AddProducerWizardController.runAction(AddProducerWizardController.java:566)
at portalTools.definitions.portletProducers.wizard.AddProducerWizardController.doIfValid(AddProducerWizardController.java:542)
at portalTools.definitions.portletProducers.wizard.AddProducerWizardController.selectProducerAction(AddProducerWizardController.java:172)
at sun.reflect.GeneratedMethodAccessor956.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:615)
at org.apache.beehive.netui.pageflow.FlowController.invokeActionMethod(FlowController.java:878)
at org.apache.beehive.netui.pageflow.FlowController.getActionMethodForward(FlowController.java:808)
at org.apache.beehive.netui.pageflow.FlowController.internalExecute(FlowController.java:477)
at org.apache.beehive.netui.pageflow.PageFlowController.internalExecute(PageFlowController.java:305)
at org.apache.beehive.netui.pageflow.FlowController.execute(FlowController.java:335)
at org.apache.beehive.netui.pageflow.internal.FlowControllerAction.execute(FlowControllerAction.java:51)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.access$201(PageFlowRequestProcessor.java:95)
at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor$ActionRunner.execute(PageFlowRequestProcessor.java:2042)
at org.apache.beehive.netui.pageflow.interceptor.action.internal.ActionInterceptors.wrapAction(ActionInterceptors.java:90)
at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processActionPerform(PageFlowRequestProcessor.java:2114)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processInternal(PageFlowRequestProcessor.java:554)
at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.process(PageFlowRequestProcessor.java:851)
at org.apache.beehive.netui.pageflow.AutoRegisterActionServlet.process(AutoRegisterActionServlet.java:630)
at org.apache.beehive.netui.pageflow.PageFlowActionServlet.process(PageFlowActionServlet.java:157)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
at org.apache.beehive.netui.pageflow.PageFlowUtils.strutsLookup(PageFlowUtils.java:1169)
at com.bea.portlet.adapter.scopedcontent.ScopedContentCommonSupport.executeAction(ScopedContentCommonSupport.java:688)
at com.bea.portlet.adapter.scopedcontent.ScopedContentCommonSupport.processActionInternal(ScopedContentCommonSupport.java:144)
at com.bea.portlet.adapter.scopedcontent.PageFlowStubImpl.processAction(PageFlowStubImpl.java:107)
at com.bea.portlet.adapter.NetuiActionHandler.raiseScopedAction(NetuiActionHandler.java:99)
at com.bea.netuix.servlets.controls.content.NetuiContent.raiseScopedAction(NetuiContent.java:180)
at com.bea.netuix.servlets.controls.content.NetuiContent.raiseScopedAction(NetuiContent.java:168)
at com.bea.netuix.servlets.controls.content.NetuiContent.handlePostbackData(NetuiContent.java:222)
at com.bea.netuix.nf.ControlLifecycle$2.visit(ControlLifecycle.java:178)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:351)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
at com.bea.netuix.nf.ControlTreeWalker.walk(ControlTreeWalker.java:128)
at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:361)
at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:339)
at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:330)
at com.bea.netuix.nf.Lifecycle.runInbound(Lifecycle.java:162)
at com.bea.netuix.nf.Lifecycle.run(Lifecycle.java:137)
at com.bea.netuix.servlets.manager.UIServlet.runLifecycle(UIServlet.java:370)
at com.bea.netuix.servlets.manager.UIServlet.doPost(UIServlet.java:229)
at com.bea.netuix.servlets.manager.UIServlet.service(UIServlet.java:183)
at com.bea.netuix.servlets.manager.SingleFileServlet.service(SingleFileServlet.java:221)
at com.bea.netuix.servlets.manager.PortalServlet.service(PortalServlet.java:600)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:223)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
at com.bea.jsptools.servlet.PagedResultServiceFilter.doFilter(PagedResultServiceFilter.java:82)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
at com.bea.p13n.servlets.PortalServletFilter.doFilter(PortalServletFilter.java:251)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3243)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2003)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1909)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1359)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
Caused by: java.rmi.RemoteException: Remote method invocation failed: weblogic.xml.crypto.wss.WSSecurityException: Unable to add security token for identity.; nested exception is:
weblogic.xml.crypto.wss.WSSecurityException: Unable to add security token for identity
at com.bea.wsrp.proxy.WseeProxy.dispatch(WseeProxy.java:274)
at com.bea.wsrp.proxy.WseeProxy.sendMessage(WseeProxy.java:131)
at com.bea.wsrp.proxy.WseeProxy.dispatch(WseeProxy.java:103)
at com.bea.wsrp.proxy.ProxyBase.invoke(ProxyBase.java:438)
at $Proxy83.getServiceDescription(Unknown Source)
at com.bea.wsrp.client.ProducerAgentImpl.getServiceDescription(ProducerAgentImpl.java:93)
at com.bea.wsrp.client.ProducerAgentImpl.getServiceDescription(ProducerAgentImpl.java:55)
at com.bea.jsptools.portal.helpers.wsrp.ProducerRegistryControlImpl.getServiceDescription(ProducerRegistryControlImpl.java:205)
at com.bea.jsptools.portal.helpers.wsrp.ProducerRegistryControlBean.getServiceDescription(ProducerRegistryControlBean.java:133)
at com.bea.jsptools.portal.helpers.wsrp.AddProducerHelper.getProducerForWsdl(AddProducerHelper.java:704)
... 80 more
Caused by: weblogic.xml.crypto.wss.WSSecurityException: Unable to add security token for identity
at weblogic.wsee.security.wss.SecurityPolicyDriver.processIdentity(SecurityPolicyDriver.java:175)
at weblogic.wsee.security.wss.SecurityPolicyDriver.processOutbound(SecurityPolicyDriver.java:73)
at weblogic.wsee.security.WssClientHandler.processOutbound(WssClientHandler.java:69)
at weblogic.wsee.security.WssClientHandler.processRequest(WssClientHandler.java:53)
at weblogic.wsee.security.WssHandler.handleRequest(WssHandler.java:72)
at weblogic.wsee.handler.HandlerIterator.handleRequest(HandlerIterator.java:127)
at weblogic.wsee.handler.HandlerIterator.handleRequest(HandlerIterator.java:100)
at weblogic.wsee.ws.dispatch.client.ClientDispatcher.dispatch(ClientDispatcher.java:101)
at com.bea.wsrp.proxy.WseeProxy.dispatch(WseeProxy.java:236)
... 89 more
and this is the content of the wsdl
<s0:definitions name="" targetNamespace="urn:oasis:names:tc:wsrp:v1:wsdl">
<s0:import location="http://esmadaix01:7001/fportlets/producer/wsrp-1.0/markup?WSDL/wlp_wsrp_v1_bindings.wsdl" namespace="urn:bea:wsrp:ext:v1:bind"/>
<s0:import location="http://esmadaix01:7001/fportlets/producer/wsrp-1.0/markup?WSDL/wsrp_v1_bindings.wsdl" namespace="urn:oasis:names:tc:wsrp:v1:bind"/>
<s1:Policy s2:Id="ProducerDefaultPolicy">
<s1:All>
<wssp:Identity>
<wssp:SupportedTokens>
<wssp:SecurityToken TokenType="http://docs.oasis-open.org/wss/2004/01/oasis-2004-01-saml-token-profile-1.0#SAMLAssertionID">
<wssp:Claims>
<wssp:ConfirmationMethod>sender-vouches</wssp:ConfirmationMethod>
</wssp:Claims>
</wssp:SecurityToken>
</wssp:SupportedTokens>
</wssp:Identity>
</s1:All>
</s1:Policy>
<wsp:UsingPolicy s0:Required="true"/>
<s0:service name="WSRPService">
<s0:port binding="s3:WSRP_v1_Markup_Binding_SOAP" name="WSRPBaseService">
<s4:address location="http://esmadaix01:7001/fportlets/producer/wsrp-1.0/markup"/>
</s0:port>
<s0:port binding="s3:WSRP_v1_ServiceDescription_Binding_SOAP" name="WSRPServiceDescriptionService">
<s4:address location="http://esmadaix01:7001/fportlets/producer/wsrp-1.0/serviceDescription"/>
</s0:port>
<s0:port binding="s3:WSRP_v1_Registration_Binding_SOAP" name="WSRPRegistrationService">
<s4:address location="http://esmadaix01:7001/fportlets/producer/wsrp-1.0/registration"/>
</s0:port>
<s0:port binding="s3:WSRP_v1_PortletManagement_Binding_SOAP" name="WSRPPortletManagementService">
<s4:address location="http://esmadaix01:7001/fportlets/producer/wsrp-1.0/portletManagement"/>
</s0:port>
<s0:port binding="s5:WLP_WSRP_v1_Markup_Ext_Binding_SOAP" name="WLP_WSRP_Ext_Service">
<s4:address location="http://esmadaix01:7001/fportlets/producer/wsrp-wlp-ext-1.0/markup"/>
</s0:port>
</s0:service>
</s0:definitions>
I don't know what to do..., please help!!
Thanks in advance for your help.I also have a similar problem with ALSB, I'm trying to call a service which is signed with usernameToken, i created a service account, and passed the remote username and password, but unfortunatily i get the follownig error:
<Dec 24, 2007 10:49:52 AM GST> <Info> <Server> <BEA-002605> <Adding address: 83.
110.15.81 to licensed client list>
<Dec 24, 2007 10:50:00 AM GST> <Warning> <netuix> <BEA-423430> <The portal <dire
ctive.page> element has been deprecated. You can set the page encoding on the <n
etuix:desktop> element.>
<Dec 24, 2007 10:50:02 AM GST> <Warning> <netuix> <BEA-423420> <Redirect is exec
uted in begin or refresh action. Redirect url is jsp/login/index.jsp.>
<Dec 24, 2007 10:50:07 AM GST> <Info> <JMX> <BEA-149505> <The administration ser
ver was unable to establish JMX Connectivity with the Server1 at the JMX Service
URL of <none>.>
<Dec 24, 2007 10:50:09 AM GST> <Notice> <Stdout> <000000> <nl.ikarus.nxt.priv.im
ageio.icoreader.lib.ICOReader loaded, version: 0.06.064 build: 691>
<Dec 24, 2007 10:50:24 AM GST> <Info> <Health> <BEA-310002> <54% of the total me
mory in the server is free>
<Dec 24, 2007 10:50:25 AM GST> <Warning> <netuix> <BEA-423430> <The portal <dire
ctive.page> element has been deprecated. You can set the page encoding on the <n
etuix:desktop> element.>
<Dec 24, 2007 10:50:40 AM GST> <Info> <ALSB Security> <BEA-387027> <Message-leve
l access control policy grants access to proxy "Fadia/ADTA/PSMine", operation "S
endSMS", message-id: 7380087946135603967-36ae4590.1170ae9bb75.-7ff3, subject: Su
bject: 3
Principal = class weblogic.security.principal.WLSUserImpl("weblogic")
Principal = class weblogic.security.principal.WLSGroupImpl("Administrato
rs")
Principal = class weblogic.security.principal.WLSGroupImpl("IntegrationA
dministrators")
.>
<Dec 24, 2007 10:50:40 AM GST> <Error> <ALSB Security> <BEA-387024> <An error oc
urred during web service security outbound request processing [error-code: Fault
, message-id: 7380087946135603967-36ae4590.1170ae9bb75.-7ff3, proxy: Fadia/ADTA/
PSMine, target: Fadia/ADTA/BSsmsMINE, operation: SendSMS]
--- Error message:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soa
penv:Header/><soapenv:Body><soapenv:Fault><faultcode>soapenv:Server</faultcode><
faultstring>Unable to add security token for identity</faultstring></soapenv:Fau
lt></soapenv:Body></soapenv:Envelope>
weblogic.xml.crypto.wss.WSSecurityException: Unable to add security token for id
entity
at weblogic.wsee.security.wss.SecurityPolicyDriver.processIdentity(Secur
ityPolicyDriver.java:175)
at weblogic.wsee.security.wss.SecurityPolicyDriver.processOutbound(Secur
ityPolicyDriver.java:73)
at weblogic.wsee.security.WssClientHandler.processOutbound(WssClientHand
ler.java:69)
at weblogic.wsee.security.WssClientHandler.processRequest(WssClientHandl
er.java:53)
at weblogic.wsee.security.WssHandler.handleRequest(WssHandler.java:72)
at com.bea.wli.sb.security.wss.WssOutboundHandler$1.run(WssOutboundHandl
er.java:140)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticate
dSubject.java:363)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:
147)
at com.bea.wli.sb.security.wss.WssOutboundHandler.processRequest(WssOutb
oundHandler.java:138)
at com.bea.wli.sb.security.wss.WssHandlerImpl.doOutboundRequest(WssHandl
erImpl.java:901)
at com.bea.wli.sb.context.BindingLayerImpl.createTransportSender(Binding
LayerImpl.java:487)
at com.bea.wli.sb.pipeline.PipelineContextImpl.doDispatch(PipelineContex
tImpl.java:501)
at com.bea.wli.sb.pipeline.PipelineContextImpl.dispatch(PipelineContextI
mpl.java:488)
at stages.routing.runtime.RouteRuntimeStep.processMessage(RouteRuntimeSt
ep.java:127)
at com.bea.wli.sb.stages.StageMetadataImpl$WrapperRuntimeStep.processMes
sage(StageMetadataImpl.java:319)
at com.bea.wli.sb.pipeline.RouteNode.doRequest(RouteNode.java:108)
at com.bea.wli.sb.pipeline.Node.processMessage(Node.java:68)
at com.bea.wli.sb.pipeline.PipelineContextImpl.execute(PipelineContextIm
pl.java:834)
at com.bea.wli.sb.pipeline.Router.processMessage(Router.java:194)
at com.bea.wli.sb.pipeline.MessageProcessor.processRequest(MessageProces
sor.java:75)
at com.bea.wli.sb.pipeline.RouterManager$1.run(RouterManager.java:669)
at com.bea.wli.sb.pipeline.RouterManager$1.run(RouterManager.java:668)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticate
dSubject.java:363)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:
147)
at com.bea.wli.sb.pipeline.RouterManager.processMessage(RouterManager.ja
va:666)
at com.bea.wli.sb.test.service.ServiceMessageSender.send0(ServiceMessage
Sender.java:265)
at com.bea.wli.sb.test.service.ServiceMessageSender.access$000(ServiceMe
ssageSender.java:86)
at com.bea.wli.sb.test.service.ServiceMessageSender$1.run(ServiceMessage
Sender.java:124)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticate
dSubject.java:363)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:
147)
at com.bea.wli.sb.test.service.ServiceMessageSender.send(ServiceMessageS
ender.java:127)
at com.bea.wli.sb.test.service.ServiceProcessor.invoke(ServiceProcessor.
java:404)
at com.bea.wli.sb.test.TestServiceImpl.invoke(TestServiceImpl.java:163)
at com.bea.wli.sb.test.client.ejb.TestServiceEJBBean.invoke(TestServiceE
JBBean.java:138)
at com.bea.wli.sb.test.client.ejb.TestService_sqr59p_EOImpl.invoke(TestS
ervice_sqr59p_EOImpl.java:427)
at com.bea.wli.sb.test.client.ejb.TestService_sqr59p_EOImpl_WLSkel.invok
e(Unknown Source)
at weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:17
4)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef
.java:335)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef
.java:252)
at com.bea.wli.sb.test.client.ejb.TestService_sqr59p_EOImpl_921_WLStub.i
nvoke(Unknown Source)
at com.bea.wli.sb.console.test.TestServiceClient.invoke(TestServiceClien
t.java:178)
at com.bea.wli.sb.console.test.actions.DefaultRequestAction.invoke(Defau
ltRequestAction.java:117)
at com.bea.wli.sb.console.test.actions.DefaultRequestAction.execute(Defa
ultRequestAction.java:70)
at org.apache.struts.action.RequestProcessor.processActionPerform(Reques
tProcessor.java:419)
at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.access$201
(PageFlowRequestProcessor.java:95)
at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor$ActionRunn
er.execute(PageFlowRequestProcessor.java:2042)
at org.apache.beehive.netui.pageflow.interceptor.action.internal.ActionI
nterceptors.wrapAction(ActionInterceptors.java:90)
at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processAct
ionPerform(PageFlowRequestProcessor.java:2114)
at com.bea.wli.common.base.SBConsoleRequestProcessor.processActionPerfor
m(SBConsoleRequestProcessor.java:78)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.ja
va:224)
at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processInt
ernal(PageFlowRequestProcessor.java:554)
at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.process(Pa
geFlowRequestProcessor.java:851)
at org.apache.beehive.netui.pageflow.AutoRegisterActionServlet.process(A
utoRegisterActionServlet.java:630)
at org.apache.beehive.netui.pageflow.PageFlowActionServlet.process(PageF
lowActionServlet.java:157)
at com.bea.console.internal.ConsoleActionServlet.process(ConsoleActionSe
rvlet.java:241)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
at com.bea.console.internal.ConsoleActionServlet.doGet(ConsoleActionServ
let.java:130)
at com.bea.wli.common.base.SBConsoleActionServlet.doGet(SBConsoleActionS
ervlet.java:58)
at org.apache.beehive.netui.pageflow.PageFlowUtils.strutsLookup(PageFlow
Utils.java:1169)
at com.bea.portlet.adapter.scopedcontent.ScopedContentCommonSupport.exec
uteAction(ScopedContentCommonSupport.java:688)
at com.bea.portlet.adapter.scopedcontent.ScopedContentCommonSupport.proc
essActionInternal(ScopedContentCommonSupport.java:144)
at com.bea.portlet.adapter.scopedcontent.StrutsStubImpl.processAction(St
rutsStubImpl.java:76)
at com.bea.portlet.adapter.NetuiActionHandler.raiseScopedAction(NetuiAct
ionHandler.java:99)
at com.bea.netuix.servlets.controls.content.NetuiContent.raiseScopedActi
on(NetuiContent.java:180)
at com.bea.netuix.servlets.controls.content.NetuiContent.raiseScopedActi
on(NetuiContent.java:168)
at com.bea.netuix.servlets.controls.content.NetuiContent.handlePostbackD
ata(NetuiContent.java:222)
at com.bea.netuix.nf.ControlLifecycle$2.visit(ControlLifecycle.java:178)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.j
ava:351)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.j
ava:361)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.j
ava:361)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.j
ava:361)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.j
ava:361)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.j
ava:361)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.j
ava:361)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.j
ava:361)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.j
ava:361)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.j
ava:361)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.j
ava:361)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.j
ava:361)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.j
ava:361)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.j
ava:361)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.j
ava:361)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.j
ava:361)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.j
ava:361)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.j
ava:361)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.j
ava:361)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.j
ava:361)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.j
ava:361)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.j
ava:361)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.j
ava:361)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.j
ava:361)
at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.j
ava:361)
at com.bea.netuix.nf.ControlTreeWalker.walk(ControlTreeWalker.java:128)
at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:361)
at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:339)
at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:330)
at com.bea.netuix.nf.Lifecycle.runInbound(Lifecycle.java:162)
at com.bea.netuix.nf.Lifecycle.run(Lifecycle.java:137)
at com.bea.netuix.servlets.manager.UIServlet.runLifecycle(UIServlet.java
:370)
at com.bea.netuix.servlets.manager.UIServlet.doPost(UIServlet.java:229)
at com.bea.netuix.servlets.manager.UIServlet.service(UIServlet.java:183)
at com.bea.netuix.servlets.manager.SingleFileServlet.service(SingleFileS
ervlet.java:221)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at weblogic.servlet.AsyncInitServlet.service(AsyncInitServlet.java:124)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run
(StubSecurityHelper.java:223)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecuri
tyHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.jav
a:283)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.ja
va:42)
at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsF
ilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.ja
va:42)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationActio
n.run(WebAppServletContext.java:3243)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticate
dSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:
121)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppS
ervletContext.java:2003)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletC
ontext.java:1909)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.j
ava:1359)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
>
PLEASE PEASE HELP -
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? -
How to deploy JSR 168 Portlet war into Weblogic Portal Server?
Hello experts!
I have the installed Oracle WebLogic Portal 10.3.2 with Examples.
And I want to deploy my jsr-168 portlet.
Now I could to import this portlet by docs:
http://download.oracle.com/docs/cd/E15919_01/wlp.1032/e14245/deployment.htm#i1047336
How can I add the web application as a WSRP producer using WebLogic Portal Administration Console?
What should I do?Hello Kevin,
my answers:
Are there any error or warning messages on the application server console when you deploy the generated EAR?When I checked the Auto-deploy checkbox and press Perform Import on the Import Tool page, I had:
Import Successful... Generated EAR:C:\Oracle\Middleware\wlportal_10.3\samples\domains\portal\helloApp.ear
But helloApp had the Warning status (Health column) on the Deployment page of the WL Server Administration Console
Health Information:
Name: AsyncProliferation
Health: OK
Reason: MDB application helloApp is connected to messaging system.
Name: MessageBufferBean
Health: Warning
Reason: MDB application helloApp is NOT connected to messaging system.
Name: MessageBufferTopicBean
Health: Warning
Reason: MDB application helloApp is NOT connected to messaging system.
If I did NOT check the Auto-deploy checkbox and then install on the Deployment page, I had:
Messages
All changes have been activated. No restarts are necessary.
The deployment has been successfully installed.
But helloApp had the Warning status (Health column) too.
Also, earlier you said that you were using WLP 10.3.2, but this issue sounds very similar to something
that happened in a previous version of WLP, so I just want to check with you again that you're using WLP 10.3.2, correct?Yes, I am using WLP *10.3.2*
WEB-INF/weblogic.xml ... , WEB-INF/wsrp-producer-config.xml ...
If you find these files in the generated WAR inside the generated EAR, can you post their contents here?
weblogic.xml content:
<?xml version="1.0" encoding="UTF-8"?>
<weblogic-web-app xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app">
<library-ref>
<library-name>wlp-framework-full-web-lib</library-name>
</library-ref>
<library-ref>
<library-name>wlp-framework-struts-1.2-web-lib</library-name>
</library-ref>
<library-ref>
<library-name>struts-1.2</library-name>
</library-ref>
<session-descriptor>
<cookie-name>JSESSIONID_hello</cookie-name>
</session-descriptor>
</weblogic-web-app>
wsrp-producer-config.xml content:
<?xml version="1.0" encoding="UTF-8"?>
<wsrp-producer-config xmlns="http://www.bea.com/servers/weblogic/wsrp-producer-config/9.0">
<service-config>
<registration secure="false" required="true"/>
<service-description secure="false"/>
<markup secure="false" rewrite-urls="true" transport="string"/>
<portlet-management secure="false" required="true"/>
</service-config>
<supported-locales>
<locale>en</locale>
<locale>en-US</locale>
</supported-locales>
<requiredUserProperties properties="specified"/>
</wsrp-producer-config> -
How do I enable JSR 168 portlet capability on Weblogic?
How do I enable JSR 168 portlet capability on Weblogic?
To enable JSR 168 portlet capability on Weblogic:
1. Open one of the files listed below in a text editor:
Windows: <drive>:\bea\weblogic81\common\bin\commEnv.cmd
Unix: /apps/bea/weblgic81/common/bin/commEnv.sh
2. Modify the file so that file qname.jar appears ahead of the weblogic.jar file in the system classpath. For example:
CLASSPATH=%WL_HOME%\newscale_drivers\
qname.jar;%WEBLOGIC_CLASSPATH%;%POINTBASE_CLASSPATH%;%JAVA_HOME%\jre\lib\rt.jar;%WL_HOME%\server\lib\webservices.jar ;%CLASSPATH%
3. Copy the qname.jar file from <newscale_installed_dir> folder to ${WL_HOME}/newscale_drivers folder.
For more information about newScale portlets, please see the JSR 168 Portlet Guide.Betreffend telnet und RV180:
Unter dem Menü-Punkt:
"Administration" - "Management Interface" - "Web Access"
kann man "Remote Management" auf "enable" setzen
und weiter unten auch den Punkt "Port" auswählen (Standardmässig HTTPS 443)
Wofür steht diese "Remote Management" Einstellung, wenn nur HTTPS funktioniert?
Das Problem ist, dass der RV180 zwar "no-ip.com" ergänzt hat, aber andere Seiten wie die hier beschriebene und weit umfangreichere nicht:
http://www.blindhog.net/cisco-routers-and-dynamic-dns/
Die Anleitung würde eine Konfiguration anderer dyndns Seiten zeigen, die per SSH oder Telnet konfiguriert werden könnten.... -
Weblogic Portal 10.3.5 - JSR-168 Portlet resize at runtime by the users
One of the requirement I'm trying to develop in WLP 10.3.5 for JSR-168 Portlet is to give the end user the flexibilty to resize (Just like we can do in Iframe in IE) it in runtime. Is it possible to do this ?
Any helpful link / pointers are welcome.
Edited by: hari_wc on Mar 25, 2013 8:46 AMHi,
Could someone pls explain which cache is used to cache portlet content and in which form the content is cached? -
JSR 168 support and portlet taglib
I could not find support for the ActionURL tag in the JSR 168 release for 8.1.
Are these tags available? If so, where can I find them?
Thanks,
SteveChris,
You can obtain an instance of renderRequest from the http request as in:
<%
RenderRequest renderRequest = (RenderRequest)
request.getAttribute("javax.portlet.request");
%>
Alternatively, if you've JSP base class set to
com.bea.portlet.jsp.PortletJspBase in your weblogic.xml (see WLS docs on
how to set a default base class for JSPs), all JSPs in your webapp can
automatically access renderRequest, renderResponse and portletConfig
variables directly, as in
<%
renderResponse.createActionURL(...);
%>
Subbu
Chris Jennings wrote:
I need custom tags that can get the namespace of a portlet. I don't mind writing
some to fill the gap until the final release. How can I get access to the RenderRequest
from in a home grown custom tag now?
Thanks!
Chris
Subbu Allamaraju <[email protected]> wrote:
These tags will be available in the final release. The preview release
does not include this tag library.
Subbu -
We can use JSR-168 JPS portlet upload file,
We can use JSR-168 JPS portlet upload file,
here is the source for you referrence:
upload file can use JSR168 portlet,
1,CustomizablePortlet.java File
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ResourceBundle;
import javax.portlet.*;
import oracle.webdb.utils.SimpleStringBuffer;
public class CustomizablePortlet extends GenericPortlet {
private static final String TITLE_KEY = "title";
protected static final String OK_ACTION = "ok_action";
protected static final String APPLY_ACTION = "apply_action";
protected static final PortletMode PREVIEW_MODE = new PortletMode("preview");
protected static final PortletMode EDIT_DEFAULTS_MODE = new PortletMode("EDIT_DEFAULTS");
protected static final PortletMode ABOUT_MODE = new PortletMode("ABOUT");
public CustomizablePortlet() {
public String getTitle(RenderRequest request) {
return request.getPreferences().getValue("title", getPortletConfig().getResourceBundle(request.getLocale()).getString("javax.portlet.title"));
public void doEdit(RenderRequest request, RenderResponse response) throws PortletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.print("<FORM ACTION=\"");
out.print(getEditFormSubmitURL(request, response));
out.println("\" METHOD=\"POST\">");
out.println("<TABLE BORDER=\"0\">");
out.println("<TR>");
out.println("<TD WIDTH=\"20%\">");
out.println("<P CLASS=\"portlet-form-field\" ALIGN=\"RIGHT\">Title:");
out.println("</TD>");
out.println("<TD WIDTH=\"80%\">");
out.print("<INPUT CLASS=\"portlet-form-input-field\" TYPE=\"TEXT\" NAME=\"");
out.print("title");
out.print("\" VALUE=\"");
out.print(getTitle(request));
out.println("\" SIZE=\"20\">");
out.println("</TD>");
out.println("</TR>");
out.println("<TR>");
out.println("<TD COLSPAN=\"2\" ALIGN=\"CENTER\">");
out.print("<INPUT CLASS=\"portlet-form-button\" TYPE=\"SUBMIT\" NAME=\"");
out.print("ok_action");
out.print("\" VALUE=\"OK\">");
out.print("<INPUT CLASS=\"portlet-form-button\" TYPE=\"SUBMIT\" NAME=\"");
out.print("apply_action");
out.print("\" VALUE=\"Apply\">");
out.println("</TD>");
out.println("</TR>");
out.println("</TABLE>");
out.println("</FORM>");
protected String getEditFormSubmitURL(RenderRequest request, RenderResponse response) {
return response.createActionURL().toString();
public void doHelp(RenderRequest request, RenderResponse response) throws PortletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.print("Help for <i><b>");
out.print(getTitle(request));
out.println("</b></i>.");
public void doAbout(RenderRequest request, RenderResponse response) throws PortletException, IOException {
String aboutHTML = (new SimpleStringBuffer(30)).append("/about_").append(getPortletName()).append(".html").toString();
PortletRequestDispatcher rd = getPortletContext().getRequestDispatcher(aboutHTML);
response.setContentType("text/html");
if(rd != null) {
rd.include(request, response);
} else {
PrintWriter out = response.getWriter();
out.print("<p class=\"portlet-font\">This is the about page for ");
out.print(getTitle(request));
out.print(".</p><p class=\"portlet-font\">");
out.print("To customize the contents of this page, create a file named '");
out.print(aboutHTML.substring(1));
out.print("' in the Portlet web application's root directory containing HTML ");
out.print("to appear here. ");
out.print("Alternatively, override the <code>CustomizablePortlet</code> ");
out.println("class's <code>doAbout()</code> method.</p>");
public void doDispatch(RenderRequest request, RenderResponse response) throws PortletException, IOException {
WindowState state = request.getWindowState();
if(!state.equals(WindowState.MINIMIZED)) {
PortletMode mode = request.getPortletMode();
if(mode.equals(PREVIEW_MODE))
doView(request, response);
else
if(mode.equals(EDIT_DEFAULTS_MODE))
doEdit(request, response);
else
if(mode.equals(ABOUT_MODE))
doAbout(request, response);
else
super.doDispatch(request, response);
} else {
super.doDispatch(request, response);
public void processAction(ActionRequest request, ActionResponse actionResponse) throws PortletException, IOException {
String newTitle = request.getParameter("title");
PortletPreferences prefs = request.getPreferences();
prefs.setValue("title", newTitle);
prefs.store();
if(request.getParameter("ok_action") != null) {
actionResponse.setPortletMode(PortletMode.VIEW);
actionResponse.setWindowState(WindowState.NORMAL);
2,FileUploadPortlet.java file
import java.io.*;
import javax.activation.DataHandler;
import javax.mail.MessagingException;
import javax.mail.internet.MimeBodyPart;
import javax.portlet.*;
import oracle.portal.portlet.sample.CustomizablePortlet;
public class FileUploadPortlet extends CustomizablePortlet
private static final String FILE_PARAM = "file";
private static final String SUBMIT_PARAM = "submit";
private static final String DEFAULT_CHARSET = "ISO-8859-1";
private static final String uploadRoot = "";
public FileUploadPortlet()
public void doView(RenderRequest request, RenderResponse response) throws PortletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.print("<form action=\"");
out.print(response.createActionURL().toString());
out.println("\" enctype=\"multipart/form-data\" method=\"post\">");
out.println("<center><table border=\"0\">");
out.println("<tr>");
out.print("<td class=\"portlet-form-field\" align=\"right\">");
out.print("Please browse to an HTML file:");
out.println("</td>");
out.print("<td>");
out.print("<input class=\"portlet-form-input-field\" type=\"file\" name=\"");
out.print("file");
out.print("\">");
out.println("</td>");
out.println("</tr>");
out.println("<tr>");
out.println("<td colspan=\"2\" align=\"center\">");
out.print("<input type=\"submit\" class=\"portlet-form-button\" name=\"");
out.print("submit");
out.print("\" value=\"Display\">");
out.println("</td>");
out.println("</tr>");
out.println("</table>");
out.println("</form>");
String lastFile = request.getPreferences().getValue("file", null);
if(lastFile != null) {
out.println("<hr width=\"100%\"><br>");
out.print(lastFile);
public void processAction(ActionRequest request, ActionResponse actionResponse) throws PortletException, IOException {
FormDataParser parsedRequest = new FormDataParser(request);
MimeBodyPart mbp = parsedRequest.getMimeBodyPart("file");
if(mbp == null)
super.processAction(request, actionResponse);
else
try {
String fileName= mbp.getFileName();
int splash = fileName.lastIndexOf("\\");
if(splash != -1)
fileName = fileName.substring(splash +1, fileName.length()).trim();
String contentType = mbp.getContentType();
String charSet = getCharsetFromContentType(contentType);
int sepIndex = contentType.indexOf(';');
if(sepIndex != -1)
contentType = contentType.substring(0, sepIndex).trim();
ByteArrayOutputStream bos = new ByteArrayOutputStream();
mbp.getDataHandler().writeTo(bos);
bos.close();
String content = new String(bos.toByteArray(), charSet);
FileOutputStream fos = new FileOutputStream(fileName);
fos.write(bos.toByteArray());
fos.close();
PortletPreferences prefs = request.getPreferences();
prefs.setValue("file", fileName + "upload ok");
prefs.store();
catch(MessagingException me) {
throw new PortletException(me);
public static String getCharsetFromContentType(String contentType) {
int lastPos;
if((lastPos = contentType.indexOf(';')) == -1)
return "ISO-8859-1";
lastPos++;
String lowerContentType = contentType.toLowerCase();
int nextPos;
do {
nextPos = lowerContentType.indexOf(';', lastPos);
String param;
if(nextPos == -1)
param = lowerContentType.substring(lastPos).trim();
else
param = lowerContentType.substring(lastPos, nextPos).trim();
if(param.startsWith("charset=") && param.length() > 8)
return param.substring(8);
lastPos = nextPos + 1;
} while(nextPos != -1);
return "ISO-8859-1";
3,FormDataParser.java file
import java.io.*;
import java.util.*;
import javax.activation.DataSource;
import javax.mail.MessagingException;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMultipart;
import javax.portlet.ActionRequest;
import javax.portlet.PortletException;
public class FormDataParser {
private static final String MULTIPART_PREFIX = "multipart/";
private static final String MULTIPART_FORM_DATA = "multipart/form-data";
private static final String PLAIN_TEXT = "text/plain";
private ActionRequest mWrappedRequest;
private Map mParams;
private Map mBodyParts;
private boolean mIsInitialized;
private boolean mHasMultipart;
public FormDataParser(ActionRequest request) {
mWrappedRequest = request;
public String getParameter(String name) throws PortletException {
String value = mWrappedRequest.getParameter(name);
if(value != null)
return value;
initParameters();
if(!mHasMultipart)
return null;
List paramList = (List)mParams.get(name);
if(paramList != null)
return (String)paramList.get(0);
else
return null;
public String[] getParameterValues(String name) throws PortletException {
String values[] = mWrappedRequest.getParameterValues(name);
if(!mHasMultipart)
return values;
initParameters();
List valueList = (List)mParams.get(name);
if(valueList == null)
return values;
int size = valueList.size();
if(values != null) {
List newValueList = new ArrayList(values.length + size);
newValueList.addAll(Arrays.asList(values));
newValueList.addAll(valueList);
valueList = newValueList;
values = new String[size];
valueList.toArray(values);
return values;
public MimeBodyPart getMimeBodyPart(String name) throws PortletException {
initParameters();
if(!mHasMultipart) {
return null;
} else {
List parts = (List)mBodyParts.get(name);
return parts != null ? (MimeBodyPart)parts.get(0) : null;
public MimeBodyPart[] getMimeBodyParts(String name) throws PortletException {
initParameters();
if(!mHasMultipart)
return null;
List parts = (List)mBodyParts.get(name);
if(parts == null) {
return null;
} else {
MimeBodyPart mimeBodyParts[] = new MimeBodyPart[parts.size()];
parts.toArray(mimeBodyParts);
return mimeBodyParts;
private void initParameters() throws PortletException {
if(mIsInitialized)
return;
String contentType = mWrappedRequest.getContentType();
if(contentType == null) {
mIsInitialized = true;
return;
int sepIndex = contentType.indexOf(';');
if(sepIndex != -1)
contentType = contentType.substring(0, sepIndex).trim();
if(contentType.equalsIgnoreCase("multipart/form-data")) {
mParams = new HashMap(20);
mBodyParts = new HashMap(20);
DataSource ds = new DataSource() {
public InputStream getInputStream() throws IOException {
return mWrappedRequest.getPortletInputStream();
public OutputStream getOutputStream() throws IOException {
throw new IOException("OutputStream not available");
public String getContentType() {
return mWrappedRequest.getContentType();
public String getName() {
return getClass().getName();
try {
MimeMultipart multipartMessage = new MimeMultipart(ds);
parseMultiPart(multipartMessage, null);
catch(MessagingException me) {
throw new PortletException(me);
catch(IOException ioe) {
throw new PortletException(ioe);
mHasMultipart = true;
mIsInitialized = true;
private void parseMultiPart(MimeMultipart multipartMessage, String parentFieldName) throws MessagingException, IOException {
int partCount = multipartMessage.getCount();
for(int i = 0; i < partCount; i++) {
javax.mail.BodyPart part = multipartMessage.getBodyPart(i);
if(part instanceof MimeBodyPart) {
MimeBodyPart mimePart = (MimeBodyPart)part;
String disps[] = mimePart.getHeader("Content-Disposition");
if(disps != null && disps.length != 0) {
String disp = disps[0];
String lcDisp = disp.toLowerCase();
int nameStart;
int nameEnd;
if((nameStart = lcDisp.indexOf("name=\"")) != -1 && (nameEnd = lcDisp.indexOf("\"", nameStart + 6)) != -1)
parentFieldName = disp.substring(nameStart + 6, nameEnd);
if(parentFieldName != null)
if(mimePart.getContentType().toLowerCase().startsWith("multipart/")) {
Object content = mimePart.getContent();
if(content instanceof MimeMultipart)
parseMultiPart((MimeMultipart)content, parentFieldName);
} else
if((nameStart = lcDisp.indexOf("filename=\"")) != -1 && (nameEnd = lcDisp.indexOf("\"", nameStart + 10)) != -1) {
List values = (List)mBodyParts.get(parentFieldName);
if(values == null) {
values = new ArrayList(1);
mBodyParts.put(parentFieldName, values);
values.add(mimePart);
} else
if(mimePart.getContentType().toLowerCase().startsWith("text/plain")) {
Object content = mimePart.getContent();
if(content instanceof String) {
List values = (List)mParams.get(parentFieldName);
if(values == null) {
values = new ArrayList(1);
mParams.put(parentFieldName, values);
values.add((String)content);
4.web.xml file
<?xml version = '1.0' encoding = 'ISO-8859-1'?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>hanhuiwen OracleSamplePortlets</display-name>
<description>hanhuiwen Oracle Sample Portlet Application</description>
<servlet>
<servlet-name>portletdeploy</servlet-name>
<servlet-class>oracle.webdb.wsrp.server.deploy.PortletDeployServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>portletjaxrpc</servlet-name>
<servlet-class>com.sun.xml.rpc.server.http.JAXRPCServlet</servlet-class>
<init-param>
<param-name>configuration.file</param-name>
<param-value>/WEB-INF/WSRPService_Config.properties</param-value>
</init-param>
</servlet>
<servlet>
<servlet-name>portletresource</servlet-name>
<servlet-class>oracle.webdb.wsrp.server.ResourceServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>ChartServlet</servlet-name>
<display-name>Chart Servlet</display-name>
<description>Demo image-generating servlet</description>
<servlet-class>oracle.portal.portlet.sample.chart.ChartServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>uix</servlet-name>
<servlet-class>oracle.cabo.servlet.UIXServlet</servlet-class>
<init-param>
<param-name>oracle.cabo.servlet.pageBroker</param-name>
<param-value>oracle.cabo.servlet.xml.UIXPageBroker</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>ChartServlet</servlet-name>
<url-pattern>/chart*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>portletjaxrpc</servlet-name>
<url-pattern>/portlets*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>portletresource</servlet-name>
<url-pattern>/portletresource*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>uix</servlet-name>
<url-pattern>*.uix</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>uix</servlet-name>
<url-pattern>/uix/*</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>60</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>index.uix</welcome-file>
</welcome-file-list>
<!--
LogLevel controls the amount of information logged. There are 7 log levels:
0 - logging disabled
1 - configuration
2 - severe error
3 - warning
4 - throwing exception
5 - performance
6 - information
7 - debug
The oracle.portal.log.Logger interface defines methods that map to these 7
log levels. However, there are also 2 methods that do not map to log
levels. These methods are included for backwards compatibility and data
logged using these methods will always be logged regardless of the log level.
-->
<env-entry>
<env-entry-name>oracle/portal/log/logLevel</env-entry-name>
<env-entry-type>java.lang.Integer</env-entry-type>
<env-entry-value>7</env-entry-value>
</env-entry>
</web-app>
5.portlet.xml
<?xml version = '1.0' encoding = 'UTF-8'?>
<portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd" version="1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd">
<portlet>
<description xml:lang="en">A portlet that demonstrates the file upload features of the Java Portlet Specification.</description>
<portlet-name>FileUpload</portlet-name>
<portlet-class>FileUploadPortlet</portlet-class>
<expiration-cache>0</expiration-cache>
<supports>
<mime-type>text/html</mime-type>
<portlet-mode>help</portlet-mode>
<portlet-mode>about</portlet-mode>
<portlet-mode>edit_defaults</portlet-mode>
</supports>
<supported-locale>en</supported-locale>
<portlet-info>
<title>File Upload Portlet</title>
<short-title>File Upload</short-title>
<keywords>File,Upload, Portlet</keywords>
</portlet-info>
</portlet>
<custom-portlet-mode>
<description xml:lang="en">This mode should be used by the portlet to display information on the portlet's purpose, origin, version, etc.</description>
<portlet-mode>about</portlet-mode>
</custom-portlet-mode>
<custom-portlet-mode>
<description xml:lang="en">This mode signifies that the portlet should render a screen to set the default values for the modifiable preferences that are typically changed in the EDIT screen. Calling this mode requires that the user must have administrator rights.</description>
<portlet-mode>edit_defaults</portlet-mode>
</custom-portlet-mode>
<custom-portlet-mode>
<description xml:lang="en">This mode should be used by the portlet to render output without the need of having back-end connections or user specific data available.</description>
<portlet-mode>preview</portlet-mode>
</custom-portlet-mode>
<user-attribute>
<name>user.name.given</name>
</user-attribute>
<user-attribute>
<name>user.name.family</name>
</user-attribute>
<user-attribute>
<name>user.name.middle</name>
</user-attribute>
<user-attribute>
<name>user.name.nickname</name>
</user-attribute>
<user-attribute>
<name>user.bdate</name>
</user-attribute>
<user-attribute>
<name>user.business-info.online.email</name>
</user-attribute>
</portlet-app>Hello i had exactly the same error, but not with file upload.
I'm sure you have in your application lib directory to jars which aren't compatible to each other.
And the problem occured between my myfaces and tomahawk jars .
See this page:
http://wiki.apache.org/myfaces/CompatibilityMatrix
It tells you which myfaces and tomahawk jars you can use together.
Hope it can help.
bye -
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. -
Integration of JSR-168 portlet into Portal - Complete Guide
Hi there,
the CE 7.1 is described to be compatible with JSR-168 portlets.
Our Company has developed a JSR-168 portlet which comes as a WAR-File
which can be easily included in other application server and portals (WebShpere, Apache).
But integration in SAP Netweaver fails - I am missing a complete documentation
which describes me the necessary steps to integrate a JSR-168 portlet application
into the SAP Application Server and also how to integrate the GUI into a View of the NW portal.
PLEASE HELP ME!!!
Things I tried - Things I failed:
- Imported a EAR-File into Developement Studio and tried to add it to Server
-> Message "EAR Project: ... should have the SAP specific facet in order EAR to be built."
- Deployement via "Deployement Tool" of Netweaver 2.0 (2004s) worked
and I was able to start app but no integration into NW portal view was possible
(Where is the deployement tool in NW 7.1 CE?!?!?)
- I wanted to create a PAR-File by a WAR-File but dont know how?
- I did not find any iView template which is for my portlet type.
Did anyone out there has the same probs or could help me....
Thanks on advance,
Andi-)
Edited by: Markus Sümmchen on Oct 6, 2008 1:47 PMHi Markus,
There is no complete guide for integration of JSR-168 portlets into a portal; however Diyan is correct.
In a nutshell, once you have deployed your portlet, you use GPAL technology in the SAP NetWeaver Portal of CE to create an iView wrapper in the PCD. All of this done by a portal content admin in the Portal Content Studio. Your deployed portet should be displayed in the "Portlets" repository within the Portal Catalog of the Portal Content Studio.
For conceptual and how-to documentation, refer to the following SAP Help Portal links:
- Generic Portal Application Layer (GPAL) Repositories: http://help.sap.com/saphelp_nwce10/helpdata/en/44/5e93dc35624ddee10000000a1553f7/frameset.htm
- Integrating Applications into the Portal: http://help.sap.com/saphelp_nwce10/helpdata/en/45/90e8bfaec26c4ee10000000a1553f7/frameset.htm
- Working with GPAL Repositories: http://help.sap.com/saphelp_nwce10/helpdata/en/44/5b96b37b6f4de1e10000000a1553f7/frameset.htm
Please let me know if this works for you.
Michael
Maybe you are looking for
-
Help intermittent problem with logging in
Help i have intermittent problem with logging in, sometimes it just comes up with the desktop without any icons or dock and i have to restart the server so i can log on properly, but it doesn't happen all the time, any ideas would be appreciated???
-
Exporting and importing projects and DCs
We are not blessed with the JDI, and I am in a situation whereby I would like to take a project from one machine and import it into another. I tried this by exporting to a ZIP file, but when I try to import it, I have to create a new project in the t
-
Mac mini doesn't play stereo sound over HDMI
My Mac mini (2012) is connected to my home theatre via HDMI. While playing a 5.1 channe movie will play through the speakers fine, a stereo source will only play through the Mac's speakers. This is true with iTunes Store content - if I slect Audio
-
Error While Activate Abobe forms
Hi... While Activating the Abobe forms am getting Error... But its saving and i can execute it without activating. Can any one hlep me please....
-
ActiveX Objects Don't Run Code When Clicked after installing SP3 for 2007
I have an application that I built using Excel 2013 for a client who uses Excel 2007. Up until mid-December of last year, the application ran fine on the client's machines. Today we found that their version does not work - specifically, clicking a