Tag Archives: server

ADF Application Troubleshooting Flowchart – Explained


Initial Stage

Debugging the Issue:

Debugging the problem is the important step in finding the problem in ADF Application. If you are able to debug the application flow then there is a possible chance of pointing out the problem in the first place. Debugging help us to understand where and when the problem arises.

In ADF Application you can debug the issue by placing the breakpoints in Java class file and also in Task Flows. To know more about debugging follow this link

If we are able to identify the problem and fix it then its good. otherwise note down the problem and move to next step

Look for Errors:

After debugging the issues we are sure that the outcome will result in

  • What is the problem?
  • Where is the problem occurring?
  • When is the problem occurring?

Most of the time we have the exception thrown to the user or in the console. Its easy foe advanced user to identify the  cause of the issue when the exception or the error is thrown. Also the exceptions that occur will be self explanatory but its hard for newbie to spot the root cause.

Its always advised to find the exception or error for the clear understanding of the problem. So we have to find a way to get these exceptions thrown. These are the qualified places to look for errors and exceptions

  • JDeveloper Console – For integrated server
  • Weblogic Console – if its a standalone deployment

This link will help you to find the errors and also some standard practice to look for exceptions by preparing the application to log the application events using a Logger file.

After seeing the Exceptions

Search for Errors online

By this time you would have got the exception or the error in your hand. So don’t waste time start searching for the error in

  • To Search in Google efficiently follow this link
  • OTN Forum link is here
  • Documentation (11.1.1.6) link is here
  • Oracle Support link is here

Eg. If this is the error that you are getting


oracle.adf.controller.internal.AdfcIllegalStateException: oracle.adf.controller.ControllerException: ADFC-12003: The page flow scope stack is empty.
 at oracle.adfinternal.controller.state.PageFlowStackEntry.getPageFlowScope(PageFlowStackEntry.java:271)
 at oracle.adfinternal.controller.state.ViewPortContextImpl.getCurrentStateInstance(ViewPortContextImpl.java:594)
 at oracle.adfinternal.controller.state.RequestState.setCurrentViewPortContext(RequestState.java:200)
 at oracle.adfinternal.controller.state.ControllerState.setRequestState(ControllerState.java:948)
 at oracle.adfinternal.controller.state.ControllerState.synchronizeStatePart1(ControllerState.java:360)
 at oracle.adfinternal.controller.application.SyncNavigationStateListener.beforePhase(SyncNavigationStateListener.java:127)
 at oracle.adfinternal.controller.lifecycle.ADFLifecycleImpl$PagePhaseListenerWrapper.beforePhase(ADFLifecycleImpl.java:551)
 at oracle.adfinternal.controller.lifecycle.LifecycleImpl.internalDispatchBeforeEvent(LifecycleImpl.java:100)
 at oracle.adfinternal.controller.lifecycle.LifecycleImpl.dispatchBeforePagePhaseEvent(LifecycleImpl.java:147)
 at oracle.adfinternal.controller.faces.lifecycle.ADFPhaseListener$PhaseInvokerImpl.dispatchBeforePagePhaseEvent(ADFPhaseListener.java:112)
 at oracle.adfinternal.controller.faces.lifecycle.ADFPhaseListener.beforePhase(ADFPhaseListener.java:59)
 ...

Options to search

  1. oracle.adf.controller.internal.AdfcIllegalStateException (common search term)
  2. oracle.adf.controller.ControllerException (common search term)
  3. ADFC-12003: The page flow scope stack is empty (common search term)
  4. ADFC-12003  – you are widening the scope of the search if the above search term is not helping you
  5. oracle.adfinternal.controller.state.PageFlowStackEntry.getPageFlowScope – this will help you to identify when this problem arises
  6. PageFlowStackEntry.java:271 – strike the hammer at the point

Note: If you want to find issues similar to this in otn then give like ‘ADFC-12003 + OTN

Analysis Stage

You will come to this stage if you are not success with the above approach to identify the issue.

Are you trying some new Feature?

Is this a Connection Problem?

  • Check the connection, and make sure if you are able to connect to the DB properly.
  • Make sure that you have configured the Data Source properly.
  • Is the Databindings.cpx points to the correct application module configuration

Is it a common Java Issue?

  • Class path issue – Check if the libraries are there in the class path and if you have added the libraries to the project.
  • Did you add the correct libraries to the project
  • make sure that you ‘Deploy by Default‘ the libaries that you add
  • Common Exceptions – NullPointerException, ArithmeticException, NumberFormatingException etc
  • If these errors are shown inside the framework then check if you are doing what is expected and you are sure to check how it works.

Is this a common JEE Issue?

  • Deployment issue – this can be related to configurations in web.xml, weblogic.xml or weblogic-application.xml. Check if this can be solved using the parameters, filters or servlet mapping in web.xml
  • Session related issue – This can be again related to web.xml and session handling
  • Transaction issue – configurations related to adfc-config.xml

Configuration Issue?

  • All configuration parameters are here

Page Refresh Issue?

  • Check iterator refresh condition property
  • Check the changeeventpolicy in iterator
  • is the partialsubmit or the autosubmit is working as expected
  • cross check with the immediate property
  • Check the partial triggers property

Security Issue?

  • May be related to jazn-data.xml, is the system-data.xml getting updated with the User and Roles
  • the configurations are done in web.xml, weblogic.xml
  • Check security settings in weblogic server.
  • Check security setting for the folders also, sometimes the server needs full permission for some updates. This may also cause some problem

Intermittent Issue?

  • This may be related to Clustering. Cross check with clustering of ADF Application
  • adf-config.xml has some property for clustering. check that

Memory Issue?

  • Increase the Heap size for the application and try
  • make your application more performance to overcome any memory issues

Data Issue?

  • Check if the DB data is proper
  • Run the query in the back end to make sure that you get the proper result

Change not reflecting?

  • Do a clean build and try to run again. make sure you generate the classes again
  • remove drs folder in system folder or remove the DefaultDomain folder or remove the complete system folder and try from scratch

Not sure about the problem?

  • Cross check our logic,never assume that your logic is correct, try to alter the logic ,ask your peer to review the logic (others will have an extra eye on the problem and the approach)
  • Read the Documentation again to check how the component works and make sure that you completely understand it

Note: Most of the issues listed above are common issues, you will get all related issues when you search online or in Oracle Forums. I believe that Only 5% of the issues can be considered as never experienced by others. So most of the issues that the user experience will be already discussed in the future. So do search the Oracle forums or Google to get your issues solved.

Submission Stage

Post a Forum Question

  • This stage is like you are asking for help from the experts who has some expertise in the area.
  • Wait for the answers, if you are not getting an answer ask for it again one or two times
  • If someone post for your question then try to validate that. Don’t ignore if someone who is not an expert replied to our post. Its better to try all possible ways.
  • If you get an answer, try that and update the post about your findings even if the issue is fixed. This will help some other person who is facing similar issue like you

Raise for help from Oracle

If you have tried all possible options above then you have to wait for Oracle to help you.

  • Raise an SR

Attempt to validate an already invalid RegionSite


was facing this issue and couldn’t find a proper place to look into then I got to know that this issue is surely related to the view..

After serious debugging found that this issue is mainly because of the usage of a taskflow as a region but the taskflow is not having a default activity..

The default activity somehow got removed and setting it back into the place made my day.


Attempt to validate an already invalid RegionSite:
  <_handleException> ADF_FACES-60098:Faces lifecycle receives unhandled exceptions in phase RENDER_RESPONSE 6
 java.lang.IllegalStateException: Attempt to validate an already invalid RegionSite:

JRockit – JVM connection


add the following entry in setDomainEnv.sh as an extra java properties

EXTRA_JAVA_PROPERTIES="-Xmanagement:port=7091,ssl=false,authenticate=false,autodiscovery=true ${EXTRA_JAVA_PROPERTIES}"
export EXTRA_JAVA_PROPERTIES

The above entry is to enable the remote agent and make sure that the property is set while starting the weblogic server

Then try to create a new connection

and then add the entries to connect to the remote weblogic server

Test the connection and wait for OK and then press finish

A new JVM connection is established.. Now you can proceed with the profiling and monitoring of the server

Soa Suite 11gR1 (11.1.1.3.0) installation guide for Windows


The complete Soa suite installation guide is uploaded here

Complete fusion middleware documents are available at

http://download.oracle.com/docs/cd/E14571_01/index.htm

System requirements and specifications

Checklist

  • Processor
  • Operating System
  • Disk Space
  • Physical Memory
  • Browser
  • JDK

Complete requirments are available at

http://www.oracle.com/technetwork/middleware/ias/downloads/fusion-requirements-100147.html

Download the files

All software can be downloaded from the Fusion Middleware 11gR1 PS2 download page (also known as the FMW download page)

Installation procedure [RCU version 11.1.1.3]

  1. Oracle DB (OracleXE Univ)
  2. Weblogic Server 10.3
  3. Repository Creation Utility for DB schema 11.1.1.3
  4. Soa Suite 11.1.1.2
  5. Soa Suite patchset installer for 11.1.1.3
  6. Jdeveloper 11.1.1.3
  7. Soa Extension (Oracle SOA Composite Editor)
  8. Weblogic domain creation

If you face any problem in creating the DB schema using RCU 11.1.1.3 then please download the RCU 11.1.1.2 and follow this installation process. Also you will face some issues in creating the Weblogic db schema for soa_infra during weblogic domain creation

  1. Oracle DB (OracleXE Univ)
  2. Weblogic Server 10.3
  3. Repository Creation Utility for DB schema 11.1.1.2
  4. Soa Suite 11.1.1.2
  5. Jdeveloper 11.1.1.3
  6. Soa Extension (Oracle SOA Composite Editor)
  7. Weblogic domain creation (domain creation will fail for soa_infra stating a 11.1.1.3 version problem if you have used RCU 11.1.1.3)
  1. Soa Suite patchset installer for 11.1.1.3

Database

OraceXEUniv.exe http://download.oracle.com/otn/nt/oracle10g/xe/10201/OracleXEUniv.exe

Screenshots

WebLogic Server

wls1033_oepe111150_win32.exe

http://download.oracle.com/otn/nt/middleware/11g/wls1033_oepe111150_win32.exe

Screenshots

Repository Creation Utility

ofm_rcu_win32_11.1.1.3.3_disk1_1of1.zip

http://download.oracle.com/otn/nt/middleware/11g/ofm_rcu_win32_11.1.1.3.3_disk1_1of1.zip

Note:

If repository tool 11.1.1.3.3 is creating some kind of problem while creating DB schema then please use RCU of 11.1.1.2.1 [if you are using 11.1.1.2.1 then please refer to section X for the installation order]

ofm_rcu_win32_11.1.1.2.1_disk1_1of1.zip

http://download.oracle.com/otn/nt/middleware/11g/ofm_rcu_win32_11.1.1.2.1_disk1_1of1.zip

Screenshots

SOA Suite & Patch

You have to have Soa Suite 11.1.1.2.0 installed in your system before installing the 11.1.1.3.0 patchset installer

ofm_soa_generic_11.1.1.2.0_disk1_1of1.zip

http://download.oracle.com/otn/nt/middleware/11g/ofm_soa_generic_11.1.1.2.0_disk1_1of1.zip

ofm_soa_generic_11.1.1.3.0_disk1_1of1.zip(includes BPM)

http://download.oracle.com/otn/nt/middleware/11g/ofm_soa_generic_11.1.1.3.0_disk1_1of1.zip

Screenshots

JDeveloper

jdevstudio11113install.exe

http://download.oracle.com/otn/java/jdeveloper/11.1.1.3.0/jdevstudio11113install.exe

SOA Extension for JDeveloper

You can install the extensions directly from inside JDeveloper through the “Help -> Check for Updates” menu option which is the recommended way install extensions. If you can’t connect to the Internet from your JDeveloper, you can directly download JDeveloper extensions from this page, and point the Check for Updates wizard to the local file you have downloaded.

http://download.oracle.com/otn/java/jdeveloper/11.1.1.3.0/extensions/soa-jdev-extension.zip

Note: for other extensions please refer

http://www.oracle.com/ocom/groups/public/@otn/documents/webcontent/156082.xml#oracle.sca.modeler

Setting up the database

Run the following commands to increase the process limits (Only for Oracle XE)

sqlplus sys/welcome1@XE as sysdba
SQL> show parameter session
SQL> show parameter processes
SQL> alter system reset sessions scope=spfile sid='*';
SQL> alter system set processes=200 scope=spfile;
SQL> shutdown immediate
SQL> startup
SQL> show parameter session
SQL> show parameter processes

Weblogic Domain Creation

refer this link

Server URLS

The link for the Weblogic console

http://localhost:7001/console (login with weblogic/welcome1)

The link for the EM console

http://localhost:7001/em (login with weblogic/welcome1)

The link for the SOA worklist app

http://localhost:8001/integration/worklistapp

The link for B2B

http://localhost:8001/b2b

The link for BAM (must use IE browser)

http://localhost:9001/OracleBAM

Starting the servers

Go to the domain directory and type startWebLogic.cmd

D:\Oracle\Middleware\user_projects\domains\soa_infra_domain> startWebLogic.cmd

On the same command line press ctrl+c or goto the bin directory of the domain folder and type stopWebLogic.cmd

D:\Oracle\Middleware\user_projects\domains\soa_infra_domai\bin> stopWebLogic.cmd

D:\Oracle\Middleware\user_projects\domains\soa_infra_domain\bin> stopManagedWebLogic.cmd so_server1