Skip to main content

ADF: weblogic cluster endless loop 401 Unauthorised _afrLoop infinite loop AGAIN

Finally fixed the third incarnation of this problem - when we deployed onto our dev cluster and our application deployed fine but when the login page was accessed the app went into an infinite loop. NOTE: Deploying onto the Admin server worked perfectly.

In the access logs you see 302 http codes with _afrLoop parameters (302 - redirect).

Really could not figure this one out. I added failover and clustering removed them. Reconfigured the security. Created a test app with one page used weblogics default security provider but still NOTHING. I even setup a cluster on my machine and everything worked (Note: I did not setup our dev cluster)

So in desperation I check the system-jazn-data.xml file deployed on weblogic an lo and behold none of my application security configurations where setup in the file. I stopped everything and added what I had on my local cluster to the system-jazn-data.xml and everything just works. I need to find out what in our dev configuration is causing the system-jazn-data.xml file not to be updated and will post here when found.

Hope this save someone some time becuase it wasted a LOT of my time.

Final Word: Always a good idea to read the documentation:
 http://docs.oracle.com/cd/E12839_01/core.1111/e10043/addlsecfea.htm#CFHFAIGE

Under the heading 7.3.1 Deploying to a Test Environment

Other Considerations

When deploying an application to multiple managed servers, be sure to include the administration server so that data is migrated as expected.

This fixed it for me.

Comments

Popular posts from this blog

ADF sort of generic screen for tables with the same structure

We have a couple (about a hundred) of tables with the same structure (Code, Description, Create Date, Update Date). So I wanted to do something simple so that I did not have to create all these screens 1) EO   I created the EO based on one of the tables I had that had the above columns. I then Added a transient attribute called table name to my EO based on a groovy expression. (the expression needs to change as I am reading web tier stuff from the model layer but I will fix this later) I then generated a java class for my EO. And added the following overriden method to my newly created java class. protected StringBuffer buildDMLStatement(int i, AttributeDefImpl[] attributeDefImpl,   AttributeDefImpl[] attributeDefImpl2, AttributeDefImpl[] attributeDefImpl3, boolean b) {   StringBuffer statement = super.buildDMLStatement(   i, attributeDefImpl, attributeDefImpl2, attributeDefImpl3, b); return new StringBuffer(StringUtils.replace(statement.to...

Util code

public static MethodExpression getMethodExpression( String expr, Class returnType, Class[] argTypes){ FacesContext fc = FacesContext.getCurrentInstance(); ELContext elctx = fc.getELContext(); ExpressionFactory elFactory = fc.getApplication().getExpressionFactory(); return elFactory.createMethodExpression( elctx, expr, returnType, argTypes); } public static javax.faces.el.MethodBinding getMethodBinding( String expr, Class[] argTypes){ FacesContext fc = FacesContext.getCurrentInstance(); ELContext elctx = fc.getELContext(); return fc.getApplication().createMethodBinding(expr, argTypes); } SetPropertyListener listener = new SetPropertyListener( ActionEvent.class.getName()); listener.setFrom(link.getRoute()); listener.setValueExpression("to", JSFUtils.getValueExpression("#{pageFlowScope.route}", String.class)); action.addActionListener(listener); AdfFacesContext.getCurrentInstance().getPageFlowScope() .put("route", lin...

MANIFEST.MF merge JDeveloper for an executable jar

Goto your project > properties. Then click on deployment in the menu. Edit or add a jar deployment profile. Fill in the details under jar options (select Include manifest and give it a main class name) Also remember that the merge functionality only works with a BLANK line at the end of the merge file. REALLY this caught me. My merge file contents: Class-Path: commons-codec-1.3.jar [...empty line here CRLF...]