Wrong security Principal in ADF BC deployed as EJB SessionBean

Hi everybody,
We have an ADF Web application using ADF Faces and ADF BC. Due to security reasons we need to execute the ADF Faces layer and the ADF BC layer at separate machines (in separate security zones), so we tried to deploy and access ADF BC as EJB Session Beans (i.e. to use "remote" Business Components). We used the necessary JDeveloper wizards to make it, we did have problems to achieve it on JDev 11.1.1.2 and JDev 11.1.1.3 (due to runtime java.lang.ClassCastException: oracle.adf.model.servlet.HttpSessionContextImpl cannot be cast to oracle.jbo.SessionContext, which probably is a bug), but eventually we succeded on JDev 11.1.1.4.
Unfortuanetly we encountered a problem - in the remote ApplicationModuleImpl (at "ADF BC" tier, where the EJBs were deployed) <tt>ADFContext.getCurrent().getSecurityContext().getUserName()</tt> does not return the username of the currently authenticated user (e.g. the session user in the presentation tier), but it returns the username of the user who has been current when this particular AM instance has been created (e.g. next time when this AM instance is reused by another user the method does not return his username but the username of the AM instance's creator). Note, that our EJBs are configured by default with <tt><use-caller-identity/></tt> and we have established Global Trust between the WLS domains, so the current authenticated Subject from the client tier should be propagated to the remote EJB (in order to execute the EJB in the security context of the client application).
We rely on the username in ApplicationModuleImpl.prepareSession() to setup a security context in the database session, so it is crucial for us to get the correct username. The method <tt>ApplicationModuleImpl.getUserPrincipalName()</tt> returns the proper username, but not always, because of a well-known bug appearing since JDev 11.1.1.2, so we could not use this method either.
My questions are:
(1) Has anybody encountered such a problem?
(2) What should happen in such a configuration, e.g. how and when the "remote" ADF SecurityContext is (re)loaded in such an environment?
(3) How could we resolve the problem?
Our environment is JDeveloper 11.1.1.4 + WebLogic Server 10.3.4.
Thanks,
Dimitar
Edited by: Dimitar Dimitrov on Feb 4, 2011 6:53 PM

Hi codeplay,
The forum has excluded this thread from my watch list when I have marked the thread as answered and I have missed your questions, so I appologize to you. Now I am answering your questions despite it may be too late for you.
Q: I am very interested to know that besides this wrong security principal issue, what else problems do you encounter for BC-as-EJB deployment?1) The EAR file that is generated for the remote ADF BC (i.e. for the ADF BC deployment at the remote server) puts the EJB JARs in <tt>lib</tt> folder within the generated EAR instead of <tt>APP-INF/lib</tt> (which is part of the CLASSPATH in WebLogic by default). As a result we were receiving ClassNotFound exceptions. The problem is solved by specifying <tt>APP-INF/lib</tt> as a target for the "Application Libraries" file group in the corresponding EAR deployment descriptor;
2) We were receiving "Exhausted ResultSet" or "ResultSet is already closed" exceptions (I cannot remember well which ones, please excuse me, it was some time ago). We solved this problem by setting <tt>jbo.ejb.txntype=global</tt> in AM's configuration (i.e. we instructed the framework to use global (e.g. JTA) transactions instead of local ones). However, this setting caused another problem - after COMMIT/ROLLBACK the framework did not start a new global transaction immediately. We solved this problem by implementing <tt>afterCommit()</tt> and <tt>afterRollback()</tt> methods to our ApplicationModuleImpl class where we started a new JTA transaction explicitly.
Q: For EO attributes that are configured as "Track Change History" (created/updated by), will the correct values be stored? Assume we couldn't get correct user name from remote BC, what else features do we lose? (eg, protect EO attributes using ADF security?)As far as I know history attributes rely on the method <tt>ApplicationModule.getUserPrincipalName()</tt>. This method is considered as a deprecated, but in fact the history attributes rely on it instead of the <tt>ADFContext.getCurrent().getSecurityContext().getUserPrincipal().getName()</tt>. The method getUserPrincipalName() returns a wrong result only during the 1st chekout after AM's establishment in the AM pool. Then it works correctly even if recycling the AM instance in another user session. In fact this method was the most reliable "username" source (but not reliable during the initial checkout).
Q: My understanding is that you will go for this kind of deployment in your project regardless of all known issues, is it?A: No, we abandoned this kind of deployment because of all these problems and because we realized that Oracle's support for this feature is very poor and Oracle did not confirm commitment to this feature in the future.
Lastly, did you ever try to reproduce this issue in jdev 11.1.2?A: No, we have not tried JDev 11.1.2 because it was not existing at the time when were doing our trial and because our application was going to be a WebCenter application. JDev 11.1.2 does not have WebCenter extension yet.
Dimitar

Similar Messages

  • How deploy the EJB in security on the Sun Java System Application Server 9?

    I hava deploied a simple Hello EJB Object on PE 9(Sun Java System Application Server Platform Edition 9). I can use this EJB object without user name an password On any client. See the following code section:
         public static void main(String[] args) {
              try{
                   Properties props = System.getProperties();
                   props.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.enterprise.naming.SerialInitContextFactory");
                   props.put(Context.PROVIDER_URL,"iiop://localhost:3700");
                   Context ctx = new InitialContext(props);
                   Hello h = (Hello) ctx.lookup("ejb/test/Hello");
                   System.out.println(h.sayHello());
              }catch(Exception e){
                   e.printStackTrace();
    Please tell me how deploy the EJB in security on the Sun Java System Application Server 9? So that, The client must set the user name and password when lookup the ejb object. Like the following:
    props.put(Context.SECURITY_PRINCIPAL,"admin")
    props.put(Context.SECURITY_CREDENTIALS,"1234");

    Guys,
    I too have the same issue. If anyone has an answer, please let me know.
    Is this GlassFish problem? or Prgram issue?
    Find below the source code
    package TransactionSecurity.bean;
    import javax.annotation.Resource;
    import javax.annotation.security.DeclareRoles;
    import javax.annotation.security.PermitAll;
    import javax.annotation.security.RolesAllowed;
    import javax.ejb.Remote;
    import javax.ejb.SessionContext;
    import javax.ejb.Stateless;
    import javax.ejb.TransactionAttribute;
    import javax.ejb.TransactionAttributeType;
    @Stateless
    @Remote(TSCalculator.class)
    @DeclareRoles({"student", "teacher"})
    public class TSCalculatorBean implements TSCalculator {
         private @Resource SessionContext ctx;
         @PermitAll
    //     @TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)
         public int add(int x, int y) {
              System.out.println("CalculatorBean.add  Caller Principal:" + ctx.getCallerPrincipal().getName());
              return x + y;
         @RolesAllowed( { "student" })
         public int subtract(int x, int y) {
              System.out.println("CalculatorBean.subtract  Caller Principal:" + ctx.getCallerPrincipal().getName());
              System.out.println("CalculatorBean.subtract  isCallerInRole:" + ctx.isCallerInRole("student"));
              return x - y;
         @RolesAllowed( { "teacher" })
         public int divide(int x, int y) {
              System.out.println("CalculatorBean.divide  Caller Principal:" + ctx.getCallerPrincipal().getName());
              System.out.println("CalculatorBean.divide  isCallerInRole:" + ctx.isCallerInRole("teacher"));
              return x / y;
    package TransactionSecurity.bean;
    import javax.ejb.Remote;
    @Remote
    public interface TSCalculator {
            public int add(int x, int y);
            public int subtract(int x, int y);
            public int divide(int x, int y);
    package TransactionSecurity.client;
    import java.util.Properties;
    import javax.ejb.EJBAccessException;
    import javax.naming.Context;
    import javax.naming.InitialContext;
    import TransactionSecurity.bean.TSCalculator;
    public class TSCalculatorClient {
         public static void main(String[] args) throws Exception {
              // Establish the proxy with an incorrect security identity
              Properties env = new Properties();
              env.setProperty(Context.SECURITY_PRINCIPAL, "kabir");
              env.setProperty(Context.SECURITY_CREDENTIALS, "validpassword");
            env.setProperty(Context.INITIAL_CONTEXT_FACTORY,"com.sun.appserv.naming.S1ASCtxFactory");
            env.setProperty(Context.PROVIDER_URL,"iiop://127.0.0.1:3700");
            env.setProperty("java.naming.factory.initial","com.sun.enterprise.naming.SerialInitContextFactory");
            env.setProperty("java.naming.factory.url.pkgs","com.sun.enterprise.naming");
            env.setProperty("java.naming.factory.state","com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl");
            env.setProperty("org.omg.CORBA.ORBInitialHost", "127.0.0.1");
            env.setProperty("org.omg.CORBA.ORBInitialPort", "3700");
              InitialContext ctx = new InitialContext(env);
              TSCalculator calculator = null;
              try {
                   calculator = (TSCalculator) ctx.lookup(TSCalculator.class.getName());
              } catch (Exception e) {
                   System.out.println ("Error in Lookup");
                   e.printStackTrace();
                   System.exit(1);
              System.out.println("Kabir is a student.");
              System.out.println("Kabir types in the wrong password");
              try {
                   System.out.println("1 + 1 = " + calculator.add(1, 1));
              } catch (EJBAccessException ex) {
                   System.out.println("Saw expected SecurityException: "
                             + ex.getMessage());
              System.out.println("Kabir types in correct password.");
              System.out.println("Kabir does unchecked addition.");
              // Re-establish the proxy with the correct security identity
              env.setProperty(Context.SECURITY_CREDENTIALS, "validpassword");
              ctx = new InitialContext(env);
              calculator = (TSCalculator) ctx.lookup(TSCalculator.class.getName());
              System.out.println("1 + 1 = " + calculator.add(1, 1));
              System.out.println("Kabir is not a teacher so he cannot do division");
              try {
                   calculator.divide(16, 4);
              } catch (javax.ejb.EJBAccessException ex) {
                   System.out.println(ex.getMessage());
              System.out.println("Students are allowed to do subtraction");
              System.out.println("1 - 1 = " + calculator.subtract(1, 1));
    }The user kabir is created in the server and this user belongs to the group student.
    Also, I have enabled the "Default Principal To Role Mapping"
    BTW, I'm able to run other EJB3 examples [that does'nt involve any
    security features] without any problems.
    Below is the ERROR
    Error in Lookupjavax.naming.NamingException: ejb ref resolution error for remote business interfaceTransactionSecurity.bean.TSCalculator [Root exception is java.rmi.AccessException: CORBA NO_PERMISSION 0 No; nested exception is:
         org.omg.CORBA.NO_PERMISSION: ----------BEGIN server-side stack trace----------
    org.omg.CORBA.NO_PERMISSION:   vmcid: 0x0  minor code: 0  completed: No
         at com.sun.enterprise.iiop.security.SecServerRequestInterceptor.handle_null_service_context(SecServerRequestInterceptor.java:407)
         at com.sun.enterprise.iiop.security.SecServerRequestInterceptor.receive_request(SecServerRequestInterceptor.java:429)
         at com.sun.corba.ee.impl.interceptors.InterceptorInvoker.invokeServerInterceptorIntermediatePoint(InterceptorInvoker.java:627)
         at com.sun.corba.ee.impl.interceptors.PIHandlerImpl.invokeServerPIIntermediatePoint(PIHandlerImpl.java:530)
         at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.getServantWithPI(CorbaServerRequestDispatcherImpl.java:406)
         at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:224)
         at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1846)
         at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1706)
         at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:1088)
         at com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:223)
         at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:806)
         at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.dispatch(CorbaMessageMediatorImpl.java:563)
         at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.doWork(CorbaMessageMediatorImpl.java:2567)
         at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:555)
    ----------END server-side stack trace----------  vmcid: 0x0  minor code: 0  completed: No]
         at com.sun.ejb.EJBUtils.lookupRemote30BusinessObject(EJBUtils.java:425)
         at com.sun.ejb.containers.RemoteBusinessObjectFactory.getObjectInstance(RemoteBusinessObjectFactory.java:74)
         at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:304)
         at com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:403)
         at javax.naming.InitialContext.lookup(InitialContext.java:351)
         at TransactionSecurity.client.TSCalculatorClient.main(TSCalculatorClient.java:35)
    Caused by: java.rmi.AccessException: CORBA NO_PERMISSION 0 No; nested exception is:
         org.omg.CORBA.NO_PERMISSION: ----------BEGIN server-side stack trace----------
    org.omg.CORBA.NO_PERMISSION:   vmcid: 0x0  minor code: 0  completed: No
         at com.sun.enterprise.iiop.security.SecServerRequestInterceptor.handle_null_service_context(SecServerRequestInterceptor.java:407)
         at com.sun.enterprise.iiop.security.SecServerRequestInterceptor.receive_request(SecServerRequestInterceptor.java:429)
         at com.sun.corba.ee.impl.interceptors.InterceptorInvoker.invokeServerInterceptorIntermediatePoint(InterceptorInvoker.java:627)
         at com.sun.corba.ee.impl.interceptors.PIHandlerImpl.invokeServerPIIntermediatePoint(PIHandlerImpl.java:530)
         at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.getServantWithPI(CorbaServerRequestDispatcherImpl.java:406)
         at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:224)
         at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1846)
         at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1706)
         at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:1088)
         at com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:223)
         at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:806)
         at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.dispatch(CorbaMessageMediatorImpl.java:563)
         at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.doWork(CorbaMessageMediatorImpl.java:2567)
         at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:555)
    ----------END server-side stack trace----------  vmcid: 0x0  minor code: 0  completed: No
         at com.sun.corba.ee.impl.javax.rmi.CORBA.Util.mapSystemException(Util.java:277)
         at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.privateInvoke(StubInvocationHandlerImpl.java:205)
         at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.invoke(StubInvocationHandlerImpl.java:152)
         at com.sun.corba.ee.impl.presentation.rmi.bcel.BCELStubBase.invoke(BCELStubBase.java:225)
         at com.sun.ejb.codegen._GenericEJBHome_Generated_DynamicStub.create(com/sun/ejb/codegen/_GenericEJBHome_Generated_DynamicStub.java)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at com.sun.ejb.EJBUtils.lookupRemote30BusinessObject(EJBUtils.java:372)
         ... 5 more
    Caused by: org.omg.CORBA.NO_PERMISSION: ----------BEGIN server-side stack trace----------
    org.omg.CORBA.NO_PERMISSION:   vmcid: 0x0  minor code: 0  completed: No
         at com.sun.enterprise.iiop.security.SecServerRequestInterceptor.handle_null_service_context(SecServerRequestInterceptor.java:407)
         at com.sun.enterprise.iiop.security.SecServerRequestInterceptor.receive_request(SecServerRequestInterceptor.java:429)
         at com.sun.corba.ee.impl.interceptors.InterceptorInvoker.invokeServerInterceptorIntermediatePoint(InterceptorInvoker.java:627)
         at com.sun.corba.ee.impl.interceptors.PIHandlerImpl.invokeServerPIIntermediatePoint(PIHandlerImpl.java:530)
         at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.getServantWithPI(CorbaServerRequestDispatcherImpl.java:406)
         at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:224)
         at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1846)
         at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1706)
         at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:1088)
         at com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:223)
         at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:806)
         at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.dispatch(CorbaMessageMediatorImpl.java:563)
         at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.doWork(CorbaMessageMediatorImpl.java:2567)
         at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:555)
    ----------END server-side stack trace----------  vmcid: 0x0  minor code: 0  completed: No
         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
         at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
         at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
         at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
         at com.sun.corba.ee.impl.protocol.giopmsgheaders.MessageBase.getSystemException(MessageBase.java:913)
         at com.sun.corba.ee.impl.protocol.giopmsgheaders.ReplyMessage_1_2.getSystemException(ReplyMessage_1_2.java:131)
         at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.getSystemExceptionReply(CorbaMessageMediatorImpl.java:685)
         at com.sun.corba.ee.impl.protocol.CorbaClientRequestDispatcherImpl.processResponse(CorbaClientRequestDispatcherImpl.java:472)
         at com.sun.corba.ee.impl.protocol.CorbaClientRequestDispatcherImpl.marshalingComplete(CorbaClientRequestDispatcherImpl.java:363)
         at com.sun.corba.ee.impl.protocol.CorbaClientDelegateImpl.invoke(CorbaClientDelegateImpl.java:219)
         at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.privateInvoke(StubInvocationHandlerImpl.java:192)
         ... 13 moreAny help is appreciated.
    Regards!
    Nithi.
    Edited by: EJB3 on Aug 17, 2008 8:17 PM

  • ADF 12g deployment failed

    Hi All,
    I was trying to deploy an ADF 12c Application which successfully tested in JDeveloper failed in while deploying through Fusion Middleware Control 12c
    I am getting the below exception while deploying the EAR ..
    Apr 22, 2015 12:05:57 PM IST> <Warning> <org.apache.myfaces.trinidad.component.UIXComponentBase> <BEA-000000> <getClientId should not be called while the
    view is being constructed. Component ID: j_id2>
    <Apr 22, 2015 12:06:14 PM IST> <Error> <Deployer> <BEA-149265> <Failure occurred in the execution of deployment request with ID "4653741066113340" for task
    "0". Error is: "weblogic.application.ModuleException: java.lang.ClassNotFoundException: org.apache.myfaces.trinidad.context.AccessibilityProfile"
    weblogic.application.ModuleException: java.lang.ClassNotFoundException: org.apache.myfaces.trinidad.context.AccessibilityProfile
            at weblogic.application.internal.ExtensibleModuleWrapper.prepare(ExtensibleModuleWrapper.java:114)
            at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:100)
            at weblogic.application.internal.flow.ModuleStateDriver$1.next(ModuleStateDriver.java:175)
            at weblogic.application.internal.flow.ModuleStateDriver$1.next(ModuleStateDriver.java:170)
            at weblogic.application.utils.StateMachineDriver$ParallelChange.run(StateMachineDriver.java:80)
            Truncated. see log file for complete stacktrace
    Caused By: java.lang.ClassNotFoundException: org.apache.myfaces.trinidad.context.AccessibilityProfile
            at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:357)
            at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:318)
            at weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:80)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
            Truncated. see log file for complete stacktrace
    >
    After adding trinidad-impl.jar in classpath manually , this error gone and I got the another one..
    <Apr 22, 2015 12:45:26 PM IST> <Error> <HTTP> <BEA-101371> <There was a failure when processing annotations for application /scratch/app/Middleware12c/user_projects/domains/OFSLL_domain/servers/OFSLL_ManagedServer/tmp/_WL_user/ofsll_1431_V14.3.0.0.0-b19/lbon52/ofsll143.war. Ensure that the annotations are valid. The error is oracle.adf.view.faces.bi.webapp.MapProxyServlet
    java.lang.ClassNotFoundException: oracle.adf.view.faces.bi.webapp.MapProxyServlet
            at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:357)
            at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:318)
            at weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:80)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
            Truncated. see log file for complete stacktrace
    >
    <Apr 22, 2015 12:45:26 PM IST> <Error> <Deployer> <BEA-149265> <Failure occurred in the execution of deployment request with ID "4656093454447625" for task "3". Error is: "weblogic.application.ModuleException: java.lang.ClassNotFoundException: oracle.adf.view.faces.bi.webapp.MapProxyServlet"
    weblogic.application.ModuleException: java.lang.ClassNotFoundException: oracle.adf.view.faces.bi.webapp.MapProxyServlet
            at weblogic.application.internal.ExtensibleModuleWrapper.prepare(ExtensibleModuleWrapper.java:114)
            at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:100)
            at weblogic.application.internal.flow.ModuleStateDriver$1.next(ModuleStateDriver.java:175)
            at weblogic.application.internal.flow.ModuleStateDriver$1.next(ModuleStateDriver.java:170)
            at weblogic.application.utils.StateMachineDriver$ParallelChange.run(StateMachineDriver.java:80)
            Truncated. see log file for complete stacktrace
    Caused By: java.lang.ClassNotFoundException: oracle.adf.view.faces.bi.webapp.MapProxyServlet
            at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:357)
            at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:318)
            at weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:80)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
            Truncated. see log file for complete stacktrace
    I hope these classes should be available at runtime once i apply JRF template.  Please let me know what could be wrong in my setup.

    java.lang.ClassNotFoundException: oracle.adf.view.faces.bi.webapp.MapProxyServlet
    Deploy the ADF runtime to WLS.
    https://docs.oracle.com/middleware/1212/adf/ADFAG/deploy.htm#ADFAG20790

  • Is security-principal-map necessary

              To use container-managed security, is the deprecated security-principal-map required
              in the weblogic-ra.xml? The fact that
              it's deprecated makes me think there must be an alternate
              mechanism, but I can find none, and
              http://edocs.beasys.com/wls/docs70/jconnector/security.html#1232806
              states "To use container-managed sign-on ... WebLogic Server looks for a Security
              Principal Mapping specified with the security-principal-map element in the weblogic-ra.xml"
              On the other hand, if I don't have it in my weblogic-ra.xml everything seems to
              work fine, except the log reports:
              <Unable to determine Resource Principal for Container Managed
              # Security Context>
              

              We support access of RAs only from webapp/ejb.
              prasen
              Shreesh Ponkshe wrote:
              >
              > I have developed an RA and have deployed successfully on WLS6.0. However, I am
              > having problems invoking it from remote clients. I need to set it's security such
              > that any client be able to use the resource. I understand it is somethign to do
              > with the <security-principal-map> in weblogic-ra.xml. Can anyone tell me HOW?
              >
              > One more important(?) detail : My RA does not implement the security contract
              > . I assume it is OK 'coz it is an optional contract.
              >
              > Regards,
              > Shreesh.
              

  • Pls, help me , my ipad is disabled as a reult of constant inputing wrong security code by my child on my ipad, i was asked to connect to itunes. The ipad is disabled and cannot do anything to allow me connect to itunes. Pls, What do I do???

    Pls, help me , my ipad is disabled as a reult of constant inputing wrong security code by my child on my ipad, i was asked to connect to itunes. The ipad is disabled and cannot do anything to allow me connect to itunes. Pls, What do I do???

    This should solve your issue:
    http://support.apple.com/kb/HT1212

  • When I go to purchase an item from iTunes the wrong security questions show up so I cannot correctly answer them. What can I do to fix this?

    When I go to purchase an item from iTunes the wrong security questions show up and I cannot answer them accurately. Also it is now locked. How can I unlock my ID and get the correct security questions?

    1)  Apple ID: All about Apple ID security questions
    If necessary
    2)  See Here... ask to speak with the Account Security Team...
    Apple ID: Contacting Apple for help with Apple ID account security
    3)  Or Email Here  >  Apple  Support  iTunes Store  Contact

  • Hi, my iphone 4 is stuck telefonu because put the wrong security code. And I can not connect to itunes to update telefonu. I get an error and would like to help me with information Thank you!

    Hi, my iphone 4 is stuck telefonu because put the wrong security code.
    And I can not connect to itunes to update telefonu.
    I get an error and would like to help me with information
    Thank you! [email protected]

    We need the exact error message in order to help you.

  • Security Principal propagation from Web Server to App Server

    How would I propagate a customer Principal from weblogic Web Server
    to a Weblogic App Server?
    For e.g this is what I want to do.
    1. User logs in via a login page with UserId and password.
    2. After a user is authenticated successfully, I want to fetch
    some user credentials like groups he belongs to, his status etc.
    basically his profile info (stored in oracle db). I want to store
    this as part of a security principal object. How do I let the weblogic
    web server know about this principal?
    3. I want the Weblogic Servlet container to recognize this principal
    and whenever any servlet calls a ejb, the web server should send
    this custom principal to the weblogic app server so that the ejb
    container can identify it.
    4. In the ejb, I should be able to do sessionContext.getPrincipal()
    that will return my custom principal object, which would give the
    ejb access to the credentials of the logged on user.
    Has anyone done this? This is urgent. Can anyone pls shed some
    light on this.

    Hi,
    Basically you need to install the loadbalancer plugin on the web server and then configure the loadbalancer.xml in the config folder. You need to turn the httpsrouting to true. Then all will work fine for HTTPS and HTTPS
    for HTTPS on web server and HTTP on app server, you need to turn the httpsrouting to false.
    Regards,
    Abrar

  • Org.apache.jackrabbit.api.security.principal.PrincipalManager not resolving in 5.6.1

    Hi,
    I am trying to add acl to the node dynamically.
    For a path "/content/dam/abc" folder I want to add read and write access to "testusers" group through the api.
    For this I am trying to create principal and privilages objects.
    I am using below code for getting Principal Manager. At compile time in maven it is compiling but the bundle is not getting activated once you install bundle in CQ.
    PrincipalManager pm = AccessControlUtil.getPrincipalManager(session);
    org.apache.jackrabbit.api.security.principal,version=[1.5,2) -- Cannot be resolved
    above error is coming in the bundle imports.
    -Maruthi

    Hi,
    I am trying to add acl to the node dynamically.
    For a path "/content/dam/abc" folder I want to add read and write access to "testusers" group through the api.
    For this I am trying to create principal and privilages objects.
    I am using below code for getting Principal Manager. At compile time in maven it is compiling but the bundle is not getting activated once you install bundle in CQ.
    PrincipalManager pm = AccessControlUtil.getPrincipalManager(session);
    org.apache.jackrabbit.api.security.principal,version=[1.5,2) -- Cannot be resolved
    above error is coming in the bundle imports.
    -Maruthi

  • HT1918 It keep telling me I have the wrong security code

    It keep telling me I have the wrong security code

    iTunes reports Security code Invalid? 
    iTunes Store: My credit card's security code or zip code does not match my bank's records

  • Solution to: javax.naming.AuthenticationException.  Root exception is java.lang.SecurityException: attempting to add an object which is not an instance of java.security.Principal to a Subject's Principal Set

    Hello world,
    To anybody who receives this irritating error in a Java client
    application attempting to access Weblogic Server 6.1 (and possibly
    weblogic server 6):
    javax.naming.AuthenticationException. Root exception is
    java.lang.SecurityException: attempting to add an object which is not
    an instance of java.security.Principal to a Subject's Principal Set
    The cause of your problem is having JAAS explicitly in your classpath.
    It somehow messes up authentication to WebLogic. Remove it and your
    problem will disappear.
    The complete exception was:
    javax.naming.AuthenticationException. Root exception is
    java.lang.SecurityException: attempting to add an object which is not
    an instance of java.security.Principal to a Subject's Principal Set
         at javax.security.auth.Subject$SecureSet.add(Subject.java:1098)
         at weblogic.common.internal.BootServicesStub.writeUserInfoToSubject(BootServicesStub.java:72)
         at weblogic.common.internal.BootServicesStub.authenticate(BootServicesStub.java:80)
         at weblogic.security.acl.internal.Security.authenticate(Security.java:108)
         at weblogic.jndi.WLInitialContextFactoryDelegate.pushUser(WLInitialContextFactoryDelegate.java:509)
         at weblogic.jndi.WLInitialContextFactoryDelegate.newContext(WLInitialContextFactoryDelegate.java:364)
         at weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialContextFactoryDelegate.java:336)
         at weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialContextFactoryDelegate.java:208)
         at weblogic.jndi.WLInitialContextFactory.getInitialContext(WLInitialContextFactory.java:149)
         at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:668)
         at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:246)
         at javax.naming.InitialContext.init(InitialContext.java:222)
         at javax.naming.InitialContext.<init>(InitialContext.java:198)
         at au.com.orrcon.orrconcentral.Application.<init>(Application.java:87)
         at au.com.orrcon.orrconcentral.Application.getApp(Application.java:52)
         at au.com.orrcon.orrconcentral.orrconCentral.<init>(orrconCentral.java:130)
         at au.com.orrcon.orrconcentral.orrconCentral.main(orrconCentral.java:219)

    Steve Wesemeyer <[email protected]> wrote:
    I have encountered the same problem and I do not have JAAS on my classpath
    at all (unless it's there by default). Are there any other possible
    causes for this?
    Cheers,
    SteveA note to all who read this thread:
    I also had to remove Sun's j2ee (version 1.2) from my client's classpath before
    the same problem went away. 1 programmer day down the drain....
    Regards,
    MG

  • Jaas sample progrma in weblogic 6.1 giving the following error java.lang.SecurityException: attempting to add an object which is not an instance of java.security.Principal to a Subjec

    jaas sample progrma in weblogic 6.1 giving the following error java.lang.SecurityException:
    attempting to add an object which is not an instance of java.security.Principal
    to a Subjec
    on runnig the program during the call of method Authenticate.authenticate(env,
    subject); giving following exceptions Error: Login Exception on authenticate,
    java.lang.SecurityException: attempting to add an object which is not an instance
    of java.security.Principal to a Subjec t's Principal Set Authentication Failed:
    Unexpected Exception, javax.security.auth.login.LoginExce ption: java.lang.SecurityException:
    attempting to add an object which is not an instance of java.security.Principal
    to a Subject's Principal Set javax.security.auth.login.LoginException: javax.security.auth.login.LoginExcepti
    on: java.lang.SecurityException: attempting to add an object which is not an ins
    tance of java.security.Principal to a Subject's Principal Set at examples.security.jaas.SampleLoginModule.login(SampleLoginModule.java
    :192) at java.lang.reflect.Method.invoke(Native Method) at javax.security.auth.login.LoginContext.invoke(LoginContext.java:595)
    at javax.security.auth.login.LoginContext.access$000(LoginContext.java:1 25) at
    javax.security.auth.login.LoginContext$3.run(LoginContext.java:531) at java.security.AccessController.doPrivileged(Native
    Method) at javax.security.auth.login.LoginContext.invokeModule(LoginContext.java
    :528) at javax.security.auth.login.LoginContext.login(LoginContext.java:449) at
    examples.security.jaas.SampleClient.main(SampleClient.java:96)
    1)what is the reason for this problem
    2)in weblogic document they told to edit server.policy file in webligic\lib folder
    a)what the modification is needed in this file..?

    Hi jerry
    i already got that problem solved by removing jaas.jar file
    from class path.
    i don'nt how it is working with out in classpath...?
    Jerry <[email protected]> wrote:
    Hi Nivas,
    I think that the problem you are seeing has something to do with the
    placement of jaas.jar in your classpath
    On WebLogic server, put jaas.jar in the classpath after weblogic.jar.
    I would bet that you have it placed before weblogic.jar right now.
    I don't think the exception that you're seeing right now has anything
    to do with your weblogic.policy file right now, so I think it is
    safe to not worry about it right now.
    Hope this helps,
    Joe Jerry

  • Anyone else having trouble with Itunes store? My account says I have entered the wrong security code for my credit card

    Anyone else having trouble with Itunes store? My account says I have entered the wrong security code for my credit card

    Yes, it happens to me all the time. I deleted an app because it froze the. Tried to redownloading it but it wouldn't let me ivd tried all of my cards and nothing works. I thought it was because I had a negative balance but I have a to of money all accounts. It'd be very helpful if someone could help us out.

  • Why does my phone say wrong security code (for my debt card) when i try to download a app?

    Why does my phone say that I have entered the wrong security code off of my debt card when i'm trying to download any app free or otherwise? I know all my info is correct and my debt card is good.

    Mine is doing the same. I've tried several different cards all with the same response.

  • I logged 3 times wrong security question. please help me

    I logged 3 times wrong security question. please help me

    Hey annamyle91,
    Thanks for the question. If you are having issues with the security questions associated with your Apple ID, follow these steps:
    If you forgot the answers to your Apple ID security questions
    http://support.apple.com/kb/HT6170
    Reset your security questions
    1. Go to My Apple ID (appleid.apple.com).
    2. Select “Manage your Apple ID” and sign in.
    3. Select “Password and Security” on the left side of the page.
    4. If you have only one security question, you can change the question and answer now.
    5. If you have more than one security question:
              - Select “Send reset security info email to [your rescue email address].” If you don't see this link or don't have access to your rescue address, contact Apple Support as described in the next section.
              - Your rescue address will receive a reset email from Apple. Follow its instructions to reset your security questions and set up new questions and answers.Didn't receive the email?
    After resetting your security questions, consider turning on two-step verification. With two-step verification, you don't need security questions to secure your account or verify your identity.
    If you can't reset your security questions
    Contact Apple Support in either of these circumstances:
              - You don't see the link to send a reset email, which means you don't have arescue address.
              - You see the link to send a reset email, but you don't have access to email at the rescue address.
    A temporary support PIN isn't usually required, but Apple may ask you to generate a PIN if your identity needs to be verified.
    Thanks,
    Matt M.

Maybe you are looking for