My Oracle Support Banner

Replacing WSRP Portlet Registration At Runtime Results In "Portlet Consumer Error" (Doc ID 1531132.1)

Last updated on MARCH 08, 2022

Applies to:

Oracle WebCenter Portal - Version 11.1.1.5.0 and later
Information in this document applies to any platform.

Symptoms

WSRP portlets are used in WebCenter Portal application. These portlets are contained in a WSRP producer.
When the connection information to the associated WSRP Producer is deleted and recreated with exactly the same connection details, the portlets are no longer displayed.


This error is seen in place of the portlet:

Portlet Consumer Error.

And this error stack is seen in the log file where the application is deployed:

An error has occured for Portlet Binding portlet1.
oracle.adf.model.portlet.binding.PortletBindingException: The metadata for portlet binding <PORTLET_NAME> was not found in MDS.
at oracle.adf.model.portlet.binding.PortletBinding._initModel(PortletBinding.java:484)
at oracle.adf.model.portlet.binding.PortletBinding.initModel(PortletBinding.java:913)
at oracle.adf.model.portlet.binding.PortletBinding.getPortletModel(PortletBinding.java:541)
at oracle.adf.model.portlet.binding.PortletBinding.prepareRenderPhase(PortletBinding.java:394)
...
Caused by: oracle.portlet.client.persistence.PersistenceNotFoundException: mdsId=/oracle/adf/portlet/WsrpPortletProducer0/ap/<MDS_ID>.pxml not found
at oracle.portlet.client.persistenceimpl.mds.MDSPersistenceContext.getInternal(MDSPersistenceContext.java:649)
at oracle.portlet.client.persistenceimpl.mds.MDSPersistenceContext.get(MDSPersistenceContext.java:604)
at oracle.portlet.client.beanimpl.persistence.PersistenceBeanFactory.getExisting(PersistenceBeanFactory.java:249)
at oracle.portlet.client.beanimpl.persistence.PersistenceBeanContext.getExisting(PersistenceBeanContext.java:110)
...
Caused by: oracle.mds.core.MetadataNotFoundException: MDS-00013: no metadata found for metadata object "/oracle/adf/portlet/WsrpPortletProducer0/ap/<MDS_ID>.pxml"
at oracle.mds.core.MetadataObject.getBaseMO(MetadataObject.java:1279)
at oracle.mds.core.MDSSession.getBaseMO(MDSSession.java:3040)
at oracle.mds.core.MDSSession.getMetadataObject(MDSSession.java:1341)
at oracle.portlet.client.persistenceimpl.mds.MDSSessionWrapper.getBaseReadOnlyMO(MDSSessionWrapper.java:256)
at oracle.portlet.client.persistenceimpl.mds.MDSPersistenceContext.getInternal(MDSPersistenceContext.java:634)
... 77 more

 

These steps describe how to reproduce this issue using JDeveloper and the Integrated Web Logic Server, but the same problem occurs when the application is deployed to a remote custom server:

1. In JDeveloper, create a new simple WebCenter Portal application.
2. Under Application Resources -> Connections , create a new WSRP connection with connection to a producer in 11.1.1.5.4 (or any other version) instance containing the portlets.
    For example, create a WSRP connection to point to the wsrp-tools portlets available by default in the WC-Portlet managed server (http://<HOSTNAME>:<PORT>/wsrp-tools/portlets/wsrp2?WSDL).
3. This shows the WSRP portlets.
4.  Edit home.jspx and drag and drop a portlet from the WSRP producer (e.g. Parameter Form portlet).
5.  Start the Integrated WLS.
6.  Run home.jspx.
7.  Login as weblogic/<PASSWORD>.
8.  The application runs fine and the WSRP portlet is displayed.
9.  Delete the WSRP producer connection.
10.  Under Application Resources -> New Connection -> WSRP Producer, add a producer with the same details as before.
11.  Test producer connection -> success
12.  Save all.
13.  Run home.jspx again.
14.  The portlet does not display, but shows this error: "Portlet Consumer Error."

Changes

De-registering and re-registering a producer.

Cause

To view full details, sign in with your My Oracle Support account.

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


In this Document
Symptoms
Changes
Cause
Solution
References


My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.