3 Replies Latest reply on May 5, 2009 1:27 PM by 641768

    Portletized ADF/sample application as WSRP Provider

    VenkatK2015
      First of all aplogies for reposting it here, thought this would be the right forum for this
      Hi ,

      I am trying to register portletized ADF application as WSRP provider on Portal 10.1.4.2 . My ADF application is deployed on a standalone OC4J 10.1.3.3 . When I try to register this portletized ADF applicaiton as WSRP provider I get the below error on WSRP registration page in portal.

      + An error occurred while trying to refresh the provider. (WWC-43190)+
      An error occurred during the call to the WSRP Provider: Java stack trace from root exception:
      java.rmi.ServerException: Internal Server Error (java.lang.NoClassDefFoundError: oracle/ias/cache/ObjectNotFoundException)
      at com.sun.xml.rpc.client.StreamingSender._raiseFault(StreamingSender.java:384)
      at com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.java:245)
      at oracle.webdb.wsrp.WSRP_v1_ServiceDescription_PortType_Stub.getServiceDescription(WSRP_v1_ServiceDescription_PortType_Stub.java:63)
      at oracle.webdb.wsrp.client.design.v1.OraWSRP_v1_ServiceDescription_PortType.getServiceDescription(Unknown Source)
      +. (WWC-43273)+

      When I checked the logs on standalone OC4J for my adf application I see the below error, whenever I try to regisetr as wsrp provider.

      +09/04/01 14:44:50.962 satvkadfportletexample: ERROR: caught throwable: java.lang.NoClassDefFoundError: oracle/ias/cache/ObjectNotFoundException+
      java.lang.NoClassDefFoundError: oracle/ias/cache/ObjectNotFoundException
      at java.lang.Class.getDeclaredConstructors0(Native Method)
      at java.lang.Class.privateGetDeclaredConstructors(Class.java:2357)
      at java.lang.Class.getConstructor0(Class.java:2671)
      at java.lang.Class.newInstance0(Class.java:321)
      at java.lang.Class.newInstance(Class.java:303)
      at com.sun.xml.rpc.server.http.ea.ImplementorInfo.createImplementor(ImplementorInfo.java:38)
      at com.sun.xml.rpc.server.http.ea.ImplementorFactory.getImplementorFor(ImplementorFactory.java:73)
      at com.sun.xml.rpc.server.http.ea.JAXRPCServletDelegate.doPost(JAXRPCServletDelegate.java:129)
      at com.sun.xml.rpc.server.http.JAXRPCServlet.doPost(JAXRPCServlet.java:69)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
      at com.evermindhttp://Oracle Containers for J2EE 10g (10.1.3.3.0) .server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java
      +:65)+
      at oracle.webdb.wsrp.server.ContextFilter.doFilter(Unknown Source)
      at com.evermindhttp://Oracle Containers for J2EE 10g (10.1.3.3.0) .server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher
      +.java:623)+
      at com.evermindhttp://Oracle Containers for J2EE 10g (10.1.3.3.0) .server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher
      +.java:370)+
      at com.evermindhttp://Oracle Containers for J2EE 10g (10.1.3.3.0) .server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler
      +.java:871)+
      at com.evermindhttp://Oracle Containers for J2EE 10g (10.1.3.3.0) .server.http.HttpRequestHandler.processRequest(HttpRequestHandler
      +.java:453)+
      at com.evermindhttp://Oracle Containers for J2EE 10g (10.1.3.3.0) .server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler
      +.java:221)+
      at com.evermindhttp://Oracle Containers for J2EE 10g (10.1.3.3.0) .server.http.HttpRequestHandler.run(HttpRequestHandler.java:122)
      at com.evermindhttp://Oracle Containers for J2EE 10g (10.1.3.3.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:239)
      at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:34)
      at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:880)
      at com.evermindhttp://Oracle Containers for J2EE 10g (10.1.3.3.0) .util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor
      +.java:303)+
      at java.lang.Thread.run(Thread.java:595)

      I have checked the class ObjectNotFoundException and it is found in cache.jar which is in $STANDALONE_OC4J_HOME/javacache/lib.

      The portletization of my ADF application seems to be fine and the url http://mystandalone:8888/satvkadfportletexample/portlets?WSDL does return a WSDL document.

      Below are my environment details
      Portal version :10.1.4.2
      OAS :10.1.2.3.0
      OAS jdk:1.4.2
      Mandatory patches for WSRP installed on OAS

      Standalone OC4J :10.1.3.3
      Standalone jdk :1.5
      ADF verion: 10.1.3.1
      portlet container installed on Standalone

      I have tried the same with sample application that comes with portlet container. It throws the same error. Also i installed portlet container on a OC4J in portal, deployed the sample application there and then tried to created a WSRP provider. In this case it worked. Seems like it is not working if the applications are deployed on standalone oc4j.

      Can anybody help me with this..

      Thanks
      -Venkat
        • 1. Re: Portletized ADF/sample application as WSRP Provider
          641768
          Dear Venkat,
          It seems like the problem is with AVC cache attribute mentioned in your web.xml

          Could you paste the contents of you web.xml of ADF Application that you have portletized?
          • 2. Re: Portletized ADF/sample application as WSRP Provider
            VenkatK2015
            Hi Kunal,

            Sorry for the delay...easter break ;) Btw here is the web.xml for my ADF application.

            +<?xml version = '1.0' encoding = 'windows-1252'?>+
            +<web-app 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/web-app_2_4.xsd" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee">+
            +<description>Empty web.xml file for Web Application</description>+
            +<filter>+
            +<filter-name>adfFaces</filter-name>+
            +<filter-class>oracle.adf.view.faces.webapp.AdfFacesFilter</filter-class>+
            +</filter>+
            +<filter-mapping>+
            +<filter-name>adfFaces</filter-name>+
            +<servlet-name>Faces Servlet</servlet-name>+
            +<dispatcher>FORWARD</dispatcher>+
            +<dispatcher>REQUEST</dispatcher>+
            +</filter-mapping>+
            +<servlet>+
            +<servlet-name>Faces Servlet</servlet-name>+
            +<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>+
            +<load-on-startup>1</load-on-startup>+
            +</servlet>+
            +<servlet>+
            +<servlet-name>resources</servlet-name>+
            +<servlet-class>oracle.adf.view.faces.webapp.ResourceServlet</servlet-class>+
            +</servlet>+
            +<servlet-mapping>+
            +<servlet-name>Faces Servlet</servlet-name>+
            +<url-pattern>/faces/*</url-pattern>+
            +</servlet-mapping>+
            +<servlet-mapping>+
            +<servlet-name>resources</servlet-name>+
            +<url-pattern>/adf/*</url-pattern>+
            +</servlet-mapping>+
            +<session-config>+
            +<session-timeout>35</session-timeout>+
            +</session-config>+
            +<mime-mapping>+
            +<extension>html</extension>+
            +<mime-type>text/html</mime-type>+
            +</mime-mapping>+
            +<mime-mapping>+
            +<extension>txt</extension>+
            +<mime-type>text/plain</mime-type>+
            +</mime-mapping>+
            +</web-app>+

            Thanks
            -Venkat
            • 3. Re: Portletized ADF/sample application as WSRP Provider
              641768
              Hi Venkat,

              First and foremost, you have not included the changes required to be made in web.xml for running the application as a portlet.
              Look at the following link to understand what changes need to be made for running any JSF/ADF Application as a portlet:

              http://www.devx.com/Java/Article/35429/1954


              If your application works as a portlet with or without the changes mentioned above,please include the following lines of code in your web.xml and try again:

              <!-- FOR VIEW CACHE -->

              <context-param>
              <param-name>oracle.adf.view.faces.USE_APPLICATION_VIEW_CACHE</param-name>
              <param-value>true</param-value>
              </context-param>

              <!-- END VIEW CACHE -->



              <!-- FOR PAGE FILTER -->
              <filter>
              <filter-name>PCF</filter-name>
              <filter-class>oracle.webcache.adf.filter.FacesPageCachingFilter</filter-class>
              </filter>
              <!-- END PAGE FILTER -->


              <!-- FOR WEBCACHE SERVLET -->
              <servlet>
              <servlet-name>AFCStatsServlet</servlet-name>
              <servlet-class>oracle.webcache.adf.servlet.AFCStatsServlet</servlet-class>
              <load-on-startup>1</load-on-startup>
              </servlet>
              <!-- END WEBCACHE SERVLET -->

              Thanks,
              Kunal