我正在为Base应用程序开发Customization应用程序。
实施例, 基础应用程序包含 -
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.
我在基础应用程序中包含了另一个应用程序(RemoteApplication)作为库。
它包含:
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).
我已经为RemoteApplication生成了jar文件,并将其作为库包含在Base Application中。
我在Base Application中包含了SiteCC自定义类。
自定义角色的目的:
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'.
由于所有这些更改都是在Customization角色中完成的,因此所有更改都将在BoundedTF.xml.xml中更新。
我已经生成了View controllers WAR文件 - webapp1.war。
我已经生成了MAR文件,用于将最新更改作为新的自定义图层添加到基础应用程序。
我生成了EAR文件,其中包含WAR和MAR文件。 EAR文件将成功部署在服务器上。
但是一旦我尝试在部署后通过EAR中提供的路径运行我的Home.jsf页面。
我会得到以下异常
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)
我尝试过给定链接的解决方案。
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
我只使用默认构建工具,而不是maven。所以我无法确定此异常的原因。
我通过再次将dataBindingsBase.cpx和dataBindingsRemote.cpx发送到dataBindings.cpx解决了这个异常。现在我将有2个重复的dataBindings.cpx。一个在Base Application中,另一个在Remote Application jar文件中,我已经包含在Base Application中。
因此,我得到了重复的dataBindings.cpx异常。所以我从Remote JAR文件中删除了这个dataBindings.cpx。
在自定义角色中,我做了一些更改并为更改生成了MAR文件。我已将此MAR文件部署在weblogic服务器的EAR中。但它无法反映这些变化。我没有得到我错的地方。请建议我。
答案 0 :(得分:0)
我已将dataBindingsBase.cpx更改回dataBindings.cpx。它工作正常。
最初,当您将dataBindings.cpx的名称更改为任何其他名称时,您必须更改adfm.xml中的名称。但是在运行时,它并没有在视图中映射dataBindingsBase.cpx。所以它抛出了上述错误。现在它工作正常。