How to deploy existing JSR 168 portlets (in war file) into portal?
I have some JSR 168 portlets built and tested against another portal server that I would like to deploy in Bea portal server. They are packaged as a war file. I have a test portal and I am able to "develop" some new portlets in the Workshop but what I really want to do is just deploy the portlets as is. I have deployed the war using the web based deployment tool but I don't know how to "use" the portlets within a portal. Shouldn't this be easy? The docs don't discuss it much. Thanks for any help.
-Andrew
OK I found the answer:
http://dev2dev.bea.com/products/wlportal81/articles/deployJava81sp3.jsp
Similar Messages
-
How to deploy existing JSR-168 portlet in WLP 10.0?
I have a JSR-168 portlet packaged in a .war file and am trying to deploy in WLP 10.0. This seems like a common question that looks to be covered thoroughly for version 8.0 in the link:
[url http://dev2dev.bea.com/pub/a/2004/09/deployJava81sp3.html]
Those instructions no longer work, the tool is referencing classes that don't seem to exist in 10.0 and so it won't run.
I am currently attempting to move the pieces by hand into a new Workshop Web Project, but was hoping that by now there would be an easier way.
Any suggestions?I stumbled across the answer after I had manually merged the portlet into an existing web project. It is actually pretty straight forward.
1. Right click on the web project, select import.
2. You will be presented with three options - war file, ear file, import.... The ware war file option is so tempting, but it is not what you want. Choose Import... to get a longer list of options.
3. Under "Other" you will see "Portlet from Archive".
This does exactly what I wanted, with the exception of the web.xml. The files are not merged, you can either skip it or overwrite it. Small price to pay for the convenience. -
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 -
Deploying Standard JSR 168 Portlets Without JDeveloper
Is there a way to deploy standard JSR 168 portlets without using JDeveloper?
Yes,
You can use the Enterprise Manager web-app to do it, or you can do it from the command line on the server you want to deploy it to, or you can do what we do,
which is use an ant task which uses the jar from jdeveloper to do the deployment.
The tools dont care if it is a jsr 168 portlet or not, it just knows how to deploy an ear.
Let me know if you would like to see the ant task.
-sean
================================================
Solutions Architect
http://www.sagelogix.com -
Error while deploying a JSR 168 portlet developed in JDeveloper 10.1.3.2
When deploying a JSR 168 portlet created using JDeveloper 10.1.3.2 (Web Center Suite edition), I get the error :
"Shared library "oracle.wsrp" could not be found."
Error Log:
---- Deployment started. ---- Sep 20, 2007 9:31:42 AM
Target platform is Oracle Application Server 10g 10.1.3 (PolestarAppServerConnection).
Wrote WAR file to C:\Projects\eAlliance\JSR168\ViewController\deploy\jsr168.war
Wrote EAR file to C:\Projects\eAlliance\JSR168\ViewController\deploy\jsr168.ear
Backing up generic archive file :/C:/Projects/eAlliance/JSR168/ViewController/deploy/jsr168_generic.ear
Creating WSDLs for the WSRP Application
WSDLs for the WSRP Application have been created
Uploading file jsr168.ear ...
Uploading file jsr168.ear ...
Application Deployer for jsr168 STARTS.
Copy the archive to /home/soahome/orasoa/j2ee/home/applications/jsr168.ear
Initialize /home/soahome/orasoa/j2ee/home/applications/jsr168.ear begins...
Unpacking jsr168.ear
Done unpacking jsr168.ear
Unpacking jsr168.war
Done unpacking jsr168.war
Initialize /home/soahome/orasoa/j2ee/home/applications/jsr168.ear ends...
Starting application : jsr168
Initializing ClassLoader(s)
application : jsr168 is in failed state
Operation failed with error:
Shared library "oracle.wsrp" could not be found.
Deployment failed
Elapsed time for deployment: 39 seconds
#### Deployment incomplete. #### Sep 20, 2007 9:32:21 AM
Steps To recreate the error:
1)Create a new Application in JDeveloper
2)Click "New" in "ViewController" and click on WebTier->Portlets->Standards based(JSR 168) from the wizard.
3)Go thru JSR 168 Portlet wizard steps 1 thru' 8 accepting all defaults.
4)Click "New" in "ViewController" and click on General->Deployment Profiles->WAR File from the wizard.
5)Enter a name and hit OK. Then in the "WAR Deployment Profile Properties" page, select "Specify J2EE Web Context Root" and enter the name similar to what is in the "Enterprise application name" text box in the same screen. Hit OK.
6)Right click on the deploy file created under "Resources" and select "Deploy to AppServer" (I am deploying to a remote 10.1.4 Portal Server that has already been configured in my connections tab.
7)Note the above noted error message in the Deployment Log tab.
Can you give me any suggestions?
Thanks,
Bipin RajDoes the \j2ee\home\shared-lib directory contain a directory oracle.wsrp?
Does the <OC4J_HOME>/j2ee/home/config/server.xml file contain a shared-lib declaration for oracle.wsrp?
<shared-library name="oracle.wsrp" version="1.0">
<code-source path="wsrp-container.jar"/>
<code-source path="wsrp-types.jar"/>
<code-source path="wsrp-jaxb.jar"/>
<code-source path="jaxb-api.jar"/>
<code-source path="jaxb-impl.jar"/>
<code-source path="jaxb-libs.jar"/>
<code-source path="namespace.jar"/>
<code-source path="xsdlib.jar"/>
<code-source path="relaxngDatatype.jar"/>
<import-shared-library name="oracle.gdk"/>
<import-shared-library name="oracle.xml"/>
<import-shared-library name="oracle.jdbc"/>
<import-shared-library name="oracle.cache"/>
</shared-library> -
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.... -
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.
% -
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> -
Deploying JSR-168 Portlet has an intrinsic portlet to ALUI
How can I proceed to deploy a JSR-168 portlet to work has an intrinsic portlet in ALUI?
Hello,
This is the WebLogic Portal forum; for the WebCenter Interaction (formerly ALUI) forum see:
WebCenter - Interaction
If you post your question there, I imagine you can get an answer. Unfortunately, I don't know enough about WCI/ALUI to help you out.
Kevin -
We are working with Oracle Application Server Portal (10.1.4), we built a few JSR 168 portlets that we need to deploy and make them work on the Oracle portal, but I cant find information on how to do this task.
Please give tell me how to do it or where do I find this information.
I already reviewed Portal Developer's Guide for this version.The documentation about the development of this type of portlets can be found at: http://download-west.oracle.com/docs/cd/B14099_14/portal.1014/b14135/pdg_java_intro.htm#sthref858, items 6.4.2.1 Creating a Portlet, to 6.4.2.4 Registering and Viewing Your Portlet but the document makes reference to calling your portlet as "http://myserver.com:8888/my-portlet/portlets?WSDL", but that would be for a PDK-Java portlet and second, the option for WSRP registration is not there Figure 6-28 Register Provider Page.
What should I do to publish my standard JSR 168 portlets on the Oracle Portal. -
How to debug jsr 168 portlet in jdeveloper 10.1.3.4
Does anyone know how to locally debug a jsr 168 portlet in jdeveloper 10.1.3.4.
When I click on run it asked for a start page so I supply the view.jsp page.
The following error occurs on the page:
500 Internal Server Error
java.lang.NullPointerException at helloworld.html._view._jspService(_view.java:61) [helloworld/html/view.jsp] at com.orionserver[Oracle Containers for J2EE 10g (10.1.3.4.0) ].http.OrionHttpJspPage.service(OrionHttpJspPage.java:59) at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:462) at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:594) at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:518) at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:713) at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370) at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871) at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453) at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:221) at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.HttpRequestHandler.run(HttpRequestHandler.java:122) at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.HttpRequestHandler.run(HttpRequestHandler.java:111) at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260) at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:234) at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:29) at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:879) at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:298) at java.lang.Thread.run(Thread.java:595)
This is the first jsr 168 portlet I have tried.
Previously we have been created portlets using the Oracle PDK. Those portlets are easy to debug because the wizard creates an index.jsp page for the start page.
If anyone can provide some insight to my issue it would be greatly appreciated.
Thanks,Is this a portlet you built from scratch using the JSR 168 APIs, or is this a JSF Portlet using the JSF Portlet Bridge. If the latter, you can debug your JSF application. If the former, you can do remote debugging (let me know if you need information on this).
Hope this helps,
Peter -
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 -
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 -
JSR 168 portlets packaging question
Hello,
I have a bunch of Java (JSR 168, using Spring MVC) portlets (PortletOne, PortletTwo...PortletN) that I created as individual Portal Web projects and are contained in a Portal EAR project. This portal EAR is my deployment unit and also consists of another Portal Web project (Assembly.war) that holds a app.portal file where I plan to assemble all these Java portlets and use it to create a desktop. The reason for having all the individual portlets in web projects of their own is to be able to export them as a unit and use it elsewhere either as a shared library or package it within another EAR file as the need arises.
my application.xml looks somewhat like this:
<?xml version="1.0" encoding="UTF-8"?>
<application id="Application_ID" version="1.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/application_1_4.xsd">
<display-name>MyEar</display-name>
<module id="WebModule_1">
<web>
<web-uri>Assemby.war</web-uri>
<context-root>appname</context-root>
</web>
</module>
<module id="WebModule_2">
<web>
<web-uri>PortletOne.war</web-uri>
<context-root>PortletOne</context-root>
</web>
</module>
<module id="WebModule_3">
<web>
<web-uri>PortletTwo.war</web-uri>
<context-root>PortletTwo</context-root>
</web>
</module>
</application>But since all these WAR files are at the same level I cannot reference the context definitions and the controllers for the portlets defined in each of these portlet WAR files (PortletOne, PortletTwo,...) from the common web project that holds the app.portal file in Assembly.war. I tried to define a custom classloader structure in weblogic-application.xml and put the assembly war file at a lower level but the app even fails to deploy with IllegalAccessError as soon as a context for each of the war files is registered by the hot deploy process. Moreover, when I deploy the EAR file, the portlets defined in each of the WAR files do not appear in the Resources library when viewed from the Portal Administration console.
Any suggestions how to assemble these individual portlets into a common web project, while still keeping them packaged within the same EAR file? Alternate approaches are welcome too.
I have already considered deploying these portlet WAR files as Weblogic J2EE shared libraries. But with this approach, the overall application response time is very slow in spite of exhausting all tuning options and also cannot pre-compile JSPs in the shared libraries.
Is importing the JSR-168 portlets using the import utility as WSRP portlets a viable option? Will I be able to share session variables across portlets, fire and handle events and be able to pre-compile the JSP in idividual portlets?
Edited by: shyam6190 on Aug 13, 2009 1:25 PMHello,
Perhaps the multiple nested classloaders involved with the shared libraries approach is slowing it down- if that is the case, it would be hard to fix.
Using WSRP should work for you; there is a bit more complexity but if you have relatively simple portlets, use the correct JSR168 tags and methods (or the Spring bridge does), it shouldn't be too hard to get to work. The IDE may be able to help you with that; you can create a new portlet of type "remote portlet" in your aggregated webapp, and a wizard will walk you through the steps. If you use local proxy mode, the portlet's individual WSDL URL will be the URL to each portlet's webapp on localhost.
The WSRP configuration can also be done dynamically in the Portal Admin Tools, and even using a specialized JSR168 import tool, but both of these options would only create database instances of portals and portlets in your aggregating webapp. This would be fine if your aggregated EAR never needs to move to a different deployment environment, but if you require portability of the EAR to another environment it complicates packaging, as database information is also required. If you happen to be using WLP version 10.3, I believe there is a bug which prevents the specialized JSR168 import tool from working, but the tool is documented here:
http://download.oracle.com/docs/cd/E13155_01/wlp/docs103/prodOps/deployment.html#wp1047337
Since all the WSDL URLs will point only to the localhost, when you package the aggregated WAR file it should deploy properly to any servers. Information about the local proxy mode, which should improve performance for your configuration, is described here:
http://download.oracle.com/docs/cd/E13155_01/wlp/docs103/federation/Chap-Best_Practices.html#wp1010714
Hope this helps!
Kevin -
Hi,
Once again I find myself struggling to keep on top of the bleeding edge of Portal technology - I remember developing PL/SQL portlets in WebDB 3.0 Beta when there was no documentation not too many years ago!
I am working with a client that wants to make some "legacy" PL/SQL portlet applications portable to SAP Portal. SAP NetWeaver support for JSR 168 is planned in the near future, and the client wants to be able to publish the portlets there. The existing applications are deployed in Oracle Portal and consist of 30 PL/SQL, along with a few bits of custom java / servlet functionality for file upload and download. Some of these portlets have very complex functionality both clientside (javascript) and serverside (SQL).
Am I correct in assuming that these will have to be redeveloped as JSR 168-compliant JSP portlets...?
From what I can gather there shouldn't be too many restrictions, but I was wondering if anyone else has gone through or is going through this kind of process and/or has any tips or suggestions?
Thanks for your assistance,
Mark AustinHi,
Yes. You should convert these portlets to jsr 168 portlets. But there is no tool available in Oracle Portal to convert these portlets to jsr 168 portlets.
Thanks,
Sharmila
Maybe you are looking for
-
Synchronize with Outlook Problems...
I have a BB Curve, and MS Outlook with Windows XP on my desktop. I no longer can synchronize my calendars between my BB and Outlook on my desktop...this used to work - but now when I try to synchronize, I get a message saying "unable to complete req
-
Among my new problems. 1. The alphabet is now missing from the opening page of my Address Book. 2. How do I set my email page as the opening page? 3. When I finish answering an email, send it and click "Delete" on the just answered email, it doesn't
-
Unable to install an Adobe AIR application with -location to correct path
Hi Im trying to silent install an air app on the command line (Windows). But the path i use after -location is ignored. This is the code im using: "C:\Program Files\Common Files\Adobe AIR\Versions\1.0\Adobe AIR Application Installer.exe" "-silent" "
-
[All Platforms] New UI for On-the-Fly Collaborative Playlists
The idea came to me following a house party. There were four of us and we couldn’t decide whose Spotify playlist we should listen to. The decision was, as usual with us, to play one song per person. This didn’t work well either as only one device cou
-
Mac app can't connect to a windows network drive
loadMovie("\\\\corpflash01\\WebContent\\swf\\jkLowerRight.swf", portfolio_mc); or this loadMovie("//corpflash01/WebContent/swf/jkLowerRight.swf", portfolio_mc); works correctly on any window's machine inside my company's network but only when I expor