Thursday 10 May 2018

Unable to connect to Oracle MFT console using weblogic user & MFT source can't be deployed with a schedule- System Error MFT-5809

Issue1: Unable to login to MFT console with Weblogic user
Issue2: Oracle MFT source can't be deployed with a schedule- System Error MFT-5809



Error information: 
oracle.as.scheduler.SchedulerUserAssertionException: Failed to authenticate user OracleSystemUserPlease make sure OracleSystemUser is a valid user or check server log to find more authentication details. 

After a rigorous investigation, we identified the root cause of the issue. Any user from Default Authentication group can't be logged in without virtualization property in EM.

we found an interesting issue with LDAP configuration on setting up virtualize custom value to true in Identity store after following values. 

user.login.attr 
sAMAccountName 
username.attr 
sAMAccountName 

As we are using internal weblogic authentication as well as LDAP authentication, we had issues with logging in with weblogic user for MFT console. 

All this while we never had a situation that needs us to login and use internal Oraclesystemuser account. Hence we did not concentrate on this. 

Now, we found the root cause that if we have 2 different authentication mechanisms, we will need to remove sAMAccountName values and only add virtualize=true. 

This had resolved our problem of MFT using ESS scheduler with internal user OracleSystemUser. We are now able to deploy our schedules. 

Resolution:

Add the virtualize=true in EM security and change the properties to sufficient.

navigation to change the properties:




Additional error information: 

<May 8, 2018 8:42:18 AM CDT> <Error> <oracle.adfinternal.controller.state.SessionBasedScopeMap> <BEA-000000> < 
java.io.NotSerializableException: oracle.ess.schedule.ui.common.MsgPopupHandler 
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1183) 
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1547) 
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1508) 
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1431) 
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1177) 
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:347) 
at oracle.adfinternal.controller.util.Utils.verifySerializable(Utils.java:345) 
at oracle.adfinternal.controller.state.SessionBasedScopeMap.writeScopeMap(SessionBasedScopeMap.java:127) 
at oracle.adfinternal.controller.state.PageFlowScope.writeObject(PageFlowScope.java:157) 
at sun.reflect.GeneratedMethodAccessor1127.invoke(Unknown Source) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:606) 
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:1129) 
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1495) 
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1431) 
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1177) 
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:347) 
at java.util.concurrent.ConcurrentHashMap.writeObject(ConcurrentHashMap.java:1520) 
at sun.reflect.GeneratedMethodAccessor1014.invoke(Unknown Source) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:606) 
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:1129) 
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1495) 
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1431) 
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1177) 
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1547) 
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1508) 
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1431) 
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1177) 
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:347) 
at weblogic.servlet.internal.session.ReplicatedSessionChange.writeExternal(ReplicatedSessionChange.java:181) 
at java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1458) 
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1429) 
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1177) 
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:347) 
at weblogic.rjvm.MsgAbbrevOutputStream.writeObject(MsgAbbrevOutputStream.java:627) 
at weblogic.rjvm.MsgAbbrevOutputStream.writeObjectWL(MsgAbbrevOutputStream.java:618) 
at weblogic.rmi.internal.ObjectIO.writeObject(ObjectIO.java:38) 
at weblogic.rjvm.BasicOutboundRequest.marshalArgs(BasicOutboundRequest.java:88) 
at weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:301) 
at weblogic.cluster.replication.ReplicationManager_12130_WLStub.update(Unknown Source) 
at sun.reflect.GeneratedMethodAccessor1221.invoke(Unknown Source) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:606) 
at weblogic.cluster.replication.SecureReplicationInvocationHandler$ReplicationServicesInvocationAction.run(SecureReplicationInvocationHandler.java:224) 
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) 
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120) 
at weblogic.cluster.replication.SecureReplicationInvocationHandler.invoke(SecureReplicationInvocationHandler.java:194) 
at com.sun.proxy.$Proxy258.update(Unknown Source) 
at weblogic.cluster.replication.ReplicationManager.sendUpdateRequestToSecondary(ReplicationManager.java:763) 
at weblogic.cluster.replication.ReplicationManager.updateSecondary(ReplicationManager.java:678) 
at weblogic.servlet.internal.session.ReplicatedSessionData._syncSession(ReplicatedSessionData.java:599) 
at weblogic.servlet.internal.session.ReplicatedSessionData.syncSession(ReplicatedSessionData.java:563) 
at weblogic.servlet.internal.session.SessionContext.sync(SessionContext.java:148) 
at weblogic.servlet.internal.ServletRequestImpl$SessionHelper.syncSession(ServletRequestImpl.java:3339) 
at weblogic.servlet.internal.ServletRequestImpl$SessionHelper.syncSessions(ServletRequestImpl.java:3317) 
at weblogic.servlet.internal.ServletRequestImpl$SessionHelper.syncSession(ServletRequestImpl.java:3305) 
at weblogic.servlet.internal.ServletResponseImpl$1.run(ServletResponseImpl.java:1683) 
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) 
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120) 
at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57) 
at weblogic.servlet.internal.ServletResponseImpl.syncSession(ServletResponseImpl.java:1679) 
at weblogic.servlet.internal.ServletResponseImpl.send(ServletResponseImpl.java:1609) 
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1642) 
at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:256) 
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:311) 
at weblogic.work.ExecuteThread.run(ExecuteThread.java:263) 

<May 8, 2018 8:42:18 AM CDT> <Error> <oracle.adfinternal.controller.state.SessionBasedScopeMap> <ADFC-62004> <ADFc: Scope object serialization failed (object not serializable), scope='pageFlowScope[/WEB-INF/oracle/ess/schedule/ui/flow/ScheduleRNFlow.xml#ScheduleRNFlow]', objectKey='backing_msgPopupHandler', objectType='oracle.ess.schedule.ui.common.MsgPopupHandler'.> 
<May 8, 2018 8:42:18 AM CDT> <Error> <oracle.adfinternal.controller.state.SessionBasedScopeMap> <BEA-000000> < 
java.io.NotSerializableException: oracle.ess.schedule.ui.common.MsgPopupHandler 
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1183) 
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:347) 
at oracle.adfinternal.controller.util.Utils.verifySerializable(Utils.java:345) 
at oracle.adfinternal.controller.state.SessionBasedScopeMap.writeScopeMap(SessionBasedScopeMap.java:127) 
at oracle.adfinternal.controller.state.PageFlowScope.writeObject(PageFlowScope.java:157) 
at sun.reflect.GeneratedMethodAccessor1127.invoke(Unknown Source) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:606) 
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:1129) 
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1495) 
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1431) 
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1177) 
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:347) 
at java.util.concurrent.ConcurrentHashMap.writeObject(ConcurrentHashMap.java:1520) 
at sun.reflect.GeneratedMethodAccessor1014.invoke(Unknown Source) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:606) 
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:1129) 
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1495) 
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1431) 
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1177) 
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1547) 
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1508) 
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1431) 
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1177) 
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:347) 
at weblogic.servlet.internal.session.ReplicatedSessionChange.writeExternal(ReplicatedSessionChange.java:181) 
at java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1458) 
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1429) 
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1177) 
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:347) 
at weblogic.rjvm.MsgAbbrevOutputStream.writeObject(MsgAbbrevOutputStream.java:627) 
at weblogic.rjvm.MsgAbbrevOutputStream.writeObjectWL(MsgAbbrevOutputStream.java:618) 
at weblogic.rmi.internal.ObjectIO.writeObject(ObjectIO.java:38) 
at weblogic.rjvm.BasicOutboundRequest.marshalArgs(BasicOutboundRequest.java:88) 
at weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:301) 
at weblogic.cluster.replication.ReplicationManager_12130_WLStub.update(Unknown Source) 
at sun.reflect.GeneratedMethodAccessor1221.invoke(Unknown Source) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:606) 
at weblogic.cluster.replication.SecureReplicationInvocationHandler$ReplicationServicesInvocationAction.run(SecureReplicationInvocationHandler.java:224) 
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) 
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120) 
at weblogic.cluster.replication.SecureReplicationInvocationHandler.invoke(SecureReplicationInvocationHandler.java:194) 
at com.sun.proxy.$Proxy258.update(Unknown Source) 
at weblogic.cluster.replication.ReplicationManager.sendUpdateRequestToSecondary(ReplicationManager.java:763) 
at weblogic.cluster.replication.ReplicationManager.updateSecondary(ReplicationManager.java:678) 
at weblogic.servlet.internal.session.ReplicatedSessionData._syncSession(ReplicatedSessionData.java:599) 
at weblogic.servlet.internal.session.ReplicatedSessionData.syncSession(ReplicatedSessionData.java:563) 
at weblogic.servlet.internal.session.SessionContext.sync(SessionContext.java:148) 
at weblogic.servlet.internal.ServletRequestImpl$SessionHelper.syncSession(ServletRequestImpl.java:3339) 
at weblogic.servlet.internal.ServletRequestImpl$SessionHelper.syncSessions(ServletRequestImpl.java:3317) 
at weblogic.servlet.internal.ServletRequestImpl$SessionHelper.syncSession(ServletRequestImpl.java:3305) 
at weblogic.servlet.internal.ServletResponseImpl$1.run(ServletResponseImpl.java:1683) 
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) 
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120) 
at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57) 
at weblogic.servlet.internal.ServletResponseImpl.syncSession(ServletResponseImpl.java:1679) 
at weblogic.servlet.internal.ServletResponseImpl.send(ServletResponseImpl.java:1609) 
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1642) 
at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:256) 
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:311) 
at weblogic.work.ExecuteThread.run(ExecuteThread.java:263) 


Happy Learning! Keep Sharing!