JSR-168/WSRP iViews

Hi,
I have the following doubts to be cleared.It would be of great help if someone knows abt these and revert back ASAP.
1) How many iViews currently exist? Is there a directory of available iViews?
2) Is SAP planning to provide today's iView functionality as JSR-168/WSRP portlets together with the new release (or later)?
3) Would it make sense to create JSR-168/WSRP portlets by reusing existing iViews? I.e. is the iView Java code customizable? Would that be a feasible approach in order to provide iView-like functionality through JSR-168 or WSRP portlets?
4)Any other alternatives to expose iView-like functionality through a non-SAP portal? If so, what would that look like?
Regards.....

Hi Christian,
1) This question is independent of WSRP/JSR, right? --> So, you mean, how many iViews in general.. There is no list published by SAP giving an overview of available iViews. However, you could get a little overview when checking out the business packages currently available offered by SAP and partners.
https://www.sdn.sap.com/sdn/contentportfolio.sdn
2) SAP is not planning to provide all the functionality in a JSR168/WSRP-compliant manner. SAP will support WSRP by the end of this year with the next NetWeaver release. However, this does not mean that the existing content will be available via WSRP. Some might be, but to which extent, cannot be said for sure now. JSR is intended to be supported next year, meaning that the NetWeaver Portal will be able to consume JSR168-compliant portlets, but not provide all the existing content in JSR168 format.
3) You are not allowed to modify iViews delivered by SAP. If you intend to modify iViews, which you created on your own, it depends on how much effort you want to spend on it and how long you can wait with your projects since both standards are not supported at the moment yet with the current SP releases.
4) Please a bit more specific about what you mean with iView-like functionality. In general, to leverage the full functionality of SAP iViews you always need the full NetWeaver Portal framework. There are some scenarios of how to integrate the SAP EP into the WebSphere Portal. Check out the docs here on SDN.
Kind regards,
Thomas

Similar Messages

  • JSR 168 / WSRP support in EP

    Hi All,
    As I am getting no clear reply, I would like to ask the SDN-ers for help regarding the JSR 168 and WSRP support by the Portal.
    Can anyone tell me whether any of the above standards is supported by the NW'04 or NW'04s - and if not (i guess this is the case for JSR 168) - for which NW release it is planned ?
    I will appreciate your quick reply
    Regards
    Maciek

    Yeah, but I was hoping for some more up-to-date news... This one is dated august'05. I have a presentation saying that BOTH WSRP and JSR168 will be available as of 04's ("Project Paris").
    We do have the WSRP - but it seems that in the meantime the JSR is gone...

  • JSR 168 Under WebSphere?

    If we develop portlets using JSR 168/ WSRP for Plumtree using WebSphere Studio and WebSphere (rather than WebLogic), should they work?
    If there were problems that required a Plumtree fix, would such a fix be provided under normal support?
    Thanks.

    If we develop portlets using JSR 168/ WSRP for Plumtree using WebSphere Studio and WebSphere (rather than WebLogic), should they work?
    If there were problems that required a Plumtree fix, would such a fix be provided under normal support?
    Thanks.

  • WSRP or JSR-168 Portlets with PDK-Java

    Is it possible to create WSRP or JSR-168 compliant portlets with PDK-Java or Bi beans?
    Thanks,

    When PDK-Java was designed 4-5 years ago, there was no portlet standard on the horizon. While from an architecture point of view PDK-Java is very similar to WSRP, it uses a proprietary protocol. Therefore you can't expose PDK-Java portlets through WSRP.
    You can, however, leverage the BI-beans in JSR 168 portlets, just like in any other Java environment.
    Peter

  • How to convert JSR-168 compliant Portlets into SAP iviews

    Hi All,
    Its very urgent requirement for me...
    <b>How to convert JSR-168 compliant Portlets into SAP Enterprise Portal supported iViews in SAP NetWeaver 2004 or 2004s.</b> Can you please tell me any tools are available for conversion or is there any another procedure to achieve this problem.
    At last can we ach
    Each answer will be awarded with points.
    Regards
    Sreedhar G

    Hi Sreedhar,
    Is there anyway to display Standard Business packages content in IBM websphere portal.If there is anyway please let me know.
    thanks,
    Anil

  • Oracle Portal WSRP messing things up for Tapestry JSR-168 portlet?

    I've been trying to consume a Tapestry JSR-168 portlet in Oracle Portal 10.1.4. However a very simple tapestry page is (already) failing. This page displays some boilerplate text and a form component including one text input item. Upon display the following stacktrace is shown:
    06/03/03 14:42:58 webmodule: [id=3230371113264,1] EXCEPTION THROWN: Uncaught exception
    org.apache.hivemind.ApplicationRuntimeException: Invalid URL "wsrp_rewrite?wsrp-urlType=blockingAction&wsrp-mode=wsrp%3Aview&wsrp-windowState=wsrp%3Anormal&wsrp-secureURL=false/wsrp_rewrite" [context:/WEB-INF/Home.page, line 5, column 59]
         at org.apache.tapestry.engine.RequestCycle.renderPage(RequestCycle.java:380)
         at org.apache.tapestry.portlet.PortletRendererImpl.renderPage(PortletRendererImpl.java:70)
         at $PortletRenderer_109c058b59f.renderPage($PortletRenderer_109c058b59f.java)
         at $PortletRenderer_109c058b59e.renderPage($PortletRenderer_109c058b59e.java)
         at org.apache.tapestry.portlet.PortletHomeService.service(PortletHomeService.java:80)
         at $IEngineService_109c058b58a.service($IEngineService_109c058b58a.java)
         at org.apache.tapestry.services.impl.EngineServiceInnerProxy.service(EngineServiceInnerProxy.java:77)
         at org.apache.tapestry.services.impl.EngineServiceOuterProxy.service(EngineServiceOuterProxy.java:66)
         at org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:248)
         at org.apache.tapestry.services.impl.InvokeEngineTerminator.service(InvokeEngineTerminator.java:60)
         at $WebRequestServicer_109c058b559.service($WebRequestServicer_109c058b559.java)
         at $WebRequestServicer_109c058b558.service($WebRequestServicer_109c058b558.java)
         at $WebRequestServicer_109c058b557.service($WebRequestServicer_109c058b557.java)
         at $WebRequestServicer_109c058b556.service($WebRequestServicer_109c058b556.java)
         at org.apache.tapestry.portlet.RenderRequestServicerToWebRequestServicerBridge.service(RenderRequestServicerToWebRequestServicerBridge.java:49)
         at $RenderRequestServicer_109c058b551.service($RenderRequestServicer_109c058b551.java)
         at $RenderRequestServicer_109c058b550.service($RenderRequestServicer_109c058b550.java)
         at $RenderRequestServicer_109c058b54b.service($RenderRequestServicer_109c058b54b.java)
         at $RenderRequestServicer_109c058b54a.service($RenderRequestServicer_109c058b54a.java)
         at org.apache.tapestry.portlet.ApplicationPortlet.render(ApplicationPortlet.java:161)
         at oracle.webdb.wsrp.server.Server.getMarkup(Unknown Source)
         at oracle.webdb.wsrp.WSRP_v1_Markup_PortType_Tie.invoke_getMarkup(WSRP_v1_Markup_PortType_Tie.java:98)
         at oracle.webdb.wsrp.WSRP_v1_Markup_PortType_Tie.processingHook(WSRP_v1_Markup_PortType_Tie.java:495)
         at com.sun.xml.rpc.server.StreamingHandler.handle(StreamingHandler.java:230)
         at com.sun.xml.rpc.server.http.ea.JAXRPCServletDelegate.doPost(JAXRPCServletDelegate.java:153)
         at com.sun.xml.rpc.server.http.JAXRPCServlet.doPost(JAXRPCServlet.java:69)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
         at oracle.webdb.wsrp.server.ContextFilter.doFilter(Unknown Source)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:663)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:330)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:830)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.HttpRequestHandler.run(HttpRequestHandler.java:285)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.HttpRequestHandler.run(HttpRequestHandler.java:126)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:186)
         at java.lang.Thread.run(Thread.java:534)
    Caused by: oracle.webdb.wsrp.server.ContainerIllegalArgumentException: Invalid URL "wsrp_rewrite?wsrp-urlType=blockingAction&wsrp-mode=wsrp%3Aview&wsrp-windowState=wsrp%3Anormal&wsrp-secureURL=false/wsrp_rewrite"
         at oracle.webdb.wsrp.server.PortletResponseImpl.encodeURL(Unknown Source)
         at oracle.webdb.wsrp.server.RenderResponseImpl.encodeURL(Unknown Source)
         at org.apache.tapestry.portlet.PortletWebResponse.encodeURL(PortletWebResponse.java:60)
         at $WebResponse_109c058b636.encodeURL($WebResponse_109c058b636.java)
         at $WebResponse_109c058b51e.encodeURL($WebResponse_109c058b51e.java)
         at org.apache.tapestry.engine.RequestCycle.encodeURL(RequestCycle.java:207)
         at $IRequestCycle_109c058b63f.encodeURL($IRequestCycle_109c058b63f.java)
         at $IRequestCycle_109c058b53a.encodeURL($IRequestCycle_109c058b53a.java)
         at org.apache.tapestry.portlet.PortletLink.getURL(PortletLink.java:68)
         at org.apache.tapestry.portlet.PortletLink.getURL(PortletLink.java:126)
         at org.apache.tapestry.form.FormSupportImpl.render(FormSupportImpl.java:490)
         at org.apache.tapestry.form.Form.renderComponent(Form.java:250)
         at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:617)
         at org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:92)
         at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:617)
         at org.apache.tapestry.AbstractPage.renderPage(AbstractPage.java:275)
         at org.apache.tapestry.engine.RequestCycle.renderPage(RequestCycle.java:366)
         ... 36 more
    06/03/03 14:42:58 webmodule: [id=3230371113264,1] WARNING: Unable to process client request: Invalid URL "wsrp_rewrite?wsrp-urlType=blockingAction&wsrp-mode=wsrp%3Aview&wsrp-windowState=wsrp%3Anormal&wsrp-secureURL=false/wsrp_rewrite"
    org.apache.hivemind.ApplicationRuntimeException: Invalid URL "wsrp_rewrite?wsrp-urlType=blockingAction&wsrp-mode=wsrp%3Aview&wsrp-windowState=wsrp%3Anormal&wsrp-secureURL=false/wsrp_rewrite" [context:/WEB-INF/Home.page, line 5, column 59]
         at org.apache.tapestry.engine.RequestCycle.renderPage(RequestCycle.java:380)
         at org.apache.tapestry.portlet.PortletRendererImpl.renderPage(PortletRendererImpl.java:70)
         at $PortletRenderer_109c058b59f.renderPage($PortletRenderer_109c058b59f.java)
         at $PortletRenderer_109c058b59e.renderPage($PortletRenderer_109c058b59e.java)
         at org.apache.tapestry.portlet.PortletHomeService.service(PortletHomeService.java:80)
         at $IEngineService_109c058b58a.service($IEngineService_109c058b58a.java)
         at org.apache.tapestry.services.impl.EngineServiceInnerProxy.service(EngineServiceInnerProxy.java:77)
         at org.apache.tapestry.services.impl.EngineServiceOuterProxy.service(EngineServiceOuterProxy.java:66)
         at org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:248)
         at org.apache.tapestry.services.impl.InvokeEngineTerminator.service(InvokeEngineTerminator.java:60)
         at $WebRequestServicer_109c058b559.service($WebRequestServicer_109c058b559.java)
         at $WebRequestServicer_109c058b558.service($WebRequestServicer_109c058b558.java)
         at $WebRequestServicer_109c058b557.service($WebRequestServicer_109c058b557.java)
         at $WebRequestServicer_109c058b556.service($WebRequestServicer_109c058b556.java)
         at org.apache.tapestry.portlet.RenderRequestServicerToWebRequestServicerBridge.service(RenderRequestServicerToWebRequestServicerBridge.java:49)
         at $RenderRequestServicer_109c058b551.service($RenderRequestServicer_109c058b551.java)
         at $RenderRequestServicer_109c058b550.service($RenderRequestServicer_109c058b550.java)
         at $RenderRequestServicer_109c058b54b.service($RenderRequestServicer_109c058b54b.java)
         at $RenderRequestServicer_109c058b54a.service($RenderRequestServicer_109c058b54a.java)
         at org.apache.tapestry.portlet.ApplicationPortlet.render(ApplicationPortlet.java:161)
         at oracle.webdb.wsrp.server.Server.getMarkup(Unknown Source)
         at oracle.webdb.wsrp.WSRP_v1_Markup_PortType_Tie.invoke_getMarkup(WSRP_v1_Markup_PortType_Tie.java:98)
         at oracle.webdb.wsrp.WSRP_v1_Markup_PortType_Tie.processingHook(WSRP_v1_Markup_PortType_Tie.java:495)
         at com.sun.xml.rpc.server.StreamingHandler.handle(StreamingHandler.java:230)
         at com.sun.xml.rpc.server.http.ea.JAXRPCServletDelegate.doPost(JAXRPCServletDelegate.java:153)
         at com.sun.xml.rpc.server.http.JAXRPCServlet.doPost(JAXRPCServlet.java:69)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
         at oracle.webdb.wsrp.server.ContextFilter.doFilter(Unknown Source)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:663)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:330)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:830)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.HttpRequestHandler.run(HttpRequestHandler.java:285)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.HttpRequestHandler.run(HttpRequestHandler.java:126)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:186)
         at java.lang.Thread.run(Thread.java:534)
    Caused by: oracle.webdb.wsrp.server.ContainerIllegalArgumentException: Invalid URL "wsrp_rewrite?wsrp-urlType=blockingAction&wsrp-mode=wsrp%3Aview&wsrp-windowState=wsrp%3Anormal&wsrp-secureURL=false/wsrp_rewrite"
         at oracle.webdb.wsrp.server.PortletResponseImpl.encodeURL(Unknown Source)
         at oracle.webdb.wsrp.server.RenderResponseImpl.encodeURL(Unknown Source)
         at org.apache.tapestry.portlet.PortletWebResponse.encodeURL(PortletWebResponse.java:60)
         at $WebResponse_109c058b636.encodeURL($WebResponse_109c058b636.java)
         at $WebResponse_109c058b51e.encodeURL($WebResponse_109c058b51e.java)
         at org.apache.tapestry.engine.RequestCycle.encodeURL(RequestCycle.java:207)
         at $IRequestCycle_109c058b63f.encodeURL($IRequestCycle_109c058b63f.java)
         at $IRequestCycle_109c058b53a.encodeURL($IRequestCycle_109c058b53a.java)
         at org.apache.tapestry.portlet.PortletLink.getURL(PortletLink.java:68)
         at org.apache.tapestry.portlet.PortletLink.getURL(PortletLink.java:126)
         at org.apache.tapestry.form.FormSupportImpl.render(FormSupportImpl.java:490)
         at org.apache.tapestry.form.Form.renderComponent(Form.java:250)
         at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:617)
         at org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:92)
         at org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:617)
         at org.apache.tapestry.AbstractPage.renderPage(AbstractPage.java:275)
         at org.apache.tapestry.engine.RequestCycle.renderPage(RequestCycle.java:366)
         ... 36 moreAny of you got any clue whether this is an issue of Tapestry, or of Oracle Portal. I'm guessing it is Oracle Portal messing things up, as it is Oracle which gets mentioned in the stacktrace as cause.
    Thanks.

    My mistake! The error was a result of a badly formatted portal.xml

  • WSRP/JSR-168 for production?

    Maybe I'm missing something, but from my little research on the use of WSRP/JSR-168 within Portal, all indications are this is not ready for production use. Meaning, if I use JDeveloper (or some other tool) I cannot deploy production quality Portlets based on these standards within Portal 10g (9.0.4). Is this correct, or did I miss something?
    Given this, my only choice is to use the JPDK if I wish to develop Java based portlets.
    Thanks...
    Dean

    Hi all,
    Even i am also looking for if any body has consumed the JSR168 portlet on
    OracleAs Portal 10g Release 2.
    I have found some article where it is mentioned that
    Production Support for JSR 168 and WSRP
    Once upgraded to Oracle Portal 10.1.4, a repository only upgrade on top of OracleAS 10.1.2.0.2, your portal version provides production support for building and consuming standards-based portlets. Oracle portal provides a Java Portlet Wizard within Oracle JDeveloper to build JSR 168 portlets and publish those portlet to Oracle's container or any portlet standards container. You can then consume JSR 168 portlet with Oracle Portal through WSRP. Oracle Portal also supports consuming any portlet through WSRP as well as JPDK portlets.
    U can read the complete details here:-
    http://www.oracle.com/technology/products/ias/portal/html/pdk_1014_new_features.html
    Thnx
    ~Neeraj Sidhaye
    [email protected]
    [email protected]

  • Support for JSR 168 and WSRP

    Hi,
    does SAP EP 7.0 supports JSR 168 and WSRP standards?
    Regards,
    Ladislav

    Hi Ladislav,
    Here are a few pointers that might answer your question:
    - WSRP 1.0 is supported in NetWeaver 7.0 (see this [SAP Help Page|http://help.sap.com/saphelp_nw70/helpdata/en/43/23fb36cad10d23e10000000a1553f7/frameset.htm] for more information)
    - JSR 168 support for Netweaver 7.0 has been discussed often but never confirmed in SAP documentation (check this thread for a recent SAP unofficial comment about its upcoming availability). However, NetWeaver CE 7.1 already supports JSR 168 (see this [SAP Help Page|http://help.sap.com/saphelp_nwce10/helpdata/en/44/5b96b37b6f4de1e10000000a1553f7/frameset.htm])
    Hope this helps.
    Best Regards,
    Joseph

  • How to convert JSR 168 compliant Portlets into SAP supported iViews.

    Hi,
    How to convert JSR 168 compliant Portlets into SAP supported iViews in SAP NetWeaver 2004.
    Thanks & Regards
    Siva

    Guys,
    JSR is not supported untill NW05. Please check this
    /thread/176954 [original link is broken]
    Akhilesh

  • What is the difference between JSR 168 portlets and WSRP portlets?

    What is the difference between JSR 168 portlets and WSRP portlets?

    Here is the difference between JSR168 and WSRP:
    The WSRP specification does not make any statements as to implemention. Java's portlet specification, JSR 168, and WSRP are not competing technologies. JSR 168 may be used to define a portlet, and WSRP may be used to define a portlet's operations to remote containers. JSR 168 portlets and WSRP may be used together to define a portlet and to provide remote operations. Similarly, .NET portlets may be created for use with WSRP. Interoperability between JSR 168 and .NET WSRP implementations has been demonstrated

  • WSRP & JSR-168

    Hello!
    I'm trying to declare my portlets as remote and connect to them.
    I have JSR-168 compliant portlets and I created remote portlets to them on a consumer.
    But every time I submit a form the portal reverts to the initual state instead of processing my request.
    I was also wondering if WebLogic processes only URLs created using the netui library?
    thank in advance,
    Vica

    Hi all,
    Even i am also looking for if any body has consumed the JSR168 portlet on
    OracleAs Portal 10g Release 2.
    I have found some article where it is mentioned that
    Production Support for JSR 168 and WSRP
    Once upgraded to Oracle Portal 10.1.4, a repository only upgrade on top of OracleAS 10.1.2.0.2, your portal version provides production support for building and consuming standards-based portlets. Oracle portal provides a Java Portlet Wizard within Oracle JDeveloper to build JSR 168 portlets and publish those portlet to Oracle's container or any portlet standards container. You can then consume JSR 168 portlet with Oracle Portal through WSRP. Oracle Portal also supports consuming any portlet through WSRP as well as JPDK portlets.
    U can read the complete details here:-
    http://www.oracle.com/technology/products/ias/portal/html/pdk_1014_new_features.html
    Thnx
    ~Neeraj Sidhaye
    [email protected]
    [email protected]

  • WSRP and JSR 168 Docs

    Can anyone tell me where to find some good documentation (especially tutorials) for WSRP and JSR 168?
    Thanks

    This is a good document for WSRP understanding.
    http://xml.coverpages.org/WSRP-Primerv0920040830a.pdf

  • WSRP (jsr-168) portlets no edit/help buttons appear

    Hi,
    I have some jsr-168 portlets that I wrote that work on other portal software (like uPortal). They have both help and edit buttons (specified in the portlet.xml and handlers written into the portlet code) and you can click them and see both the help and edit modes of the portlets. However, when I put these portlets on Oracle Portal (10.1.2/10.1.4), the edit/help (or personalize) buttons don't show up. I even tried to use the sample portlets from sun, like the BookmarkPortlet, etc, and they have the same problem.
    Any ideas?
    Thanks,
    -Mike M.

    Hi,
    I dont see anything obvisouly wrong with what you are doing. I suspect the var attribute though. Can you try out this sample
    ">view</a><br>
    <a href="
    <portlet:renderURL windowState="maximized" portletMode="help"/>">help</a><br>
    Thanks,
    Sharmila

  • 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 Raj

    Does 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>

  • 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

Maybe you are looking for

  • How do I deal with these SQLExceptions!!! ?

    What do these SQLException mean?? I'm trying to transfer information from one table to another. I tried two ways, and i've had problems with them FIRST WAY (USING PREPARED STATEMENT): Connection conexion = null; Connection conexion2 = null; Statement

  • Can't update or restore ipod

    I am having trouble updating to version 1.2. then i try to restore my ipod and it won't do that either...can someone please tell me how to fix the problem? please?

  • HELP! File Upload Servlet and Internet Explorer

    Hello people. I hope this is an easy problem to solve... I have a servlet upload program that works using Mozilla browser (www.mozilla.org), but for some reason it doesn't work using Microsoft IE. The servlet is also using the servlet upload API from

  • Urgent : extra column needed in report

    Hi All I have a query which displays the data for twelve months for a fiscal year. Rows: KF1 KF2 KF3 Column: Posting Period So the display of report is similar to Period    ,     1         ,      2          ,     3        ,     YTD,      BOY KF1     

  • Q10 - how to filter emails?

    After a recent switch to the new Q10 it appears that all email filters that i had set up for my blackberry service have been disabled. Clearly, the ability to filter emails (newsletter, etc) from being forwarded to the bby is a key feature of the bby