OIM 11g Role creation error

Hi All,
While creating the role on screen we are getting the following errors . there are no event handlers defined for any operation on roles.
oracle.iam.identity.rolemgmt.utilsIAM-3056030An exception occurred while performing the operation.
oracle.iam.platform.kernel.EventFailedException: An error occurred while executing the kernel event handler.
at oracle.iam.platform.kernel.impl.DefaultActionHandler.execute(DefaultActionHandler.java:48)
at sun.reflect.GeneratedMethodAccessor1370.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at oracle.iam.platform.kernel.impl.EventHandlerDynamicProxy.invoke(EventHandlerDynamicProxy.java:30)
Caused By: oracle.iam.platform.entitymgr.InvalidDataTypeException: Role Display Name
at oracle.iam.platform.entitymgr.impl.EntityManagerImpl.checkDataType(EntityManagerImpl.java:1487)
at oracle.iam.platform.entitymgr.impl.EntityManagerImpl.createEntity(EntityManagerImpl.java:265)
at oracle.iam.platform.entitymgr.impl.EntityManagerImpl.createEntity(EntityManagerImpl.java:240)
java.util.MissingResourceException: Can't find resource for bundle java.util.PropertyResourceBundle, key IAM-0080001
at java.util.ResourceBundle.getObject(ResourceBundle.java:402)
at java.util.ResourceBundle.getString(ResourceBundle.java:362)
at oracle.iam.platform.utils.OIMMessageResourcesUtil.getMessage(OIMMessageResourcesUtil.java:726)

Hi ,
How to set that parameter? please find the other system params which has been set in our env below.
User Region : US
User Language : en
User Variant : no value provided
Thanks,
Power.

Similar Messages

  • OIM 11g integration AutoLogin error (first login or forgot password)

    Hi,
    We are currently integrating OAM+OIM 11g (R2). We have used a 10g webgate for this.
    When the user logs in for the first time, and sets his password and answers the challenge questions, he should be "Auto logged in" when he is finished.
    The same scenario should happen, if the user forgot his password, and resets it. He should be "Auto-logged in" when finished.
    This is not happending for us.
    The OIM logs tells us this:
    ERROR: Autologin failed oracle.iam.ui.platform.sso.exception.AutoLoginException: Error occured while retrieving TAP partner key from Credential store
    We have tried to verify everything recommended by this Oracle Support article:
    How to Solve Autologin problems in OIM with OAM? [ID 1475297.1]
    Any ideas what we are missing?
    Thanks & Regards,
    Henrik

    Maybe this is a something?
    Whate should the value of the property OAM_SERVER_VERSION be, when running idmConfigTool.sh and using a 10g webgate for the integration?
    Chapter 7.6 in the integration documentation states this:
    OAM_SERVER_VERSION: 11g (use 10g if Oracle Access Manager 10g is used)
    http://docs.oracle.com/cd/E27559_01/integration.1112/e27123/oim.htm#CACFCJHI
    Under chapter 2.4.5 in the idmConfigTool documentation it's described like this:
    OAM_SERVER_VERSION: Required only when Access Manager server does not support 11g webgate in Oracle Identity Manager-Access Manager integration. In that case, value should be provided as '10g'.
    http://docs.oracle.com/cd/E27559_01/integration.1112/e27123/idmcfgtool.htm#CIHCICHD
    When we ran the script, we had the value set to "11g" (because that's our OAM version)... now I'm wondering if I need to set this value at all..
    Regards,
    Henrik

  • OIM 11g Roles/Groups

    Dear All,
    I noticed that 11g version has the ability for end-user to request Roles. What is the difference between Role and Group in OIM 11g?

    In 11g the new definition of an OIM Group = Role.
    -Kevin

  • OIM 11g R2 - SOA error with Auto Approval

    Hi,
    I am trying to provision a resource through catalog wizard as an end user .I have created both Operational Level and Request level approval policies with Auto Approval Enabled.The RequestID is getting generated but I am getting the following error in screen
    [Security:090304]Authentication Failed: User SOAAdminPassword javax.security.auth.login.FailedLoginException: [Security:090302]Authentication Failed: User SOAAdminPassword denied
    May I know where should I go and change the SOAAdmin Password ?.Thanks.

    I've run into the same error with oim 11gr2 bp04:
    <Mar 18, 2013 11:07:09 AM CDT> <Notice> <Stdout> <BEA-000000> <<Mar 18, 2013 11:07:09 AM CDT> <Error> <oracle.soa.services.identity>
    <BEA-000000> <<oracle.tip.pc.services.identity.jps.AuthenticationServiceImpl.authenticateUser()> authentication FAILED>>
    <Mar 18, 2013 11:07:09 AM CDT> <Notice> <Stdout> <BEA-000000> <<Mar 18, 2013 11:07:09 AM CDT> <Error> <oracle.soa.services.identity>
    <BEA-000000> <<.> Identity Service Authentication failure.
    Identity Service Authentication failure.
    Either the user name or password is incorrect. Check the error stack and fix the cause of the error. Contact Oracle Support Services if error is not fixable.
    ORABPEL-10528
    Identity Service Authentication failure.
    Identity Service Authentication failure.
    Either the user name or password is incorrect. Check the error stack and fix the cause of the error. Contact Oracle Support Services if error is not fixable.
         at oracle.tip.pc.services.identity.jps.JpsProvider.authenticateUser(JpsProvider.java:2337)
    Caused By: javax.security.auth.login.LoginException: [Security:090304]Authentication Failed: User SOAAdminPassword javax.security.auth.login.FailedLoginException:
    [Security:090302]Authentication Failed: User SOAAdminPassword denied
         at oracle.security.jps.internal.jaas.module.authentication.JpsUserAuthenticationLoginModule.login(JpsUserAuthenticationLoginModule.java:71)
         ...Did you find what the issue is? I'm finding scant information about this user named "SOAAdminPassword" (who makes up these usernames :-/).

  • OIM 11g installation failed: Error Restart domain step failed

    Hi,
    I'm stuck in OIM installation at the following point. Please help.
    Here is the description of error:
    Bootstrap Domain Configuration
    Log
    Config Action Bootstrap Domain Configuration started
    Create Domain
    Log
    Create Domain
    Step Create Domain started
    Create Domain
    Step Create Domain ended successfully
    Create ODS Managed Server
    Log
    Create ODS Managed Server
    Step Create ODS Managed Server started
    Create ODS Managed Server
    Step Create ODS Managed Server ended successfully
    Create OIF Managed Server
    Log
    Step Create OIF Managed Server started
    Step Create OIF Managed Server ended successfully
    Stop Managed Server
    Log
    Stop Managed Server
    Step Stop Managed Server started
    Stop Managed Server
    Step Stop Managed Server ended successfully
    Apply Java Required Files
    Log
    Step Apply Java Required Files started
    Step Apply Java Required Files ended successfully
    Apply EM Template
    Log
    Step Apply EM Template started
    Step Apply EM Template ended successfully
    Restart Domain
    Error
    Error while starting the domain.
    Cause:
    An error occurred while starting the domain.
    Action:
    See logs for more details.
    Step Restart Domain failed
    Log
    Step Restart Domain started
    Error while starting the domain.
    Cause:
    An error occurred while starting the domain.
    Action:
    See logs for more details.
    Step Restart Domain failed
    Following is the description from the log file: C:\Program Files (x86)\Oracle\Inventory\logs\install2012-06-15_02-17-54AM.log
    [2012-06-15T04:21:41.828-07:00] [as] [ERROR] [] [oracle.as.provisioning] [tid: 19] [ecid: 0000JVjWcgOFs1WFLz7U8A1FqjrQ00000A,0]
    [2012-06-15T04:21:41.828-07:00] [as] [ERROR] [] [oracle.as.provisioning] [tid: 19] [ecid: 0000JVjWcgOFs1WFLz7U8A1FqjrQ00000A,0] [[
    oracle.as.provisioning.util.ConfigException:
    Error while starting the domain.
    Cause:
    Starting the Admin_Server timed out.
    Action:
    See logs for more details.
         at oracle.as.provisioning.util.ConfigException.createConfigException(ConfigException.java:123)
         at oracle.as.provisioning.weblogic.ASDomain.startDomain(ASDomain.java:3150)
         at oracle.as.provisioning.engine.WorkFlowExecutor._startStopServersAndApps(WorkFlowExecutor.java:830)
         at oracle.as.provisioning.engine.WorkFlowExecutor.executeWLSWorkFlow(WorkFlowExecutor.java:483)
         at oracle.as.provisioning.engine.Config.executeConfigWorkflow_WLS(Config.java:866)
         at oracle.as.idm.install.config.BootstrapConfigManager.doExecute(BootstrapConfigManager.java:1105)
         at oracle.as.install.engine.modules.configuration.client.ConfigAction.execute(ConfigAction.java:371)
         at oracle.as.install.engine.modules.configuration.action.TaskPerformer.run(TaskPerformer.java:88)
         at oracle.as.install.engine.modules.configuration.action.TaskPerformer.startConfigAction(TaskPerformer.java:105)
         at oracle.as.install.engine.modules.configuration.action.ActionRequest.perform(ActionRequest.java:15)
         at oracle.as.install.engine.modules.configuration.action.RequestQueue.perform(RequestQueue.java:64)
         at oracle.as.install.engine.modules.configuration.standard.StandardConfigActionManager.start(StandardConfigActionManager.java:160)
         at oracle.as.install.engine.modules.configuration.boot.ConfigurationExtension.kickstart(ConfigurationExtension.java:81)
         at oracle.as.install.engine.modules.configuration.ConfigurationModule.run(ConfigurationModule.java:86)
         at java.lang.Thread.run(Thread.java:662)
    Thanks in advance for help.
    Thanks,
    Prasad Shinde

    Your problem sounds somewhat like mine, although not exactly. In my case it seems as if my CD/DVD drive didn't like the hologram on my Windows XP install CD. I solved this by using Disk Utility to make a disk image of the Windows DVD and then burning the disk image onto a new DVD with an opaque "label". That solved that problem.
    A further problem occurred after that. When I got to the screen that told me to hit "Enter" to start the installation process my keyboard was unresponsive. I solved this by buying a cheap Windows keyboard. That solved that problem and I now have Windows XP running just fine.
    I think that you'll find that Apple tech support isn't very responsive to these sort of problems. I don't have Apple Care but was willing to pay my $49 for tech support. I ended up talking to a "Boot Camp specialist". He was polite but told me that it was "a windows problem" and that Apple didn't support Windows. I agree that Apple can't support windows but it seemed like my two problems were "Mac problems". Anyway, after tearing my hair out for 4 days I finally got it done. I have to admit that I'm not happy with apple tech support.

  • OIM 11g R2 PS1 error in App instances page due to multiple prcoess forms for a single RO

      By mistake I attached two process definitions to a single resource object (RO) and it in turn mapped two process forms to the single resource object.
    Now when I go to application instances page and do a searc, it shows the below error in the UI
    IAM-4067027 : An error occurred in findAppInstances and the cause of error is An error occurred in getParentFormInfo and the cause of error is Multiple process forms exist for Test_Emp_RO.. 
    I tried to assign a different RO and Form to the second process def in teh design console, but it throws SDK update failure error. How to resolve this error?  Any inputs are appreciated.

    Check the for duplicacy in OBJ_KEY column of the process defination. If duplicate values exit then set them to 'null'  and commit. Restart OIM if required

  • OIM 11g selfdeprovision request error

    Hi ,
    I have created the request template with request type as the selfdeprovision resource. As it is known we dont need to collect any data during deprovisioning. So we did not have a request dataset. And we have created OL and RL policies with auto approval . but when a user is raising the request , while submitting it following error is thrown.
    An error occurred while submitting the request. The Request Beneficiary Entity does not exist as part of the Beneficiary in the request data.
    Any help would be appreciated.
    thanks.

    In your rules on your approval policy, have you set the rule parameter correctly to make sure it gets auto approved?
    You can try creating a new request template.
    Also, if you have an error on the request dataset associated with it, for whatever reason, you can export the request template using the deployment manager and it should include the dataset attached to it and perhaps you can see what is causing the error.
    -Kevin

  • OIM 11g Workflow Execution Error

    Hi All,
    I have created a workflow and had registered into my env. Now while making a request, every time the request is failing stating the below mentioned error.
    IAM-2050014:An error occurred while initiating approvals for request oracle.iam.platform.workflowservice.exception.IAMWorkflowException: Unable to instantiate the workflow process due to null.
    I have 11.1.1.1.5 and used the same version of the JDeveloper.
    Thanking you all in advance.

    Can you be more specific?
    Like, how did you create the workflow?
    Have you followed the right documentation? The latest can be found here: http://download.oracle.com/docs/cd/E14571_01/doc.1111/e14309/workflow_service.htm

  • OIM 11g Approval Workflow - Error

    Hi All,
    I have created a approval workflow (Operational) in OIM11g. Have deployed it as a soa-composite and registered with OIM. Till here everything went fine.
    I have created an apporval policy, to assign to requests of a specific type of resource .
    When the resource is requested, the approval workflows is gettign triggered,but the request goes to failed state.
    I am getting any exceptions in the logs / on the console.
    Has anyone encountered this kind of issue.
    Vicky

    vicky wrote:
    Hi All,
    I have created a approval workflow (Operational) in OIM11g. Have deployed it as a soa-composite and registered with OIM. Till here everything went fine.
    I have created an apporval policy, to assign to requests of a specific type of resource .
    When the resource is requested, the approval workflows is gettign triggered,but the request goes to failed state.
    I am getting any exceptions in the logs / on the console.
    Has anyone encountered this kind of issue.
    VickyCheck your SOA server through the em and that should show you your request and the fault states and everything .. that should give you an idea on what is going wrong ...

  • OIM 11G WEBLOGIC START ERROR

    Hi,
    I am getting the following error when I start the IDM SERVER. PLEASE HELP ME.
    [2010-09-15T16:51:20.481+04:00] [OJDL] [NOTIFICATION:16] [ODL-52001] [oracle.core.ojdl.FileLogWriter] [org: Oracle] [host: idmapps] [nwaddr: 127.0.0.1] [tid: [ACTIVE].ExecuteThread: '8' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: idmadmin] deleting log file: oim_server1-diagnostic-13.log, size: 10326620 bytes
    [2010-09-15T16:51:20.474+04:00] [oim_server1] [ERROR] [] [oracle.adf.share.config.ADFMDSConfig] [tid: [ACTIVE].ExecuteThread: '8' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: OracleSystemUser] [ecid: 0000IgLSkCKFw000jzwkno1CZz2V0001Ww,0] [APP: wsm-pm] [dcid: 11d1def534ea1be0:55762d10:12b1249e448:-7ffd-0000000000001930] MDSConfigurationException encountered in parseADFConfigurationMDS-01330: unable to load MDS configuration document [[
    MDS-01329: unable to load element "persistence-config"
    MDS-01370: MetadataStore configuration for metadata-store-usage "OWSM_TargetRepos" is invalid.
    ORA-06550: line 1, column 12:
    PLS-00201: identifier 'MDS_INTERNAL_SHREDDED.GETREPOSITORYVERSION' must be declared
    ORA-06550: line 1, column 7:
    PL/SQL: Statement ignored
    oracle.mds.config.MDSConfigurationException: MDS-01330: unable to load MDS configuration document
    MDS-01329: unable to load element "persistence-config"
    MDS-01370: MetadataStore configuration for metadata-store-usage "OWSM_TargetRepos" is invalid.
    ORA-06550: line 1, column 12:
    PLS-00201: identifier 'MDS_INTERNAL_SHREDDED.GETREPOSITORYVERSION' must be declared
    ORA-06550: line 1, column 7:
    PL/SQL: Statement ignored
         at oracle.mds.config.PConfig.loadFromBean(PConfig.java:695)
         at oracle.mds.config.PConfig.<init>(PConfig.java:504)
         at oracle.mds.config.MDSConfig.loadFromBean(MDSConfig.java:692)
         at oracle.mds.config.MDSConfig.loadFromElement(MDSConfig.java:749)
         at oracle.mds.config.MDSConfig.<init>(MDSConfig.java:407)
         at oracle.mds.core.MDSInstance.getMDSConfigFromDocument(MDSInstance.java:2011)
         at oracle.mds.core.MDSInstance.createMDSInstanceWithCustomizedConfig(MDSInstance.java:1171)
         at oracle.mds.core.MDSInstance.getOrCreateInstance(MDSInstance.java:571)
         at oracle.adf.share.config.ADFMDSConfig.parseADFConfiguration(ADFMDSConfig.java:137)
         at sun.reflect.GeneratedMethodAccessor546.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at oracle.adf.share.config.ADFConfigImpl.getResultFromComponent(ADFConfigImpl.java:443)
         at oracle.adf.share.config.ADFConfigImpl.getConfigObject(ADFConfigImpl.java:508)
         at oracle.adf.share.config.ADFConfigImpl.getConfigObject(ADFConfigImpl.java:491)
         at oracle.adf.share.config.ADFConfigImpl.getMDSInstance(ADFConfigImpl.java:547)
         at oracle.adf.share.config.ADFConfigImpl.getMDSInstance(ADFConfigImpl.java:542)
         at oracle.adf.share.config.ADFContextMDSConfigHelperImpl.getMDSInstance(ADFContextMDSConfigHelperImpl.java:274)
         at oracle.adf.share.ADFContext.getMDSInstanceAsObject(ADFContext.java:1210)
         at oracle.wsm.repository.mds.MDSInstanceFactory.getMDSInstance(MDSInstanceFactory.java:92)
         at oracle.wsm.policymanager.bean.AbstractBean.<init>(AbstractBean.java:92)
         at oracle.wsm.policymanager.bean.DocumentManagerBean.<init>(DocumentManagerBean.java:100)
         at oracle.wsm.policymanager.bean.ejb.DocumentManagerEJB.<init>(DocumentManagerEJB.java:41)
         at oracle.wsm.policymanager.bean.ejb.DocumentManager_ookznn_Impl.<init>(DocumentManager_ookznn_Impl.java:42)
         at sun.reflect.GeneratedConstructorAccessor451.newInstance(Unknown Source)
         at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
         at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
         at java.lang.Class.newInstance0(Class.java:355)
         at java.lang.Class.newInstance(Class.java:308)
         at com.bea.core.repackaged.springframework.jee.spi.EjbComponentCreatorBrokerImpl.getBean(EjbComponentCreatorBrokerImpl.java:69)
         at weblogic.ejb.container.injection.EjbComponentCreatorImpl.getBean(EjbComponentCreatorImpl.java:68)
         at weblogic.ejb.container.manager.BaseEJBManager.createNewBeanInstance(BaseEJBManager.java:216)
         at weblogic.ejb.container.manager.BaseEJBManager.allocateBean(BaseEJBManager.java:231)
         at weblogic.ejb.container.manager.StatelessManager.createBean(StatelessManager.java:303)
         at weblogic.ejb.container.pool.StatelessSessionPool.createBean(StatelessSessionPool.java:201)
         at weblogic.ejb.container.pool.StatelessSessionPool.getBean(StatelessSessionPool.java:127)
         at weblogic.ejb.container.manager.StatelessManager.preInvoke(StatelessManager.java:148)
         at weblogic.ejb.container.internal.BaseRemoteObject.preInvoke(BaseRemoteObject.java:230)
         at weblogic.ejb.container.internal.StatelessRemoteObject.__WL_preInvoke(StatelessRemoteObject.java:41)
         at oracle.wsm.policymanager.bean.ejb.DocumentManager_ookznn_IRemoteDocumentManagerImpl.retrieveDocuments(DocumentManager_ookznn_IRemoteDocumentManagerImpl.java:604)
         at oracle.wsm.policymanager.bean.ejb.DocumentManager_ookznn_IRemoteDocumentManagerImpl_WLSkel.invoke(Unknown Source)
         at weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:174)
         at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:345)
         at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:259)
         at oracle.wsm.policymanager.bean.ejb.DocumentManager_ookznn_IRemoteDocumentManagerImpl_1033_WLStub.retrieveDocuments(Unknown Source)
         at oracle.wsm.policymanager.client.DocumentManagerDelegate$9.run(DocumentManagerDelegate.java:346)
         at oracle.wsm.policymanager.client.DocumentManagerDelegate$9.run(DocumentManagerDelegate.java:343)
         at java.security.AccessController.doPrivileged(Native Method)
         at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
         at oracle.security.jps.internal.jaas.AccActionExecutor.execute(AccActionExecutor.java:47)
         at oracle.security.jps.internal.jaas.CascadeActionExecutor$SubjectPrivilegedExceptionAction.run(CascadeActionExecutor.java:79)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
         at weblogic.security.Security.runAs(Security.java:61)
         at oracle.security.jps.wls.jaas.WlsActionExecutor.execute(WlsActionExecutor.java:48)
         at oracle.security.jps.internal.jaas.CascadeActionExecutor.execute(CascadeActionExecutor.java:52)
         at oracle.wsm.policymanager.client.DocumentManagerDelegate.retrieveDocuments(DocumentManagerDelegate.java:342)
         at oracle.wsm.policymanager.accessor.BeanAccessor.updateCache(BeanAccessor.java:1139)
         at oracle.wsm.policymanager.accessor.BeanAccessor.fetchDocuments(BeanAccessor.java:590)
         at oracle.wsm.policymanager.accessor.BeanAccessor.access$300(BeanAccessor.java:111)
         at oracle.wsm.policymanager.accessor.BeanAccessor$MissingDocsFetcherTask.run(BeanAccessor.java:165)
         at oracle.wsm.common.scheduler.TimerManagerWrapper$TimerListenerImpl.timerExpired(TimerManagerWrapper.java:62)
         at weblogic.timers.internal.commonj.ListenerWrap.timerExpired(ListenerWrap.java:37)
         at weblogic.timers.internal.TimerImpl.run(TimerImpl.java:273)
         at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)

    Hi,
    For the first error and looking from WebLogic perspective "<EJB> <BEA-010065> <MessageDrivenBean threw an Exception in onMessage(). The exception was: java.lang.OutOfMemoryError." because MAXPERMSIZE in the start<servername>.cmd|SH is configured to small for the application. Normal solution should be increase MAXPERMSIZE . But you are also getting this "<BEA-010216> <The Message-Driven EJB: oimKernelQueueMDB is throwing exception when processing the messages." I recommend you to open an SR in Oracle Metalink to solve these errors.
    regards,
    Thiago L Guimaraes.

  • OIM 11G - Roles, revoke when policy no longer applies behaviour

    When two roles share one or more common resources, will the "revoke resources when policy no longer applies" behaviour preserve the common resources of the other existing role, when the other role is revoked?
    Regards
    Hanif

    As mentioned above, they will keep the resource as long as they are a member of a role that has that resource on the access policy.
    If the access policy has a deny resource listed on it though, that will automatically revoke any instance regardless of other access policy the user has.
    -Kevin

  • Error in oim Role creation using Role Manager Service API from Standalone Java client

    Hi,
      Facing the following error when trying to create Role using Role Manager Service API from a standalone java client .
    Tried with the solution of changing ,
    Login into the Web Logic Admin Console --> Servers --> OIM Server --> Protocols --> Modify the Maximum Message from 100000000 to 1000000000, but still the problem persists.
    Exception in thread "main" org.omg.CORBA.BAD_PARAM:   vmcid: 0x0  minor code: 0  completed: No
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at java.lang.Class.newInstance0(Unknown Source)
    at java.lang.Class.newInstance(Unknown Source)
    at com.sun.corba.se.impl.protocol.giopmsgheaders.MessageBase.getSystemException(Unknown Source)
    at com.sun.corba.se.impl.protocol.giopmsgheaders.ReplyMessage_1_2.getSystemException(Unknown Source)
    at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.getSystemExceptionReply(Unknown Source)
    at com.sun.corba.se.impl.protocol.CorbaClientRequestDispatcherImpl.processResponse(Unknown Source)
    at com.sun.corba.se.impl.protocol.CorbaClientRequestDispatcherImpl.marshalingComplete(Unknown Source)
    at com.sun.corba.se.impl.protocol.CorbaClientDelegateImpl.invoke(Unknown Source)
    at org.omg.CORBA.portable.ObjectImpl._invoke(Unknown Source)
    at com.sun.org.omg.SendingContext._CodeBaseStub.meta(Unknown Source)
    at com.sun.corba.se.impl.encoding.CachedCodeBase.meta(Unknown Source)
    at com.sun.corba.se.impl.io.IIOPInputStream.getOrderedDescriptions(Unknown Source)
    at com.sun.corba.se.impl.io.IIOPInputStream.inputObjectUsingFVD(Unknown Source)
    at com.sun.corba.se.impl.io.IIOPInputStream.simpleReadObject(Unknown Source)
    at com.sun.corba.se.impl.io.ValueHandlerImpl.readValueInternal(Unknown Source)
    at com.sun.corba.se.impl.io.ValueHandlerImpl.readValue(Unknown Source)
    at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(Unknown Source)
    at com.sun.corba.se.impl.encoding.CDRInputStream.read_value(Unknown Source)
    at oracle.iam.identity.rolemgmt.api._RoleManager_ogut7n_RoleManagerRemoteRIntf_Stub.createx(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at weblogic.ejb.container.internal.RemoteBusinessIntfProxy.invoke(RemoteBusinessIntfProxy.java:85)
    at $Proxy2.createx(Unknown Source)
    at oracle.iam.identity.rolemgmt.api.RoleManagerDelegate.create(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at Thor.API.Base.SecurityInvocationHandler$1.run(SecurityInvocationHandler.java:68)
    at weblogic.security.subject.SubjectProxy.doAs(SubjectProxy.java:64)
    at weblogic.security.subject.SubjectManager.runAs(SubjectManager.java:262)
    at weblogic.security.Security.runAs(Security.java:48)
    at Thor.API.Security.LoginHandler.weblogicLoginSession.runAs(weblogicLoginSession.java:52)
    at Thor.API.Base.SecurityInvocationHandler.invoke(SecurityInvocationHandler.java:79)
    at $Proxy3.create(Unknown Source)
    at com.idm.role.CreateRole.createRole(CreateRole.java:113)
    at com.idm.role.CreateRole.main(CreateRole.java:167)
    Thanks In Advance

    Hi , I have used OIM 11g  R2.
    Please find below the code we have used,
    package com.idm.role;
    import java.util.HashMap;
    import java.util.HashSet;
    import java.util.Hashtable;
    import java.util.Iterator;
    import java.util.Set;
    import java.util.logging.Logger;
    import javax.security.auth.login.LoginException;
    import oracle.iam.identity.exception.NoSuchRoleException;
    import oracle.iam.identity.exception.RoleAlreadyExistsException;
    import oracle.iam.identity.exception.RoleCreateException;
    import oracle.iam.identity.exception.RoleLookupException;
    import oracle.iam.identity.exception.RoleModifyException;
    import oracle.iam.identity.exception.SearchKeyNotUniqueException;
    import oracle.iam.identity.exception.ValidationFailedException;
    import oracle.iam.identity.rolemgmt.api.RoleManager;
    import oracle.iam.identity.rolemgmt.api.RoleManagerConstants;
    import oracle.iam.identity.rolemgmt.vo.Role;
    import oracle.iam.platform.OIMClient;
    import oracle.iam.platform.authz.exception.AccessDeniedException;
    public class CreateRole {
    private final static Logger LOGGER = Logger.getLogger(CreateRole.class .getName());
    OIMClient oimClient = null;
    public OIMClient connectToOIM() {
      LOGGER.info("In connectToOIM ");
      Hashtable env = new Hashtable();
      env.put(OIMClient.JAVA_NAMING_FACTORY_INITIAL,
        "weblogic.jndi.WLInitialContextFactory");
      env.put(OIMClient.JAVA_NAMING_PROVIDER_URL,
        "t3://V-hydidm1.itig.co.in:14000");
      System.setProperty("java.security.auth.login.config",
        "F:\\Projects\\IDM\\Team\\Env_setup\\OIM_Setup\\designconsole\\config\\authwl.conf");
      System.setProperty("java.security.policy",
        "F:\\Projects\\IDM\\Team\\Env_setup\\OIM_Setup\\designconsole\\config\\xl.policy");
      System.setProperty("OIM.AppServerType", "wls");
      System.setProperty("APPSERVER_TYPE", "wls");
      System.setProperty("weblogic.Name", "oim_server1");
      oimClient = new OIMClient(env);
      try {
       oimClient.login("xelsysadm", "Passw0rd".toCharArray());
      } catch (LoginException e) {
       e.printStackTrace();
      System.out.println("Connected");
      return oimClient;
    public void readRoleMetadata() {
      LOGGER.info("in readRoleMetadata ");
      RoleManager roleManagerService = oimClient
        .getService(RoleManager.class);
      try {
       Role roleVo = roleManagerService.getDetails(
         RoleManagerConstants.ROLE_DISPLAY_NAME, "API Role1", null);
       Set attributeNameSet = roleVo.getAttributeNames();
       Iterator it = attributeNameSet.iterator();
       while (it.hasNext()) {
        System.out.println("Attribute Name :: " + it.next());
       // roleVo.setAttribute("ADentitlements", "Security Admin access");
       String adEntitlements = "" + roleVo.getAttribute("ADentitlements");
       System.out.println("AD Entitlements :: " + adEntitlements);
       System.out.println("DB Entitlements :: " + ""
         + roleVo.getAttribute("DBEntitlements"));
       System.out.println("Unix Entitlements :: " + ""
         + roleVo.getAttribute("UnixWindows"));
       System.out.println("VPN :: " + "" + roleVo.getAttribute("VPN"));
      } catch (SearchKeyNotUniqueException e) {
       e.printStackTrace();
      } catch (NoSuchRoleException e) {
       e.printStackTrace();
      } catch (RoleLookupException e) {
       e.printStackTrace();
      } catch (AccessDeniedException e) {
       e.printStackTrace();
    public void createRole() {
      LOGGER.info(" in Create role ");
      RoleManager roleManagerService = oimClient
        .getService(RoleManager.class);
      HashMap<String, Object> roleCreationAttrMap = new HashMap<String, Object>();
      roleCreationAttrMap.put(RoleManagerConstants.ROLE_NAME, "API Role1");
      roleCreationAttrMap.put(RoleManagerConstants.ROLE_DESCRIPTION,
        "This Role is created using API Role1");
      roleCreationAttrMap.put(RoleManagerConstants.ROLE_DISPLAY_NAME,
        "API Role1");
      roleCreationAttrMap.put("ADentitlements", "API Role1 AD Entitlements");
      roleCreationAttrMap.put("DBEntitlements", "API Role1 DB Entitlements");
      roleCreationAttrMap.put("VPN", "No");
      roleCreationAttrMap.put("UnixWindows", "API Role1 Unix Entitlements");
      Role roleVo = new Role(roleCreationAttrMap);
      try {
       System.out.println(" Before Create role *********************************************");
       roleManagerService.create(roleVo);
       System.out.println("Role Created .. ");
      } catch (ValidationFailedException e) {
       e.printStackTrace();
      } catch (RoleAlreadyExistsException e) {
       e.printStackTrace();
      } catch (RoleCreateException e) {
       e.printStackTrace();
      } catch (AccessDeniedException e) {
       e.printStackTrace();
    public void modifyRole() {
      LOGGER.info(" in modifyRole ");
      RoleManager roleManagerService = oimClient
        .getService(RoleManager.class);
      Role roleVo;
      try {
       roleVo = roleManagerService.getDetails(
         RoleManagerConstants.ROLE_DISPLAY_NAME, "API Role1", null);
       String roleKey = roleVo.getEntityId();
       HashMap<String, Object> roleCreationAttrMap = new HashMap<String, Object>();
       roleCreationAttrMap.put("ADentitlements",
         "Updated API Role1 AD Entitlements");
       Set roleKeySet = new HashSet<String>();
       roleKeySet.add(roleKey);
       Role roleVoNew = new Role(roleCreationAttrMap);
       roleManagerService.modify(roleKeySet, roleVoNew);
       System.out.println("Role Modified ..");
      } catch (SearchKeyNotUniqueException e) {
       e.printStackTrace();
      } catch (NoSuchRoleException e) {
       e.printStackTrace();
      } catch (RoleLookupException e) {
       e.printStackTrace();
      } catch (AccessDeniedException e) {
       e.printStackTrace();
      } catch (ValidationFailedException e) {
       e.printStackTrace();
      } catch (RoleModifyException e) {
       e.printStackTrace();
    public static void main(String args[]) {
      CreateRole miscObj = new CreateRole();
      miscObj.connectToOIM();
      miscObj.createRole();
      //miscObj.readRoleMetadata();
    Thanks In Advance .

  • Error creating a role from the process task adapter - OIM 11g R2 PS1

    I have a requirement to create an OIM role dynamically when a resource account is created. Also once the role is created, I need to assign that role to the user dynamically. Following code works perfectly fine if I replace the Platform with OIMClient and run it remotely. It fails when I run it from OIM:
    Exception:
    An exception occurred while performing the operation.
    java.lang.NullPointerException
    at oracle.iam.request.impl.RequestEngine.startOrchestrationFromPreProcess(RequestEngine.java:5516)
    at oracle.iam.request.impl.RequestEngine.triggerOperation(RequestEngine.java:5439)
    at oracle.iam.request.impl.RequestEngine.doOperation(RequestEngine.java:5154)
    at oracle.iam.impl.OIMServiceImpl.doOperation(OIMServiceImpl.java:43)
    at sun.reflect.GeneratedMethodAccessor6238.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
    at oracle.iam.platform.utils.DMSMethodInterceptor.invoke(DMSMethodInterceptor.java:25)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
    at com.sun.proxy.$Proxy943.doOperation(Unknown Source)
    public static User searchUserByLogin(String login) {
            List<User> users = null;
            Set<String> retAttrs = new HashSet<String>();
            retAttrs.add(UserManagerConstants.AttributeName.USER_KEY.getId());
            SearchCriteria criteria;
            criteria = new SearchCriteria(UserManagerConstants.AttributeName.USER_LOGIN.getId(), login, SearchCriteria.Operator.EQUAL);
            try {
                UserManager userManager = Platform.getService(UserManager.class);
              users = userManager.search(criteria, retAttrs, null);
            } catch (AccessDeniedException ade) {
                // handle exception
            } catch (UserSearchException use) {
                // handle exception
            if (users.size() > 0) {
                return users.get(0);
            } else {
                return null;
        public static boolean grantRole(String usrLogin, String roleKey) throws oracle.iam.platform.authz.exception.AccessDeniedException, UserMembershipException, ValidationFailedException, RoleGrantException {
            RoleManager roleMgr = (RoleManager) Platform.getService(RoleManager.class);      
            adpLogger.debug("Entering grantRole(1): User - " + usrLogin + " Role - " + roleKey);
            Set userKeys = new HashSet();
            User user = searchUserByLogin(usrLogin);
            userKeys.add(user.getEntityId());
            if (!roleMgr.isRoleGranted(roleKey, user.getEntityId(), false)) {
                RoleManagerResult result = roleMgr.grantRole(roleKey, userKeys);
                adpLogger.debug("Role granted " + result.getStatus());
            } else {
                adpLogger.debug("Role is already granted");
            return true;
        public static String createOrUpdateRole(String usrLogin, String roleName) throws oracle.iam.platform.authz.exception.AccessDeniedException, RoleSearchException, ValidationFailedException, RoleAlreadyExistsException, RoleCreateException, RoleGrantException, UserMembershipException {
            adpLogger.debug("Entering createOrUpdateRole(1) Role " + roleName);
            RoleManager roleMgr = (RoleManager) Platform.getService(RoleManager.class);
            SearchCriteria criteria;
            criteria = new SearchCriteria(RoleManagerConstants.ROLE_NAME, roleName, SearchCriteria.Operator.EQUAL);
            Set<String> ret = new HashSet<String>();
            User user = searchUserByLogin(usrLogin);
            List<Role> roles = new ArrayList<Role>();
            roles = roleMgr.search(criteria, ret, null);
            String grpKey = "";
            if (roles.size() > 0) {
                adpLogger.debug("Role already exists. Role ID " + roles.get(0).getEntityId());
                grpKey = roles.get(0).getEntityId();
            } else {
                Role role = new Role(new HashMap());
                role.setName(roleName);
                RoleManagerResult result = roleMgr.create(role);
                adpLogger.debug("Role created with ID " + result.getEntityId());
                grpKey = result.getEntityId();
            return grpKey;
    It fails at             RoleManagerResult result = roleMgr.create(role); line in createOrUpdateRole() method.
    Has anyone ever run into this kind of issue?
    Thanks

    Can you please try after making organization for a particular role and user are same ?
    For new role creation publish the particular group to organization.
    Regards
    Shashank k

  • How to obtain Role name in OIM 11g using API's

    Hello,
    I have a scenario in which I create Role/Group in OIM 11g & it gets provisioned in AD [=works fine] & other part is when i delete role in OIM 11g then it should
    get deleted from AD.I have written postprocess event handler to achieve this.
    In role creation part i get all parameters using "orchestration.getParameters();" , but when i delete role then "orchestration.getParameters();" is empty,so i am
    not able to get role name.
    Is there a way to get role name while deleting roles using API ?
    Thanks,
    Rahul Shah

    Hi Raghav,
    Following is my code :
    tcRODetails = orgOpInterface.getObjects(organizationKey);
    for(int i = 0;i < tcRODetails.getRowCount();i++){
    tcRODetails.goToRow(i);
    // resourceName=AD Group
    if(resourceName.equalsIgnoreCase(tcRODetails.getStringValue("Objects.Name"))&&
    tcRODetails.getStringValue("Objects.Object Status.Status").equalsIgnoreCase("Provisioned")||
    tcRODetails.getStringValue("Objects.Object Status.Status").equalsIgnoreCase("Enabled")) {
    System.out.println("<<<FOUND>>>");
    processKey = tcRODetails.getLongValue("Process Instance.Key");
    provisionObjectKey = tcRODetails.getLongValue("Objects.Key");
    tcProcessSet = oimFormUtility.getProcessFormData(processKey);
    for(int j=0;j<tcProcessSet.getRowCount();j++){
    tcProcessSet.goToRow(j);
    if(grpName.equalsIgnoreCase(tcProcessSet.getStringValue("UD_ADGRP_NAME"))){
    System.out.println("MATCH FOUND!!!!!");
    orgOpInterface.removeObjectAllowed(organizationKey,provisionObjectKey);
    break;
    & i get following error :
    <Mar 22, 2012 1:54:43 PM IST> <Error> <XELLERATE.APIS> <BEA-000000> <Class/Method: tcOrganizationOperationsBean/removeObjectAllowed encounter some problems: Object with key=7 is not already set as an allowed object for Organization with key=1>
    Thanks
    Rahul Shah

  • OIM 11g Server Configuration Wizard Error - Cannot Connect to Oracle DB

    I appreciate any and all suggestions or thoughts on how to best continue troubleshooting this error that I am describing below.
    I am attempting to install Oracle Identity and Access Management Suite 11g on a Windows 7 machine…in following the installation guides I have successfully installed the following Oracle Components
    - Oracle Database 11.2.0.1.0
    - Created Schemas using RCU 11.1.1.3.3
    - Oracle WebLogic Server 10.3.3.0
    - Oracle SOA 11.1.1.2.0
    - Oracle SOA 11.1.1.3.0 (Patch Set)
    - Oracle IAM SUITE 11.1.1.3.0
    Following the above installations, I created a new WebLogic Domain and as the next step am running the OIM Configuration Wizard to configure the OIM Server, however I am unable to setup a connection to the Oracle DB via the OIM Configuration Wizard. I am getting an error message when attempting to setup the connection to the Oracle Database using the OIM 11g Server Configuration Wizard:
    ERROR:*
    INST:6102 Unable to connect to the database with the given credentials.
    *+[DETAILS] Check the values. Make sure the Database is up and running and connect string, user name, and password are correct.+*
    INST:6102 Unable to connect to the database with the given credentials.
    *+[DETAILS] Check the values. Make sure the Database is up and running and connect string, user name, and password are correct.+*
    When installing the Oracle Database 11gR2 I used the following install configuration:
    Oracle base: C:\MyApps\Oracle
    Software location: C:\MyApps\Oracle\DB_HOME\11.2.0\dbhome_1
    Database file location: C:\MyApps\Oracle\DB_HOME\oradata
    Database Edition: Personal Edition (3.27 GB)
    Character Set: Unicode (AL32UTF8)
    Global database name: orcl.dev.com
    Administrative Password: Password1
    Confirm Password: Password1
    When creating my Schemas using RCU 11.1.1.3.3 I used the following Database Connection Details
    DB TYPE: Oracle Database
    HOST NAME: localhost
    PORT: 1521
    SERVICE NAME: orcl.dev.com
    USERNAME: sys
    PASSWORD: Password1
    ROLE: SYSDBA
    I used a Prefix of “DEV” when creating the schemas so Schema Owners DEV_OIM and DEV_MDS where created. Also, I configured to use the same password for all Schemas: “Password1″. So the password for DEV_OIM and DEV_MDS should be the same, “Password1″.
    REPRODUCING THE ERROR
    To reproduce the error, when I launch the Oracle Identity Management 11g Configuration Wizard I am first brought to the “Welcome” Screen. I click the [Next>] button.
    Next, I am on the “Components to Configure” screen where I select OIM Server and OIM Design Console and click the [Next>] button. (NOTE I have also tested by simply selecting only the OIM Server)
    Next, I am on the “Database” screen where I enter the connection information
    Connection String: localhost:1521:orcl.dev.com
    (NOTE I have also tested using localhost:1521:orcl)
    OIM Schema User Name: DEV_OIM
    OIM Schema Password: Password1
    MDS Schema User Name: DEV_MDS
    MDS Schema Password: Password1
    When I click the [Next>] button after entering the Database Connection details I encounter the following two errors (1 error for each logon DEV_OIM and DEV_MDS)
    INST:6102 Unable to connect to the database with the given credentials.
    INST:6102 Unable to connect to the database with the given credentials.
    TROUBLESHOOTING
    NOTE: I can successfully start the Oracle DB Services and connect via the Enterprise Console, SQL Plus, and JDBCTest Java Client…I just cannot get past this connection error in the OIM Server Configuration Wizard.
    JDBCTest.java TEST CLIENT
    NOTE: THIS IS THE JAVA TEST CLIENT THAT I AM USING TO TEST DATABASE CONNECTIVITY THRU A SPECIFIED JDBC URL AND DRIVER THAT WORKS SUCCESSFULLY.*
    import java.sql.Connection;
    import java.sql.DatabaseMetaData;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    public class JDBCTest {
    public static void main(String[] args) throws Exception {
    String url = "jdbc:oracle:thin:@localhost:1521:orcl";
    String driver = "oracle.jdbc.OracleDriver";
    String user = "DEV_OIM";
    String password = "Password1";
    try {
    Class.forName(driver);
    Connection conn = DriverManager.getConnection(url, user, password);
    // Get the MetaData
    DatabaseMetaData metaData = conn.getMetaData();
    // Get driver information
    System.out.println("");
    System.out.println("#########################################");
    System.out.println("# ***DRIVER INFORMATION***");
    System.out.println("#");
    System.out.println("# Driver Name = " + metaData.getDriverName());
    System.out.println("# Driver Version = " + metaData.getDriverVersion());
    System.out.println("#");
    System.out.println("#########################################");
    System.out.println("");
    System.out.println("");
    // Get database information
    System.out.println("#########################################");
    System.out.println("# ***DATABASE INFORMATION***");
    System.out.println("#");
    System.out.println("# Database Product Name = " + metaData.getDatabaseProductName());
    System.out.println("# Database Product Version = " + metaData.getDatabaseProductVersion());
    System.out.println("#");
    System.out.println("#########################################");
    System.out.println("");
    System.out.println("");
    // Get schema information
    ResultSet schemas = metaData.getSchemas();
    System.out.println("#########################################");
    System.out.println("# ***SCHEMA INFORMATION***");
    System.out.println("#");
    System.out.println("# Schemas:");
    while (schemas.next()) {
    System.out.println("# " + schemas.getString(1));
    System.out.println("#########################################");
    System.out.println("");
    System.out.println("");
    // Get table information
    System.out.println("Tables");
    ResultSet tables = metaData.getTables("", "", "", null);
    while (tables.next()) {
    System.out.println(tables.getString(3));
    conn.close();
    } catch (Exception ex) {
    ex.printStackTrace();
    *"lsnrctl status" COMMAND TEST SUCCESSFUL*
    When the Listener Service is on I get the following output using lsnrctl status command
    C:\> lsnrctl status
    LSNRCTL for 32-bit Windows: Version 11.2.0.1.0 - Production on 21-SEP-2010 15:59:43
    Copyright (c) 1991, 2010 Oracle. All rights reserved.
    STATUS of the LISTENER
    Alias LISTENER
    Version TNSLSNR for 32-bit Windows:Version 11.2.0.1.0 - Production
    Start Date 21-SEP-2010 14:43:57
    Uptime 0 days 1 hr. 15 min. 46 sec
    Trace Level off
    Security ON: Local OS Authentication
    SNMP OFF
    Listener Parameter File C:\MyApps\Oracle\DB_HOME\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora
    Listener Log File c:\myapps\oracle\diag\tnslsnr\\listener\alert\log.xml
    Listening Endpoints Summary…
    (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)))
    Services Summary…
    Service “CLRExtProc” has 1 instance(s).
    Instance “CLRExtProc”, status UNKNOWN, has 1 handler(s) for this service…
    Service “orcl.dev.com” has 1 instance(s).
    Instance “orcl”, status READY, has 1 handler(s) for this service….
    Service “orclXDB.dev.com” has 1 instance(s).
    Instance “orcl” status READY, has 1 handler(s) for this service…
    The command completed successfully

    Whenever installing oracle databases, i install the software only first. Then i setup the listener. Then i create a database instance using the dbca tool. This way all the information is added to the pre-existing listener configurations rather than trying to create the listener afterwards. Also, during the dbca database creation, i supply a full service name such as orcl.hostname and use the service name in future configurations where it asked. This usually solves any issues of the listener or database not being found correctly.
    -Kevin

Maybe you are looking for