Remote Portlet Error for WSRP2 Portlets after Redeploy

(Doc ID 1465671.1)

Last updated on NOVEMBER 30, 2016

Applies to:

Oracle WebCenter Portal - Version 11.1.1.4.0 to 11.1.1.5.0 [Release 11g]
Information in this document applies to any platform.
Checked for relevance on 06-May-2015

Symptoms

Portlets of a WSRP2 producer raise Remote Portlet Error after redeployment in WebCenter 11g 11.1.1.4 .
It only works fine after restarting the specific managed servers to which the portlet is deployed.

The problem is encountered with Bridge Portlet Producers with the following settings added to the web.xml:


The following exception is logged in a cluster environment when the problem occurs:

<Jul 1, 2011 3:14:50 AM PDT> <Error> <oracle.portlet.client.connection.wsrp.HTTPClientTransport> <WCS-40152> <A request to the producer URL "http://<host>:<port>/<context_root>/portlets/WSRP_v2_Markup_Service" resulted in a status 500 response with fault string "Invalid handle "C:98a52508-1b23-4901-b571-3e542e8f345b".; nested exception is:
        oracle.portlet.producer.container.ContainerObjectNotFoundException: Object named "C:98a52508-1b23-4901-b571-3e542e8f345b" could not be found in the persistent store.". The fault code given was "{urn:oasis:names:tc:wsrp:v2:types}InvalidRegistration". The producer generated a timestamp of 2011-07-01T03:14:50.322-07:00 and associated the following stack trace with the fault message: com.bea.wsrp.faults.InvalidRegistrationException: Invalid handle "C:98a52508-1b23-4901-b571-3e542e8f345b".; nested exception is:
        oracle.portlet.producer.container.ContainerObjectNotFoundException: Object named "C:98a52508-1b23-4901-b571-3e542e8f345b" could not be found in the persistent store.
        at com.bea.wsrp.producer.handlers.management.ProducerDataStoreManager$ConfigurationContext.createWsrpFaultException(ProducerDataStoreManager.java:1481)
        ...
        at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
        at weblogic.work.ExecuteThread.run(ExecuteThread.java:176)
Caused by: oracle.portlet.producer.container.ContainerObjectNotFoundException: Object named "C:98a52508-1b23-4901-b571-3e542e8f345b" could not be found in the persistent store.
        at oracle.portlet.producer.container.persistence.PersistentRegistrationData.recreate(PersistentRegistrationData.java:156)
        at oracle.portlet.producer.container.persistence.PersistentProducerDataStore.getRegistrationDataContext(PersistentProducerDataStore.java:186)
        ...
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)
        at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
        at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
        ... 6 more
Caused by: java.lang.ClassCastException: oracle.portlet.producer.container.persistence.PersistentRegistrationData
        at oracle.portlet.producer.container.persistence.PersistentRegistrationData.recreate(PersistentRegistrationData.java:118)
        ... 63 more
.>
<Jul 1, 2011 3:14:51 AM PDT> <Error> <Cluster> <BEA-000126> <All session objects should be serializable to replicate. Check the objects in your session. Failed to replicate non-serializable object.
java.rmi.MarshalException: failed to marshal update(Lweblogic.cluster.replication.ROID;ILjava.io.Serializable;Ljava.lang.Object;); nested exception is:
        java.io.NotSerializableException: oracle.portlet.client.container.PortletServerFaultDetails
        at weblogic.rjvm.BasicOutboundRequest.marshalArgs(BasicOutboundRequest.java:92)
        at weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:221)
        at weblogic.cluster.replication.ReplicationManager_1034_WLStub.update(Unknown Source)
        at sun.reflect.GeneratedMethodAccessor1931.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        Truncated. see log file for complete stacktrace
Caused By: java.io.NotSerializableException: oracle.portlet.client.container.PortletServerFaultDetails
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1164)
        at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:330)
        at weblogic.servlet.internal.session.ReplicatedSessionChange.writeExternal(ReplicatedSessionChange.java:153)
        at java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1429)
        Truncated. see log file for complete stacktrace
>
<Jul 1, 2011 3:14:51 AM PDT> <Error> <oracle.portlet.binding> <BEA-000000> <An error has occured for Portlet Binding portlet7625039260.
oracle.portlet.client.container.PortletRemoteException: oracle.portlet.server.container.InvalidRegistrationException: oracle.portlet.wsrp.v2.InvalidRegistrationException: Invalid handle "C:98a52508-1b23-4901-b571-3e542e8f345b".; nested exception is:
        oracle.portlet.producer.container.ContainerObjectNotFoundException: Object named "C:98a52508-1b23-4901-b571-3e542e8f345b" could not be found in the persistent store.
        at oracle.portlet.client.techimpl.wsrp.WSRPBaseTerminalPipe.processException(WSRPBaseTerminalPipe.java:40)
        at oracle.portlet.client.techimpl.wsrp.WSRPInitCookiePipe.execute(WSRPInitCookiePipe.java:141)
        ...
        at oracle.portlet.client.service.pipeline.ModifiedThreadPoolExecutor$Worker.run(ModifiedThreadPoolExecutor.java:416)
        at java.lang.Thread.run(Thread.java:662)
Caused By: oracle.portlet.server.container.InvalidRegistrationException: oracle.portlet.wsrp.v2.InvalidRegistrationException: Invalid handle "C:98a52508-1b23-4901-b571-3e542e8f345b".; nested exception is:
        oracle.portlet.producer.container.ContainerObjectNotFoundException: Object named "C:98a52508-1b23-4901-b571-3e542e8f345b" could not be found in the persistent store.
        at oracle.portlet.wsrp.v2.ServerToWSRPv2.initCookie(ServerToWSRPv2.java:11683)
        at oracle.portlet.client.connection.wsrp.ActivityServerWrapper.initCookie(ActivityServerWrapper.java:688)
        ...
        at oracle.portlet.client.service.pipeline.ModifiedThreadPoolExecutor$Worker.runTask(ModifiedThreadPoolExecutor.java:391)
        at oracle.portlet.client.service.pipeline.ModifiedThreadPoolExecutor$Worker.run(ModifiedThreadPoolExecutor.java:416)
        at java.lang.Thread.run(Thread.java:662)
Caused By: oracle.portlet.wsrp.v2.InvalidRegistrationException: Invalid handle "C:98a52508-1b23-4901-b571-3e542e8f345b".; nested exception is:
        oracle.portlet.producer.container.ContainerObjectNotFoundException: Object named "C:98a52508-1b23-4901-b571-3e542e8f345b" could not be found in the persistent store.
        at oracle.portlet.wsrp.v2.WSRP_v2_Markup_PortTypeJaxbToSoap.initCookie(WSRP_v2_Markup_PortTypeJaxbToSoap.java:709)
        at oracle.portlet.wsrp.v2.ServerToWSRPv2.initCookie(ServerToWSRPv2.java:11642)
        at oracle.portlet.client.connection.wsrp.ActivityServerWrapper.initCookie(ActivityServerWrapper.java:688)
        at oracle.portlet.client.techimpl.wsrp.WSRPInitCookiePipe.execute(WSRPInitCookiePipe.java:115)
        at oracle.portlet.client.techimpl.wsrp.WSRPInitCookiePipe.pre(WSRPInitCookiePipe.java:45)
        at oracle.portlet.client.service.pipeline.PipeContext.internalExecute2(PipeContext.java:645)
        at oracle.portlet.client.service.pipeline.PipeContext.access$000(PipeContext.java:48)
        at oracle.portlet.client.service.pipeline.PipeContext$1.run(PipeContext.java:493)
        at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
        at oracle.security.jps.internal.jaas.AccActionExecutor.execute(AccActionExecutor.java:47)
        at oracle.security.jps.internal.jaas.CascadeActionExecutor$SubjectPrivilegedExceptionAction.run(CascadeActionExecutor.java:79)
        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
        at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:146)
        at weblogic.security.Security.runAs(Security.java:61)
        at oracle.security.jps.wls.jaas.WlsActionExecutor.execute(WlsActionExecutor.java:48)

The exception is different in a single-node environment:

[2011-09-08T10:27:53.831-04:00] [WC_Portlet] [ERROR] [] [oracle.as.cache] [tid: [ACTIVE].ExecuteThread: '7' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: anonymous] [ecid: c039d80d7fb17c1c:-4f825db:1324976c06a:-8000-00000000000000f0,0:1:1:1] [WEBSERVICE_PORT.name: WSRP_v2_Markup_Service] [APP: sample] [J2EE_MODULE.name: sample] [WEBSERVICE.name: WSRP_v2_Service] [J2EE_APP.name: sample] [[
java.lang.ClassCastException: oracle.portlet.producer.container.persistence.storage.CacheGroup$CacheItem cannot be cast to oracle.portlet.producer.container.persistence.storage.CacheGroup$CacheItem
        at oracle.portlet.producer.container.persistence.storage.CacheGroupLoader.load(CacheGroupLoader.java:60)
        at oracle.ias.cache.CacheLoader.callLoad(CacheLoader.java:60)
        at oracle.ias.cache.CacheHandle.findObject(CacheHandle.java:1532)
        at oracle.ias.cache.CacheHandle.locateObject(CacheHandle.java:1118)
        at oracle.ias.cache.CacheAccess.get(CacheAccess.java:965)
        at oracle.portlet.producer.container.persistence.storage.CacheGroup.get(CacheGroup.java:200)
        at oracle.portlet.producer.container.persistence.PersistentRegistrationData.recreate(PersistentRegistrationData.java:113)
        at oracle.portlet.producer.container.persistence.PersistentProducerDataStore.getRegistrationDataContext(PersistentProducerDataStore.java:186)
        at oracle.portlet.producer.container.persistence.ProducerDataStoreImpl.getRegistrationDataContext(ProducerDataStoreImpl.java:225)
        at com.bea.wsrp.producer.handlers.management.ProducerDataStoreManager.initializeRequestContext(ProducerDataStoreManager.java:242)
        at com.bea.wsrp.producer.handlers.management.ProducerDataStoreManager.initializeRegistration(ProducerDataStoreManager.java:210)
        at com.bea.wsrp.producer.handlers.RegistrationHandleFilter.doFilter(RegistrationHandleFilter.java:56)
        at com.bea.wsrp.producer.handlers.AbstractServiceHandler.preprocess(AbstractServiceHandler.java:108)
        at com.bea.wsrp.producer.handlers.AbstractServiceHandler.service(AbstractServiceHandler.java:65)
        at com.bea.wsrp.producer.container.ProducerEndPoint.processNow(ProducerEndPoint.java:349)
        at com.bea.wsrp.producer.container.ProducerEndPoint.processNow(ProducerEndPoint.java:250)
        at com.bea.wsrp.producer.container.ProducerEndPoint.processNow(ProducerEndPoint.java:208)
        at oracle.portlet.server.adapter.web.WSRP_v2_Markup_PortTypeSoapToEndpoint.initCookie(WSRP_v2_Markup_PortTypeSoapToEndpoint.java:281)
        at oasis.names.tc.wsrp.v2.bind.runtime.WSRP_v2_Markup_Binding_SOAP_Tie.invoke_initCookie(WSRP_v2_Markup_Binding_SOAP_Tie.java:295)
        at oasis.names.tc.wsrp.v2.bind.runtime.WSRP_v2_Markup_Binding_SOAP_Tie.processingHook(WSRP_v2_Markup_Binding_SOAP_Tie.java:1448)
        at oracle.j2ee.ws.server.StreamingHandler.handle(StreamingHandler.java:299)
        at oracle.j2ee.ws.server.JAXRPCProcessor.doEndpointProcessing(JAXRPCProcessor.java:442)
        at oracle.j2ee.ws.server.WebServiceProcessor.invokeEndpointImplementation(WebServiceProcessor.java:1081)
        at oracle.j2ee.ws.server.JAXRPCProcessor.doRequestProcessing(JAXRPCProcessor.java:333)
        at oracle.j2ee.ws.server.WebServiceProcessor.processRequest(WebServiceProcessor.java:232)
        at oracle.j2ee.ws.server.JAXRPCProcessor.doService(JAXRPCProcessor.java:185)
        at oracle.j2ee.ws.server.WebServiceServlet.doPost(WebServiceServlet.java:459)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
        at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
        at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
        at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
        at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
        at oracle.portlet.producer.container.endpoint.ProducerEndpointFilter.doFilter(ProducerEndpointFilter.java:34)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
        at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111)
        at java.security.AccessController.doPrivileged(Native Method)
        at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
        at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413)
        at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:94)
        at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:161)
        at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
        at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111)
        at java.security.AccessController.doPrivileged(Native Method)
        at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
        at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413)
        at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:94)
        at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:161)
        at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
        at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:136)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
        at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
        at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
        at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
        at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
        at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
        at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
        at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
        at weblogic.work.ExecuteThread.run(ExecuteThread.java:176)

]]


The problem does not occur when removing the following entries from the web.xml in the single node environment:

   <env-entry>
    <env-entry-name>oracle/portal/wsrp/server/persistentStore</env-entry-name>
    <env-entry-type>java.lang.String</env-entry-type>
    <env-entry-value>Database</env-entry-value>
  </env-entry>
  <env-entry>
    <env-entry-name>oracle/portal/wsrp/server/enableJavaObjectCache</env-entry-name>
    <env-entry-type>java.lang.String</env-entry-type>
    <env-entry-value>true</env-entry-value>
  </env-entry>
  <resource-ref>
    <res-ref-name>jdbc/portletPrefs</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
  </resource-ref>


However, in HA environment, the producer cannot longer be registered without these settings, it produces the following exceptions:

<Oct 17, 2011 10:07:17 PM PDT> <Error> <oracle.portlet.client.connection.wsrp.HTTPClientTransport> <WCS-40152> <A request to the producer URL "http://<host>:<port>/<context_root>/portlets/WSRP_v2_ServiceDescription_Service" resulted in a status 500 response with fault string "Invalid handle "C:e4495eba-1214-4acc-aa2d-a9ae84cd9512".; nested exception is:
        oracle.portlet.producer.container.ContainerObjectNotFoundException: Object named "registration" could not be found in the persistent store.". The fault code given was "{urn:oasis:names:tc:wsrp:v2:types}InvalidRegistration". The producer generated a timestamp of 2011-10-17T22:07:17.108-07:00 and associated the following stack trace with the fault message: com.bea.wsrp.faults.InvalidRegistrationException: Invalid handle "C:e4495eba-1214-4acc-aa2d-a9ae84cd9512".; nested exception is:
        oracle.portlet.producer.container.ContainerObjectNotFoundException: Object named "registration" could not be found in the persistent store.
        at com.bea.wsrp.producer.handlers.management.ProducerDataStoreManager$ConfigurationContext.createWsrpFaultException(ProducerDataStoreManager.java:1481)
...
        at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
        at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
        at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
        at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
        at weblogic.work.ExecuteThread.run(ExecuteThread.java:176)
Caused by: oracle.portlet.producer.container.ContainerObjectNotFoundException: Object named "registration" could not be found in the persistent store.
        at oracle.portlet.producer.container.persistence.storage.SimplePersistentStorage.get(SimplePersistentStorage.java:48)
        at oracle.portlet.producer.container.persistence.PersistentRegistrationData.recreate(PersistentRegistrationData.java:113)
...
        at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
        ... 4 more
.>
<Oct 17, 2011 10:07:18 PM PDT> <Error> <oracle.portlet.client.mbean> <WCS-40913> <The attempt to register the producer with ID '{1}' for connection '/oracle/adf/portlet/sr_sample_99b26867-3926-4548-bb31-da9afaa5d176' failed.
oracle.portlet.client.container.PortletRemoteException: WSRP producer responded with an error (InvalidRegistrationException).
        at oracle.portlet.client.techimpl.wsrp.WSRPClientImpl.handleException(WSRPClientImpl.java:3645)
        at oracle.portlet.client.techimpl.wsrp.WSRPClientImpl.registerProducer(WSRPClientImpl.java:2940)
        at oracle.portlet.client.techimpl.wsrp.WSRPClientImpl.register(WSRPClientImpl.java:201)
...
        at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)
        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
        at weblogic.work.ExecuteThread.run(ExecuteThread.java:176)
Caused By: oracle.portlet.server.container.InvalidRegistrationException: oracle.portlet.wsrp.v2.InvalidRegistrationException: Invalid handle "C:e4495eba-1214-4acc-aa2d-a9ae84cd9512".; nested exception is:
        oracle.portlet.producer.container.ContainerObjectNotFoundException: Object named "registration" could not be found in the persistent store.
        at oracle.portlet.wsrp.v2.ServerToWSRPv2.getServiceDescription(ServerToWSRPv2.java:1693)
        at oracle.portlet.client.connection.wsrp.ActivityServerWrapper.getServiceDescription(ActivityServerWrapper.java:2509)
        at oracle.portlet.client.techimpl.wsrp.WSRPClientImpl.registerProducer(WSRPClientImpl.java:2879)
...
        at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:146)
        at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:518)
        at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)
        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
        at weblogic.work.ExecuteThread.run(ExecuteThread.java:176)
Caused By: oracle.portlet.wsrp.v2.InvalidRegistrationException: Invalid handle "C:e4495eba-1214-4acc-aa2d-a9ae84cd9512".; nested exception is:
        oracle.portlet.producer.container.ContainerObjectNotFoundException: Object named "registration" could not be found in the persistent store.
        at oracle.portlet.wsrp.v2.WSRP_v2_ServiceDescriptio n_PortTypeJaxbToSoap.getServiceDescription(WSRP_v2_ServiceDescription_PortTypeJaxbToSoap.java:99)
        at oracle.portlet.wsrp.v2.ServerToWSRPv2.getServiceDescription(ServerToWSRPv2.java:683)
...
        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
        at weblogic.work.ExecuteThread.run(ExecuteThread.java:176)
Caused By: oracle.portlet.wsrp.v2.soap.InvalidRegistration
        at oracle.portlet.wsrp.v2.soap.runtime.WSRP_v2_ServiceDescription_PortType_getServiceDescription_Fault_SOAPSerializer.deserializeDetail(WSRP_v2_ServiceDescription_PortType_getServiceDescription_Fault_SOAPSerializer.java:78)
        at oracle.j2ee.ws.common.encoding.SOAPFaultInfoSerializer.doDeserializeSOAP11(SOAPFaultInfoSerializer.java:133)
...
        at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)
        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
        at weblogic.work.ExecuteThread.run(ExecuteThread.java:176)
>
<Oct 17, 2011 10:07:18 PM PDT> <Warning> <oracle.portlet.client.mbean> <BEA-000000> <
java.lang.RuntimeException: The attempt to register the producer with ID '/oracle/adf/portlet/sr_sample_99b26867-3926-4548-bb31-da9afaa5d176' for connection 'sr_sample' failed.
oracle.portlet.wsrp.v2.InvalidRegistrationException: Invalid handle "C:e4495eba-1214-4acc-aa2d-a9ae84cd9512".; nested exception is:
        oracle.portlet.producer.container.ContainerObjectNotFoundException: Object named "registration" could not be found in the persistent store.
Invalid handle "C:e4495eba-1214-4acc-aa2d-a9ae84cd9512".; nested exception is:
        oracle.portlet.producer.container.ContainerObjectNotFoundException: Object named "registration" could not be found in the persistent store.
null

        at oracle.portlet.client.mbean.ProducerUtils.doRegisterProducer(ProducerUtils.java:426)
        at oracle.portlet.client.mbean.ProducerMXBeanImpl.doRegisterProducer(ProducerMXBeanImpl.java:975)
...
        at javax.management.remote.rmi.RMIConnectionImpl_WLSkel.invoke(Unknown Source)
        at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:668)
        at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)
        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
        at weblogic.work.ExecuteThread.run(ExecuteThread.java:176)
>
<Oct 17, 2011 10:07:18 PM PDT> <Warning> <RMI> <BEA-080003> <RuntimeException thrown by rmi server: javax.management.remote.rmi.RMIConnectionImpl.invoke(Ljavax.management.ObjectName;Ljava.lang.String;Ljava.rmi.MarshalledObject;[Ljava.lang.String;Ljavax.security.auth.Subject;)
 javax.management.RuntimeMBeanException: javax.management.RuntimeMBeanException: The attempt to register the producer with ID '/oracle/adf/portlet/sr_sample_99b26867-3926-4548-bb31-da9afaa5d176' for connection 'sr_sample' failed.
oracle.portlet.wsrp.v2.InvalidRegistrationException: Invalid handle "C:e4495eba-1214-4acc-aa2d-a9ae84cd9512".; nested exception is:
        oracle.portlet.producer.container.ContainerObjectNotFoundException: Object named "registration" could not be found in the persistent store.
Invalid handle "C:e4495eba-1214-4acc-aa2d-a9ae84cd9512".; nested exception is:
        oracle.portlet.producer.container.ContainerObjectNotFoundException: Object named "registration" could not be found in the persistent store.
null
.
javax.management.RuntimeMBeanException: javax.management.RuntimeMBeanException: The attempt to register the producer with ID '/oracle/adf/portlet/sr_sample_99b26867-3926-4548-bb31-da9afaa5d176' for connection 'sr_sample' failed.
oracle.portlet.wsrp.v2.InvalidRegistrationException: Invalid handle "C:e4495eba-1214-4acc-aa2d-a9ae84cd9512".; nested exception is:
        oracle.portlet.producer.container.ContainerObjectNotFoundException: Object named "registration" could not be found in the persistent store.
Invalid handle "C:e4495eba-1214-4acc-aa2d-a9ae84cd9512".; nested exception is:
        oracle.portlet.producer.container.ContainerObjectNotFoundException: Object named "registration" could not be found in the persistent store.
null

        at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.rethrow(DefaultMBeanServerInterceptor.java:856)
        at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.rethrowMaybeMBeanException(DefaultMBeanServerInterceptor.java:869)
        at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:838)
        at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)
        at weblogic.management.jmx.mbeanserver.WLSMBeanServerInterceptorBase$16.run(WLSMBeanServerInterceptorBase.java:449)
        Truncated. see log file for complete stacktrace
Caused By: javax.management.RuntimeMBeanException: The attempt to register the producer with ID '/oracle/adf/portlet/sr_sample_99b26867-3926-4548-bb31-da9afaa5d176' for connection 'sr_sample' failed.
oracle.portlet.wsrp.v2.InvalidRegistrationException: Invalid handle "C:e4495eba-1214-4acc-aa2d-a9ae84cd9512".; nested exception is:
        oracle.portlet.producer.container.ContainerObjectNotFoundException: Object named "registration" could not be found in the persistent store.
Invalid handle "C:e4495eba-1214-4acc-aa2d-a9ae84cd9512".; nested exception is:
        oracle.portlet.producer.container.ContainerObjectNotFoundException: Object named "registration" could not be found in the persistent store.
null

        at oracle.as.jmx.framework.standardmbeans.spi.OracleStandardEmitterMBean.doInvoke(OracleStandardEmitterMBean.java:981)
        at oracle.adf.mbean.share.AdfMBeanInterceptor.internalInvoke(AdfMBeanInterceptor.java:104)
        at oracle.as.jmx.framework.generic.spi.interceptors.AbstractMBeanInterceptor.doInvoke(AbstractMBeanInterceptor.java:252)
        at oracle.as.jmx.framework.generic.spi.security.AbstractMBeanSecurityInterceptor.internalInvoke(AbstractMBeanSecurityInterceptor.java:190)
        at oracle.as.jmx.framework.generic.spi.interceptors.AbstractMBeanInterceptor.doInvoke(AbstractMBeanInterceptor.java:252)
        Truncated. see log file for complete stacktrace
Caused By: java.lang.RuntimeException: The attempt to register the producer with ID '/oracle/adf/portlet/sr_sample_99b26867-3926-4548-bb31-da9afaa5d176' for connection 'sr_sample' failed.
oracle.portlet.wsrp.v2.InvalidRegistrationException: Invalid handle "C:e4495eba-1214-4acc-aa2d-a9ae84cd9512".; nested exception is:
        oracle.portlet.producer.container.ContainerObjectNotFoundException: Object named "registration" could not be found in the persistent store.
Invalid handle "C:e4495eba-1214-4acc-aa2d-a9ae84cd9512".; nested exception is:
        oracle.portlet.producer.container.ContainerObjectNotFoundException: Object named "registration" could not be found in the persistent store.
null

        at oracle.portlet.client.mbean.ProducerUtils.doRegisterProducer(ProducerUtils.java:426)
        at oracle.portlet.client.mbean.ProducerMXBeanImpl.doRegisterProducer(ProducerMXBeanImpl.java:975)
        at oracle.portlet.client.mbean.ProducerMXBeanImpl.registerProducer(ProducerMXBeanImpl.java:282)
        at oracle.portlet.client.mbean.ProducerMXBeanImpl.registerProducer(ProducerMXBeanImpl.java:254)
        at oracle.portlet.client.mbean.ProducerMXBeanImpl.registerProducer(ProducerMXBeanImpl.java:244)
        Truncated. see log file for complete stacktrace
>

Steps to reproduce:

1. Create a simple "hello world" Bridge Portlet which generates a WSRP2 producer.
2. Add the following entries to the web.xml to make the producer work in HA environment as per
    <Note 1146223.1> - How to Cluster a WSRP Container for Full Application Failover in 11g Environment? :

  <distributable />         
   <env-entry>
    <env-entry-name>oracle/portal/wsrp/server/persistentStore</env-entry-name>
    <env-entry-type>java.lang.String</env-entry-type>
    <env-entry-value>Database</env-entry-value>
  </env-entry>
  <env-entry>
    <env-entry-name>oracle/portal/wsrp/server/enableJavaObjectCache</env-entry-name>
    <env-entry-type>java.lang.String</env-entry-type>
    <env-entry-value>true</env-entry-value>
  </env-entry>
  <resource-ref>
    <res-ref-name>jdbc/portletPrefs</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
  </resource-ref>


3.  Deploy the portlet to a managed server i.e. WC_Portlet.
4.  Register the producer to a custom WebCenter application.
5.  Drag and drop the portlet to a JSF page in the custom WebCenter application.
6.  Execute the page, and notice that the portlet gets displayed as expected.
7.  Redeploy the producer.
8.  Refresh the custom WebCenter page and notice the Remote Portlet Error.
9.  Try to refresh the page, and notice that the problem does not go away.
10. Restart the managed server where the portlet was deployed.
11. Refresh the custom WebCenter page and notice that the portlet displays correctly again.

 

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms