Search code examples
customizationoracle-adforacle-mds

No metadata found for metadata object "/view/DataBindingsBase.cpx" after Deploying EAR in MDS customization


I am developing Customization application for Base application.

Example, Base Application contains -

     Databindingsbase.cpx
     BoundedTF.xml - Which contains jsff page (Details.jsff)
     Details.jsff - Contains Button with label as 'Show Employee Details' with action 'ok'.
     UnboundedTF.xml - Contains jsf (Home.jsf) page to call the bounded task flow.
     Home.jsf - Contains Bounded Task flow.

I have included another application (RemoteApplication) as library in base application.

It contains :

      DatabindingsRemote.cpx
      RemoteBoundedTF.xml - It contains Channels.jsff page.
      Channels.jsff - It contains table view object on the page (Employee table with EmpId and EmpName column).

I have generated the jar file for the RemoteApplication and included it as library in Base Application.

I have included SiteCC customization class in Base Application.

Purpose of Customization Role :

        Open BoundedTF.xml of base application,Which already contains Details.jsff with view icon.
        Open web-inf folder of RemoteApplication library jar.
        Drag and drop RemoteBoundedTF.xml to BoundedTF.xml.
        Provide Control flow from Details.jsff to RemoteBoundedTF.xml with action 'ok'.

As all these changes are done in Customization role, So all the changes will be updated in BoundedTF.xml.xml.

I have generated View controllers WAR file - webapp1.war.

I have generated MAR file for incorporate latest changes as new customized layer to base application.

I have generated EAR file,which contains both WAR and MAR file. The EAR file will be successfully deployed on the server.

But as soon as I will try to run my Home.jsf page through the path provided in EAR after deployment.

I will get following exception

        oracle.jbo.NoXMLFileException: JBO-29114 ADFContext is not setup to process messages for this exception. Use the exception stack trace and error code to investigate the root cause of this exception. Root cause error code is JBO-26001. Error message parameters are {0=/view/DataBindingsBase.cpx}
at oracle.jbo.mom.MOMParserMDS.parse(MOMParserMDS.java:256)
at oracle.jbo.mom.MOMParserNonMDS.readAndParse(MOMParserNonMDS.java:71)
at oracle.jbo.mom.DefinitionContextStandard.readAndParse(DefinitionContextStandard.java:279)
at oracle.jbo.mom.DefinitionManager.loadProjectDefinition(DefinitionManager.java:2901)
at oracle.jbo.mom.DefinitionManager.loadProjectDefinitionInSession(DefinitionManager.java:2846)
at oracle.jbo.uicli.mom.JUMetaObjectManager.findCpx(JUMetaObjectManager.java:739)
at oracle.jbo.uicli.mom.JUMetaObjectManager.loadCpx(JUMetaObjectManager.java:882)
at oracle.adf.model.BindingContext.initialize(BindingContext.java:464)
at oracle.adf.model.BindingRequestHandler.beginRequest(BindingRequestHandler.java:272)
at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:192)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)
at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:105)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:529)
at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:529)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:354)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:232)
at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)
at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:166)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)
at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:141)
at java.security.AccessController.doPrivileged(Native Method)
at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315)
at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:649)
at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:124)
at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:232)
at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:94)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)
at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:224)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)
at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:32)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3654)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3620)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:326)
at weblogic.security.service.SecurityManager.runAsForUserCode(SecurityManager.java:196)
at weblogic.servlet.provider.WlsSecurityProvider.runAsForUserCode(WlsSecurityProvider.java:203)
at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:71)
at weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2423)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2280)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2258)
at weblogic.servlet.internal.ServletRequestImpl.runInternal(ServletRequestImpl.java:1626)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1586)
at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:270)
at weblogic.invocation.ComponentInvocationContextManager._runAs(ComponentInvocationContextManager.java:348)
at weblogic.invocation.ComponentInvocationContextManager.runAs(ComponentInvocationContextManager.java:333)
at weblogic.work.LivePartitionUtility.doRunWorkUnderContext(LivePartitionUtility.java:54)
at weblogic.work.PartitionUtility.runWorkUnderContext(PartitionUtility.java:41)
at weblogic.work.SelfTuningWorkManagerImpl.runWorkUnderContext(SelfTuningWorkManagerImpl.java:617)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:397)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:346)

     Caused By: oracle.mds.core.MetadataNotFoundException: MDS-00013: no       metadata found for metadata object "/view/DataBindingsBase.cpx" 
   MDS-00201: PDocument not found in MetadataStore : [store-             type=DBMetadataStore app-name=EAR66 repository-name=mds-CustomPortalDBDS partition-name=EAR66] 
at oracle.mds.core.MetadataObject.getBaseMO(MetadataObject.java:1677)
at oracle.mds.core.MDSSession.getBaseMO(MDSSession.java:4473)
at oracle.mds.core.MDSSession.getMetadataObject(MDSSession.java:1787)
at oracle.mds.core.MDSSession.getMetadataObject(MDSSession.java:1717)
at oracle.jbo.mom.MOMParserMDS.parse(MOMParserMDS.java:222)
at oracle.jbo.mom.MOMParserNonMDS.readAndParse(MOMParserNonMDS.java:71)
at oracle.jbo.mom.DefinitionContextStandard.readAndParse(DefinitionContextStandard.java:279)
at oracle.jbo.mom.DefinitionManager.loadProjectDefinition(DefinitionManager.java:2901)
at oracle.jbo.mom.DefinitionManager.loadProjectDefinitionInSession(DefinitionManager.java:2846)
at oracle.jbo.uicli.mom.JUMetaObjectManager.findCpx(JUMetaObjectManager.java:739)
at oracle.jbo.uicli.mom.JUMetaObjectManager.loadCpx(JUMetaObjectManager.java:882)
at oracle.adf.model.BindingContext.initialize(BindingContext.java:464)
at oracle.adf.model.BindingRequestHandler.beginRequest(BindingRequestHandler.java:272)
at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:192)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)
at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:105)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:529)
at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:529)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:354)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:232)
at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)
at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:166)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)
at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:141)
at java.security.AccessController.doPrivileged(Native Method)
at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315)
at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:649)
at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:124)
at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:232)
at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:94)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)
at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:224)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)
at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:32)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3654)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3620)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:326)
at weblogic.security.service.SecurityManager.runAsForUserCode(SecurityManager.java:196)
at weblogic.servlet.provider.WlsSecurityProvider.runAsForUserCode(WlsSecurityProvider.java:203)
at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:71)
at weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2423)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2280)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2258)
at weblogic.servlet.internal.ServletRequestImpl.runInternal(ServletRequestImpl.java:1626)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1586)
at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:270)
at weblogic.invocation.ComponentInvocationContextManager._runAs(ComponentInvocationContextManager.java:348)
at weblogic.invocation.ComponentInvocationContextManager.runAs(ComponentInvocationContextManager.java:333)
at weblogic.work.LivePartitionUtility.doRunWorkUnderContext(LivePartitionUtility.java:54)
at weblogic.work.PartitionUtility.runWorkUnderContext(PartitionUtility.java:41)
at weblogic.work.SelfTuningWorkManagerImpl.runWorkUnderContext(SelfTuningWorkManagerImpl.java:617)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:397)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:346)

I have tried solution from the given link.

http://docs.oracle.com/cd/E48434_01/doc.1118/e25450/mds_trouble.htm



http://adfwebcentermoments.blogspot.in/2015/11/oracle-adf-maven-build-and-deploy-issues.html

I am using default build tool only, not maven. So I am not able to identify the cause of this exception.

I have solved the exception by again making dataBindingsBase.cpx and dataBindingsRemote.cpx to dataBindings.cpx. Now I will have 2 duplicate dataBindings.cpx. One in Base Application and another in Remote Application jar file that I have included in Base Application.

Because of this, I was getting duplicate dataBindings.cpx exception. So I have removed this dataBindings.cpx from Remote JAR file.

In customization Role, I have done some changes and generated MAR file for the changes. I have deployed this MAR file in the EAR in weblogic server. But It is not able to reflect the changes. I am not getting where I am going wrong. Please suggest me on this.


Solution

  • I have changed dataBindingsBase.cpx back to dataBindings.cpx. It is working fine.

    Initially, when you change the name for dataBindings.cpx to any other name as I did, You have to change the name in adfm.xml. But at runtime, It didn't map dataBindingsBase.cpx in view. So It was throwing the mentioned error. Now it works fine.