Thursday, March 27, 2014

java.lang.ClassNotFoundException: oracle.adf.share.weblogic.listeners.ADFApplicationLifecycleListener

java.lang.ClassNotFoundException: oracle.adf.share.weblogic.listeners.ADFApplicationLifecycleListener

While deploying Oracle ADF application sometimes we may receive the following exception

weblogic.management.DeploymentException:
at weblogic.application.internal.flow.BaseLifecycleFlow$CreateListenerAction.run(BaseLifecycleFlow.java:184)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at weblogic.application.internal.flow.BaseLifecycleFlow$BaseAction.invoke(BaseLifecycleFlow.java:112)
at weblogic.application.internal.flow.HeadLifecycleFlow.createListener(HeadLifecycleFlow.java:117)
at weblogic.application.internal.flow.HeadLifecycleFlow.createListener(HeadLifecycleFlow.java:103)
at weblogic.application.internal.flow.HeadLifecycleFlow.createListeners(HeadLifecycleFlow.java:175)
at weblogic.application.internal.flow.HeadLifecycleFlow.prepare(HeadLifecycleFlow.java:281)
at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:648)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:191)
at weblogic.application.internal.EarDeployment.prepare(EarDeployment.java:59)
at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:154)
at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:61)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:545)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
Caused By: java.lang.ClassNotFoundException: oracle.adf.share.weblogic.listeners.ADFApplicationLifecycleListener
at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:297)
at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:270)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:179)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:249)
at

The issue is due to  missing ADF web Run-time libraries in the war file.This can be resolved by adding the ADF web Runtime libraries into the war file.

Steps to resolve the issue

If you are deploying through JDeveloper then follow the below steps.

Add the ADF Web Runtime to the project libraries.


Include the ADF Web Runtime library as part of the war. 
    Project Properties-->Edit the deployment profile.
    Select the ADF Web Runtime library as part of WEB-INF/lib contributors.





Friday, December 21, 2012

Building a Simple Oracle ADF page using Oracle BAM Data Control

Building a Simple Oracle ADF page using Oracle BAM Data Control

This blog will explain how to Build a Simple Oracle ADF page using Oracle BAM Data Control

The Oracle BAM reports can be built through BAM Active Studio or through BAM data control in Oracle ADF page.
In this blog I will be explaining about the steps required to build a simple ADF page using BAM data control.

Creating the BAM Connection:

  • Open the JDeveloper
  • Create new BAM Connection

  • Enter the BAM Server details as shown below. 

  • Click on Finish and Test the connection
  • Create the data object in BAM through Architect view (I am using the existing data object Employee)



Thursday, December 20, 2012

Runtime Exception in Oracle ADF application with Oracle BAM Data Control - Failed handling event FirstGetOnDataProvider on QueryConfigured

Runtime Exception in Oracle ADF application with Oracle BAM Data Control - Failed handling event FirstGetOnDataProvider on QueryConfigured


We may receive the following exception while running the Oracle ADF application with Oracle BAM Data Control configured into that.

<Dec 19, 2012 3:07:06 AM PST> <Error> <oracle.tip.tools.ide.bam.dc.rt.fsm.StateMachine> <BEA-000000> <Failed handling event FirstGetOnDataProvider on QueryConfigured>
<Dec 19, 2012 3:07:06 AM PST> <Warning> <oracle.adf.controller.faces.lifecycle.Utils> <BEA-000000> <ADF: Adding the following JSF error message: Failed handling event FirstGetOnDataProvider on QueryConfigured
oracle.tip.tools.ide.bam.dc.rt.fsm.exception.TransitionFailureException: Failed handling event FirstGetOnDataProvider on QueryConfigured
        at oracle.tip.tools.ide.bam.dc.rt.fsm.StateMachine.internalHandle(StateMachine.java:249)
        at oracle.tip.tools.ide.bam.dc.rt.fsm.StateMachine.handle(StateMachine.java:151)
        at oracle.tip.tools.ide.bam.dc.rt.provider.paging.PagingCollection$PagingIterator.<init>(PagingCollection.java:272)
        at oracle.tip.tools.ide.bam.dc.rt.provider.paging.PagingCollection$PagingIterator.<init>(PagingCollection.java:234)
        at oracle.tip.tools.ide.bam.dc.rt.provider.paging.PagingCollection.iterator(PagingCollection.java:152)
        at oracle.adf.model.bean.DCDataVO.buildProviderIterator(DCDataVO.java:1319)
        at oracle.adf.model.bean.DCDataVO.access$100(DCDataVO.java:86)
        at oracle.adf.model.bean.DCDataVO$DCObjectAdapter.refreshIterator(DCDataVO.java:2923)
        at oracle.adf.model.bean.DCDataVO.executeQueryForCollection(DCDataVO.java:404)
        at oracle.tip.tools.ide.bam.dc.dt.adapter.BAMDataControlDataVO.executeQueryForCollection(BAMDataControlDataVO.java:83)
        at oracle.jbo.server.ViewRowSetImpl.execute(ViewRowSetImpl.java:1217)
        at oracle.jbo.server.ViewRowSetImpl.executeQueryForMasters(ViewRowSetImpl.java:1397)
        at oracle.jbo.server.ViewRowSetImpl.executeQueryForMode(ViewRowSetImpl.java:1303)
        at oracle.jbo.server.ViewRowSetImpl.executeQuery(ViewRowSetImpl.java:1288)
        at oracle.jbo.server.ViewObjectImpl.executeQuery(ViewObjectImpl.java:7107)
        at oracle.adf.model.bean.DCBeanDataControl.executeIteratorBindingIfNeeded(DCBeanDataControl.java:990)
        at oracle.tip.tools.ide.bam.dc.dt.adapter.BAMAdapterDCService.executeIteratorBindingIfNeeded(BAMAdapterDCService.java:235)
        at oracle.adf.model.binding.DCIteratorBinding.executeQueryIfNeeded(DCIteratorBinding.java:2160)
        at oracle.jbo.uicli.binding.JUCtrlHierBinding.getRootNodeBinding(JUCtrlHierBinding.java:95)
        at oracle.adfinternal.view.faces.model.binding.RowDataManager.getParent(RowDataManager.java:251)
        at oracle.adfinternal.view.faces.model.

The issue is because of the BAM connection details are not configured in the EM console after the deployment of the application.

If we are deploying the application to the stand alone server, the Oracle BAM connection must be re-created in Oracle Fusion Middleware Control Console after the deployment of the application.
Also application must be deployed using MDS enabled otherwise the connection details will not be persisted.

Steps to resolve this issue:

Enable the MDS for the Application:

  • Right click on the project and Select Project Properties.


Problem while deploying Oracle ADF application - java.lang.ClassNotFoundException: oracle.adf.library.webapp.ResourceServlet

Problem while deploying Oracle ADF application - java.lang.ClassNotFoundException: oracle.adf.library.webapp.ResourceServlet


Sometimes we may receive the following exception while deploying the Oracle ADF application to the server.

weblogic.application.ModuleException: Failed to load webapp: 'BAPReport.war'
        at weblogic.servlet.internal.WebAppModule.prepare(WebAppModule.java:395)
        at weblogic.application.internal.flow.ScopedModuleDriver.prepare(ScopedModuleDriver.java:176)
        at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:199)
        at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:517)
        at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
        Truncated. see log file for complete stacktrace
Caused By: java.lang.ClassNotFoundException: oracle.adf.library.webapp.ResourceServlet
        at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:297)
        at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:270)
        at weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:64)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
        Truncated. see log file for complete stacktrace
The issue is the oracle.adf.library.webapp.ResourceServlet class is missing in the class path.This issue can be resolved by deploying the application as EAR file instead of deploying the project as WAR file.

Steps to resolve the issue:

  • Right click on the application and select Application properties

  • Select Deployment and click on New



Saturday, August 25, 2012

Problem while accessing the Oracle ADF application - java.lang.NoClassDefFoundError:oracle/jbo/common/SessionContextManagerImpl


Problem while accessing the Oracle ADF application - java.lang.NoClassDefFoundError:oracle/jbo/common/SessionContextManagerImpl

The following exception was thrown while accessing the Oracle ADF application deployed to the server.

java.lang.NoClassDefFoundError: oracle/jbo/common/SessionContextManagerImpl
                at oracle.adf.model.BindingRequestHandler.endRequest(BindingRequestHandler.java:326)
                at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:210)
                at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
                at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:106)

The issue is SessionContextManagerImpl class is missing from the classpath.

Steps to resolve the issue: 

  • Right click on the project and click on Project properties.
  •  Select the Libraries and Classpath and click on Add Library


Friday, August 17, 2012

Problem while deploying Oracle ADF application - java.lang.ClassNotFoundException: oracle.adf.model.servlet.ADFBindingFilter

Problem while deploying Oracle ADF application - java.lang.ClassNotFoundException: oracle.adf.model.servlet.ADFBindingFilter

The following exception was thrown while deploying the Oracle ADF application to the server.

[08:38:30 PM] Weblogic Server Exception: weblogic.application.ModuleException: Failed to load webapp: 'ADF_OSR_ViewController_webapp1.war'
[08:38:30 PM] Caused by: java.lang.ClassNotFoundException: oracle.adf.model.servlet.ADFBindingFilter
[08:38:30 PM]   See server logs or server console for more details.
[08:38:30 PM] weblogic.application.ModuleException: Failed to load webapp: 'ADF_OSR_ViewController_webapp1.war'
[08:38:30 PM] ####  Deployment incomplete.  ####
[08:38:30 PM] Remote deployment failed

The issue is the ADFBindingFilter class is missing in the class path.

Steps to resolve the issue:

  • Right click on the project and click on Project properties.
  • Select the Deployment, the deployment profile and click on edit button.


Friday, June 8, 2012

Could not find registry for application_JBOServiceRegistry while deploying the composite with Oracle ADF-BC adapter


Could not find registry for application_JBOServiceRegistry while deploying the composite with Oracle ADF-BC adapter

When we are invoking the Oracle ADF-BC service from our Oracle SOA Suite composite, we may receive the error
“Could not find registry for applicationname_JBOServiceRegistry”.

The error is due to the wrong registry name used in the ADF-BC adapter configuration also the missing listener entry in the weblogic-application.xml

Follow the below steps to resolve the issue:

Verify the registry name provided in the ADF-BC adapter used in the composite.



The Registry name should be of form <application name>_ JBOServiceRegistry
The application name can be found on the application deployment profile of the ADF-BC application.