Custom Request Template OIM 11g

I need to create a custom template to request the following scenario
I have two tables in the database, System and Module where the Module is the child table
I created the IT Resource using these tables, my doubt is how to create the following model request
Step 1
The requester selects a system (IT Resource)
Step 2:
List the modules related to the chosen system (stored in a lookup)
Step 3:
Add this information to the form using the pre-populate
Note lookup (Code key = System / Decode = Module)
Thanks a lot !
Edited by: 825715 on 01/04/2011 06:04

825715 wrote:
I need to create a custom template to request the following scenario
I have two tables in the database, System and Module where the Module is the child table
I created the IT Resource using these tables, my doubt is how to create the following model request
Step 1
The requester selects a system (IT Resource)
Step 2:
List the modules related to the chosen system (stored in a lookup)
Step 3:
Add this information to the form using the pre-populate
Note lookup (Code key = System / Decode = Module)
Thanks a lot !
Edited by: 825715 on 01/04/2011 06:04What are you trying to achieve? You create the request, it goes for approval, completes and then what? Are you trying to provision users or trying to modify the resource directly from OIM?

Similar Messages

  • Can we apply an event handler only for a custom request in oim 11G?

    Hi,
    We would like to create a custom request for user creation, modification etc.
    I saw that event handlers allow to add business rules by running java code during differents steps of processes.
    I would like to know if we can trigger an event handler on a specific request and not on all user CREATION, UPDATE etc.
    For example, we would like to have differents creation requests and a differents event handler on each request.
    And can we add "logical" input on request form and read them in event handler?
    For example, 3 inputs: day, month and year on the form which fill one user attribute "end contract date".
    Regards,
    Pierre

    thank you Akshat,
    I saw part 19 in the developper's guide. If I understand, I can change the default CreateUserRequestData to define ALL form components that will be used in my differents user creation request templates.
    I can use prepopulation adapter to pre populate field with java code.
    I can use the plug-in point oracle.iam.request.plugins.StatusChangeEvent to run custom java code.
    But they don't mention where you can run java code for a specific creation template named "MyUserCreationTemplate1" and other java code for an other specific creation tempalate" MyUserCreationTemplate2".
    That makes me think we must retrieve the template name in java code and execute the appropriate business logic.
    if request name==MyUserCreationTemplate1
    Edited by: user1214565 on 31 mai 2011 07:42

  • Exception while trying to add new roles into Request template - OIM 11g R1

    When I try to edit 'Allowed Roles' tab in the Request template, I am facing an exception saying *'oracle.iam.platform.utils.MaxLimitException'*. What is the maximum number of roles that can be added to a request template? Also, which OIM table contains data related to the roles attached to request template?

    Hi Rajiv,
    Thanks for the information. It did resolve the issue.
    However, I have another query. Was their any reason for setting the max limit of roles in request template to 300? Will their be any issues(like system unstability, system performance drop) if the limit is increased?

  • Create a custom Request Template

    Hello,
    i need to create a custom request template.
    Custom Template = Create user + disable user.
    The request should be creating a user and disabling them automatically.
    1. What is the correct way to realize this scenario?
    2. Do i need bpel processes for that?
    3. Where are the default request templates stored in oim? Is it possible to modify the 'create user' template and add the 'disable user' functionality?
    Many thanks in advance!

    1) Use these templates. Create and Disable User.
    3)__Default Request Template in OIM:__
    1-Assign Roles:Default template for assigning roles to users
    2-Create User:Default template for creating users
    3-De-Provision Resource:Default template for deprovisioning resources
    4-Delete User:Default template for deleting users
    5-Disable Provisioned Resource:Default template for disabling provisioned resources
    6-Disable User:Default template for disabling users
    7-Enable Provisioned Resource:Default template for enabling provisioned resources
    8-Enable User:Default template for enabling users
    9-Modify Provisioned Resource:Default template for modifying provisioned resources
    10-Modify Self Profile:Default template for modifying self profile
    11-Modify User Profile:Default template for modifying user profiles
    12-Provision Resource:Default template for provisioning resources
    13-Remove from Roles:Default template for removing users from roles
    14-Self-Register User:Default template for self registering users
    15-Self-Request Resource: Default template for requesting resources for self
    Default template are:
    Go to Advanced Administration-->left pane of the Request Templates -->Advanced Search
    To modify:
    Select a template name in the search results table.--> Actions menu, select Open.
    Template Details section-->the details of the template are displayed in the fields
    I hope this helps,
    Thiago Leoncio

  • Creation of a Request in OIM 11G using API's

    Hi Friends,
    I am trying to create a request using OIM 11g API's.
    I am trying to do this for EBS Responsibility resource and this resource has a request dataset has EBS-IT-Resource-Instance, application name, responsibility name, start date and security group. Please note application name, responsibility name, start date and security group are in child form.
    I am trying to populate the request dataset using the below code.
    List<RequestBeneficiaryEntityAttribute> entityAttrList;
    RequestBeneficiaryEntity entity = null;
    entityAttrList = new ArrayList<RequestBeneficiaryEntityAttribute>();
    entity = new RequestBeneficiaryEntity();
    tcITResourceInstanceOperationsIntf tcITResourceIntf = Platform.getService(tcITResourceInstanceOperationsIntf.class);
    HashMap searchcriteria = new HashMap<String, String>();
    searchcriteria.put("IT Resources.Name", "EBSHF-APPS12");
    tcResultSet resultSet = tcITResourceIntf.findITResourceInstances(searchcriteria);
    long itResourceKey=resultSet.getLongValue("IT Resources.Key");
    entityAttrList.add(this.getAttrLong("eBusiness Suite Instance Name",itResourceKey));
    entityAttrList.add(this.getAttr("Application Name","3~300"));
    entityAttrList.add(this.getAttr("Responsibility Name", "3~300~52281"));
    entityAttrList.add(this.getAttr("Security Group", "3~0"));
    entity.setEntityKey(getResourceKey("Oracle eBusiness Responsibility"));
    entity.setEntityType(RequestConstants.RESOURCE);
    entity.setEntitySubType("Oracle eBusiness Responsibility");
    entity.setEntityData(entityAttrList);
    private RequestBeneficiaryEntityAttribute getAttr(String name, String value)
    RequestBeneficiaryEntityAttribute attr = null;
    attr = new RequestBeneficiaryEntityAttribute(name, value, RequestBeneficiaryEntityAttribute.TYPE.String);
    return attr;
    private RequestBeneficiaryEntityAttribute getAttrLong(String name, long value)
    RequestBeneficiaryEntityAttribute attr = null;
    attr = new RequestBeneficiaryEntityAttribute(name, value, RequestBeneficiaryEntityAttribute.TYPE.Long);
    return attr;
    My code is working fine and a request is getting created. But when I try to open the request dataset(object form) for the newly created request, I am getting null exceptions.
    If I did not populate the fields that are in the child form application name, responsibility name and security group which are highlighted above, then I am able to view the form with the correct IT-Resource-Instance name after request creation.
    So, I am thinking I am doing something wrong while populating child form data in the request dataset.
    Can you please provide me some code snippet to populate the child using 11G API'S?

    Hi Bikash,
    After referring your code, i made changes in mine. Here is my updated code.
    RequestBeneficiaryEntityAttribute parantAttr=null;
    List<RequestBeneficiaryEntityAttribute> entityAttrList;
    RequestBeneficiaryEntity entity = null;
    entity = new RequestBeneficiaryEntity();
    parantAttr=this.getAttrLong("eBusiness Suite Instance Name", itResourceKey);
    RequestBeneficiaryEntityAttribute mid1 = new RequestBeneficiaryEntityAttribute();
    List <RequestBeneficiaryEntityAttribute> childAttributesList = new ArrayList<RequestBeneficiaryEntityAttribute>();
    childAttributesList.add(this.getAttr("Application Name", "3~555"));
    childAttributesList.add(this.getAttr("Responsibility Name", "3~555~22862"));
    childAttributesList.add(this.getAttr("Security Group", "3~0"));
    mid1.setChildAttributes(childAttributesList);
    mid1.setAction(RequestBeneficiaryEntityAttribute.ACTION.Add);
    entityAttrList = new ArrayList<RequestBeneficiaryEntityAttribute>();
    entityAttrList.add(parantAttr);
    entityAttrList.add(mid1);
    But when I try to run this, it is getting failed saying "RequestServiceException: IAM-2050033:Invalid attribute name null. No corresponding reference was found in the data set ProvisionResourceOracle eBusiness Responsibility".
    Here is my request data set for your reference.
    <AttributeReference name="eBusiness Suite Instance Name" attr-ref="eBusiness Suite Instance Name" type="Long" length="50" widget="itresource-lookup" required="true" available-in-bulk="true" itresource-type="eBusiness Suite UM"/>
    <AttributeReference available-in-bulk="true" length="10" widget="text" type="String" attr-ref="UD_EBH_RSCP" name="EBS HR Foundation User Responsibilities">
    <AttributeReference name="Application Name" attr-ref="Application Name" type="String" length="256" widget="lookup-query" available-in-bulk="true" required="true">
    <lookupQuery lookup-query="select lkv_encoded as Value,lkv_decoded as Description from lkv lkv, lku lku where lkv.lku_key=lku.lku_key and lku_type_string_key='Lookup.EBS.Application' and lkv_encoded like concat('$Form data.eBusiness Suite Instance Name', '~%')" display-field="Description" save-field="Value"/>
    </AttributeReference>
    <AttributeReference name="Responsibility Name" attr-ref="Responsibility Name" type="String" length="256" widget="lookup-query" available-in-bulk="true" required="true" primary="true">
    <lookupQuery lookup-query="select lkv_encoded as Value,lkv_decoded as Description from lkv lkv,lku lku where lkv.lku_key=lku.lku_key and lku_type_string_key='Lookup.EBS.Responsibility' and lkv_encoded like concat('$Form data.Application Name','~%')" display-field="Description" save-field="Value"/>
    </AttributeReference>
    <AttributeReference name="Security Group" attr-ref="Security Group" type="String" length="256" widget="lookup-query" available-in-bulk="true" required="true">
    <lookupQuery lookup-query="select lkv_encoded as Value,lkv_decoded as Description from lkv lkv, lku lku where lkv.lku_key=lku.lku_key and lku_type_string_key='Lookup.EBS.SecurityGroup' and lkv_encoded like concat('$Form data.eBusiness Suite Instance Name', '~%')" display-field="Description" save-field="Value"/>
    </AttributeReference>
    I am not sure why it is not referencing to the attribute. In your blog, it is saying your code is to set process form. But i am trying to create a request using API's. so, I need some code snippet to populate request dataset. Do you think, this will serve both?
    Thanks for your help.

  • How to get details of Pending Approval request in OIM 11g R2?

    Hi,
    We need to find out following details from Pending Approval Request in OIM 11g R2 -
    Request ID,Assignees,Requested Resource Name, Title of Request, Beneficiary, Status of Request.
    Out of above attributes we could find out Assignees, Title of Request, Status of Request, Beneficiary, etc. But we are not getting Request ID and Requested Resource Name.
    We have used API - 'IworkflowServiceClient'
    If we use API - 'RequestService' then we are not getting Assignees and Resource name from Pending approval request.
    Can any one suggeste how can we get these details? Do we need to use other API or other alternative to get all of attributes from Pending Approval Request.
    Thanks.

    Thanks Kevin for your suggestion.
    In OIM 11g R2 I tried task.getIdentificationKey() to get Request ID and task.getSystemMessageAttributes().getTextAttribute6() to get requested resource name but I am getting null values out of it. Is there something I am missing?
    Which common thing I can use to retrieve data from both OIM and SOAINFRA? As I am not getting Request ID from 'IworkflowServiceClient' API so I could not use it to earch request in OIM using 'RequestService'. Even if I have to use query what will be common thing I can use to fetch data from both tablespaces?
    Thanks.

  • Unable to invoke Custom PostProcessEventHandler in OIM 11g R2

    Hi,
    I am working with OIM 11g R2 .I created an custom PostProcessEventHandler to trigger on modify user operation.
    I created a jar file of custom class as xyz.jar
    I created an plugin.xml as:
    <?xml version="1.0" encoding="UTF-8"?>
    <oimplugins>
    <plugins pluginpoint="oracle.iam.platform.kernel.spi.EventHandler">
    <plugin pluginclass="com.xyz.DisablePostProcessEventHandler" version="1.0" name="DisablePostProcessEventHandler">
    </plugin>
    </plugins>
    </oimplugins>
    I made an xyz.zip of plugin.xml and lib/xyz.jar
    I registered the xyz.zip by placing zip file in plugins directory.
    I created an EventHandlers.xml as below:
    <?xml version='1.0' encoding='utf-8'?>
    <eventhandlers xmlns="http://www.oracle.com/schema/oim/platform/kernel"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.oracle.com/schema/oim/platform/kernelorchestration-handlers.xsd">
    <!-- Custom postprocess event handlers -->
    <action-handler
    class="com.xyz.DisablePostProcessEventHandler" entity-type="User" operation="MODIFY" name="DisablePostProcessEventHandler" stage="postprocess" order="9999" sync="TRUE"/>
    </eventhandlers>
    and placed in the path temp/metadata/user/custom/CustomPostProcessHandler and imported it to MDS.
    I purged the cache as ./PurgeCache MetaData.
    When i am trying to modify user i am getting error as below:
    [WARNING] [] [oracle.adf.controller.faces.lifecycle.Utils] [tid: [ACTIVE].ExecuteThread: '7' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: xelsysadm] [ecid: 0000JqaUC9MDoYO_qh5EiY1HJuY90001ve,0] [APP: oracle.iam.console.identity.self-service.ear#V2.0] ADF: Adding the following JSF error message: Localized message not available. Error returned is: JBO-29000: Unexpected exception caught: java.lang.NullPointerException, msg=null[[
    oracle.jbo.JboException: JBO-29000: Unexpected exception caught: java.lang.NullPointerException, msg=null
    at oracle.adf.model.binding.DCInvokeMethod.invokeMethod(DCInvokeMethod.java:699)
    at oracle.adf.model.binding.DCDataControl.invokeMethod(DCDataControl.java:2143)
    at oracle.adf.model.bc4j.DCJboDataControl.invokeMethod(DCJboDataControl.java:3114)
    at oracle.adf.model.binding.DCInvokeMethod.callMethod(DCInvokeMethod.java:261)
    at oracle.jbo.uicli.binding.JUCtrlActionBinding.doIt(JUCtrlActionBinding.java:1635)
    at oracle.adf.model.binding.DCDataControl.invokeOperation(DCDataControl.java:2150)
    at oracle.jbo.uicli.binding.JUCtrlActionBinding.invoke(JUCtrlActionBinding.java:740)
    at oracle.adf.controller.v2.lifecycle.PageLifecycleImpl.executeEvent(PageLifecycleImpl.java:402)
    at oracle.adfinternal.view.faces.model.binding.FacesCtrlActionBinding._execute(FacesCtrlActionBinding.java:252)
    at oracle.adfinternal.view.faces.model.binding.FacesCtrlActionBinding.execute(FacesCtrlActionBinding.java:210)
    at oracle.iam.ui.platform.utils.FacesUtils.executeOperationBinding(FacesUtils.java:165)
    Caused by: java.lang.NullPointerException
    at oracle.iam.request.impl.RequestEngine.startOrchestrationFromPreProcess(RequestEngine.java:5385)
    at oracle.iam.request.impl.RequestEngine.triggerOperation(RequestEngine.java:5297)
    at oracle.iam.request.impl.RequestEngine.doOperation(RequestEngine.java:5028)
    at oracle.iam.impl.OIMServiceImpl.doOperation(OIMServiceImpl.java:43)
    at sun.reflect.GeneratedMethodAccessor2994.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 $Proxy384.doOperation(Unknown Source)
    at oracle.iam.api.OIMServiceEJB.doOperationx(Unknown Source)
    at sun.reflect.GeneratedMethodAccessor4224.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    ## Detail 0 ##
    java.lang.NullPointerException
    at oracle.iam.request.impl.RequestEngine.startOrchestrationFromPreProcess(RequestEngine.java:5385)
    at oracle.iam.request.impl.RequestEngine.triggerOperation(RequestEngine.java:5297)
    at oracle.iam.request.impl.RequestEngine.doOperation(RequestEngine.java:5028)
    at oracle.iam.impl.OIMServiceImpl.doOperation(OIMServiceImpl.java:43)
    at sun.reflect.GeneratedMethodAccessor2994.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 $Proxy384.doOperation(Unknown Source)
    at oracle.iam.api.OIMServiceEJB.doOperationx(Unknown Source)
    at sun.reflect.GeneratedMethodAccessor4224.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
    at com.bea.core.repackaged.springframework.aop.support.Deleg
    Please help me in resolving this issue.

    Hi Suny,
    Yes I restarted the OIM Server but getting same error.
    I have logger in my code and and nothing is getting printed thet menas the code is not getting invoked itself.
    My eventhandler is for postprocess and I am not understanding why i am getting PreProcess error.
    java.lang.NullPointerException
    at oracle.iam.request.impl.RequestEngine.startOrchestrationFromPreProcess(RequestEngine.java:

  • Auto approval for self registration request in OIM 11G R2

    Hi all,
    We have a requirement where we want end users to be able to self-register without needing any sort of approval. We are using OIM 11G R2 with the latest patchset.
    The way to do it in 11G R1 is explained in the following document:
    [http://docs.oracle.com/cd/E21764_01/doc.1111/e14316/unauth_selfservice.htm#BABFEIBF]
    But now that R2 does not have any request templates, we are not sure how to do this. Any help will be greatly appreciated. Thanks for your time.
    -sandeepc

    refer this.
    Configuring Auto-Approval for Self-Registration - Fails due to Organisation

  • How to use the RequestService API to create request in OIM 11g

    Hi Guys,
    We are trying to build a custom ADF app (Request Forms) to allow users to request access to resources. We want to use the OIM RequestService APIs (oracle.iam.request.api.RequestService).
    We can't seem to find a proper guide to use this service.
    Is there anyone who has done this or know how we can achieve this in OIM 11g?
    Thanks in advance
    Tav

    Try here
    http://java.net/projects/openptk/sources/svn/show/branches/Oracle/OIM11g/examples/java?rev=1313
    Fred

  • Creating a Request via OIM 11g API

    I'm trying to create a request in OIM using the API. I found this post ( OIM 11g - Setting Process Form Data through Request API ) which has the code to do it but I'm getting an error:
    Here is what I have
    OIMClient client = getOIMClient(url, username, password);
          long resKey = 0L;
          String str = null;
          String resourceKey = null;
          Map<String, String> searchMap = new HashMap<String, String>();
          tcResultSet resultSet = null;
          RequestData requestData = null;
          Beneficiary beneficiary = null;
          RequestBeneficiaryEntity entity = null;
          List<Beneficiary> beneficiaryList = new ArrayList<Beneficiary>();
          List<RequestBeneficiaryEntity> entityList = null;
          List<RequestBeneficiaryEntityAttribute> entityAttrList = null;
          String RESOURCE = "TESTRESOURCE_GTC";
          tcITResourceInstanceOperationsIntf operations = client.getService(tcITResourceInstanceOperationsIntf.class);
          Map<String, String> conditions = new HashMap<String, String>();
          conditions.put("IT Resources.Name", "TESTRESOURCE_GTC");
          resultSet = operations.findITResourceInstances(conditions);           
          resKey = resultSet.getLongValue("IT Resource.Key");
          resourceKey = Long.toString(resKey);
          RequestBeneficiaryEntityAttribute parantAttr = new RequestBeneficiaryEntityAttribute();
          parantAttr.setType(TYPE.String);
          parantAttr.setName("Title");
          parantAttr.setValue("Mr.");
          entityAttrList = new ArrayList<RequestBeneficiaryEntityAttribute>();
          entityAttrList.add(parantAttr);
          entity = new RequestBeneficiaryEntity();
          entity.setEntityKey(resourceKey);
          entity.setEntityType(RequestConstants.RESOURCE);
          entity.setEntitySubType(RESOURCE);
          entity.setEntityData(entityAttrList);
          entityList = new ArrayList<RequestBeneficiaryEntity>();
          entityList.add(entity);
          System.out.println("*********** USR KEY" + usrKey);
          beneficiary = new Beneficiary();
          beneficiary.setBeneficiaryType(Beneficiary.USER_BENEFICIARY);
          beneficiary.setBeneficiaryKey(usrKey);
          beneficiary.setTargetEntities(entityList);
          beneficiaryList.add(beneficiary);
          requestData = new RequestData();
          requestData.setRequestTemplateName("Self-Request Resource");
          requestData.setJustification("Test");
          requestData.setBeneficiaries(beneficiaryList);
          UnauthenticatedRequestService reqsrvc = client.getService(UnauthenticatedRequestService.class);
          str = reqsrvc.submitRequest(requestData);
          System.out.println("Value from submitRequest : '" + (str != null ? str : null) + "'");I'm getting
    <Feb 14, 2012 4:53:24 PM EST> <Error> <oracle.iam.request.impl> <IAM-2050128> <Invalid beneficiary key was specified for Self-Request. >
    oracle.iam.request.exception.InvalidRequestDataException: IAM-2050128:Invalid beneficiary key was specified for Self-Request.
    I can see that USER KEY is getting populated.
    Edited by: DJ on Feb 14, 2012 4:59 PM
    Edited by: DJ on Feb 14, 2012 5:00 PM

    While creating a request to provision iPlanet User one of the errors I was getting:
    oracle.iam.request.exception.RequestServiceException: IAM-2050061:Type mismatch for the attribute Server. The type passed is String, but the corresponding type in the data set is Long.:Server:String:Long
    So I replaced the value of the attribute Server to the IT Resource.Key which is 5. After making the changes, it goes through approvals with no problems, but when I approve all the work items, it errors out with an error:
    Error occurred while provisioning resource with key 45 to user 5
    User Key is 45 and Resource Key is 5. I'm not sure why it swapped it.
    Here is the code I'm using:
    public static void createRequest(String userLogin, String templateName, String resourceName, HashMap<String, Object> attrs, OIMClient client) {
        try {
          String usrKey = searchUserByLogin(userLogin, client).get(0).getId();
          long resKey = 0L;
          String str = null;
          String resourceKey = null;
          Map<String, String> searchMap = new HashMap<String, String>();
          tcResultSet resultSet = null;
          RequestData requestData = null;
          Beneficiary beneficiary = null;
          RequestBeneficiaryEntity entity = null;
          List<Beneficiary> beneficiaryList = new ArrayList<Beneficiary>();
          List<RequestBeneficiaryEntity> entityList = null;
          List<RequestBeneficiaryEntityAttribute> entityAttrList = new ArrayList<RequestBeneficiaryEntityAttribute>();
          tcITResourceInstanceOperationsIntf operations = client == null ? Platform.getService(tcITResourceInstanceOperationsIntf.class) : client.getService(tcITResourceInstanceOperationsIntf.class);
          Map<String, String> conditions = new HashMap<String, String>();
          conditions.put("IT Resources.Name", resourceName);
          resultSet = operations.findITResourceInstances(conditions);
          resKey = resultSet.getLongValue("IT Resource.Key");
          resourceKey = Long.toString(resKey);
          for (String attr : attrs.keySet()) {
            RequestBeneficiaryEntityAttribute parantAttr = new RequestBeneficiaryEntityAttribute();
            if (attrs.get(attr) instanceof String) {
              parantAttr.setType(TYPE.String);
              parantAttr.setName(attr);
              parantAttr.setValue(String.valueOf(attrs.get(attr)));
              entityAttrList.add(parantAttr);
            } else if (attrs.get(attr) instanceof Long) {
              parantAttr.setType(TYPE.Long);
              parantAttr.setName(attr);
              parantAttr.setValue(String.valueOf(attrs.get(attr)));
              entityAttrList.add(parantAttr);
            } else {
              // do nothing
          entity = new RequestBeneficiaryEntity();
          entity.setEntityKey(resourceKey);
          entity.setEntityType(RequestConstants.RESOURCE);
          entity.setEntitySubType(resourceName);
          entity.setEntityData(entityAttrList);
          entityList = new ArrayList<RequestBeneficiaryEntity>();
          entityList.add(entity);
          beneficiary = new Beneficiary();
          beneficiary.setBeneficiaryType(Beneficiary.USER_BENEFICIARY);
          beneficiary.setBeneficiaryKey(usrKey);
          beneficiary.setTargetEntities(entityList);
          beneficiaryList.add(beneficiary);
          requestData = new RequestData();
          requestData.setRequestTemplateName(templateName);
          requestData.setJustification("Test");
          requestData.setBeneficiaries(beneficiaryList);
          System.out.println("Resource Keys " + resKey + " " + resourceKey);
          System.out.println("User Key " + usrKey);
          RequestService reqsrvc = client == null ? Platform.getService(RequestService.class) : client.getService(RequestService.class);
          str = reqsrvc.submitRequest(requestData);
          System.out.println("Value from submitRequest : '" + (str != null ? str : null) + "'");
        } catch (Throwable t) {
          t.printStackTrace();
      }Edited by: DJ on Feb 16, 2012 5:01 PM

  • How to search any user while raising a request in OIM 11g

    Hello,
    In OIM 11g request access screen, How to search any user while trying to raise a request for access ?
    Currently when I login to OIM 11g with my id then I can search only my subordinates not all the users present in OIM.
    I know this comes by default with OIM 9.1.0.2, not sure any configuration changes required for OIM 11g ?
    Pls help me if you have any information on that.
    Thanks!!

    Thanks Rajiv, I did as you told .
    I created new Authorization Policy name called "Test Policy"
    Entity Name: User Management
    Permission Name: Search User
    Data Constraints: All Users
    Assign By Role: ALL USERS
    After that when I login as a end user and click search, It does not serach for any users.
    Could you pls pls let me know if i am missing anything or anything wrong?
    Thansk again.

  • Adding Custom Tab in OIM 11g  Self Service Page

    Hi All,
    I have to add a custom tab in oim self service page and when i click on that tab it should show two tab like "Search Resource" and "User Info" and when i click on "Search Resource"
    it should show Resources list and when i click on User Info tab it should show the all the attribute of user.
    Please help me how i can do it.
    thanks,

    For OIM 11g R2, we don't have any composer and all. You need to understand the OIM UI then you need to proceed with Customization.
    Steps:
    http://www.oracle.com/webfolder/technetwork/tutorials/obe/fmw/oim/oim_11g/customize_oim_ui_selfservice_tabs/customize_oim_ui_selfservice_tabs.htm
    Pointers: http://docs.oracle.com/cd/E23943_01/doc.1111/e14309/uicust.htm#BABIGCJA

  • Add more user attriburte in template OIM 11g

    hi guru's
    i'm create new attribute user attribute(user configuration) in Basic information. the name is role, display type is LOV.
    but when i created template request type "Create User" why the new attribute can't show in Attribute Restrictions.
    and when i trying my template request "Create User" . the new attribute can't show ?
    how to show or how to add more new user attribute in my template request type "Create User" ?
    thank's
    darvesth

    Hi Rajiv,
    Thanks for the information. It did resolve the issue.
    However, I have another query. Was their any reason for setting the max limit of roles in request template to 300? Will their be any issues(like system unstability, system performance drop) if the limit is increased?

  • Customizing UI of OIM 11g

    we have created a request template...for creating a contractor by HR admin... when HR admin logs in he should only be seeing self-service console and when he chooses respective template the UI should not show justification page .....
    as of now we have created an auth policy fro HR Admin role but still it displays admin and advanced admin tab..
    our requirement is when HR admin logs in he should only see self-service console and request template shouldn't have justification page..
    appreciate ur responses

    For justification there is a special property in 11.1.1.5 BP2 where you can disable the justification. As for the tabs you will have to play around with permissions and capabilities.
    -Bikash

  • Error when approving the request in OIM 11g R2

    I have a catalog item for iPlanet User resource setup to go for beneficiary manager approval. On the approval window, when the manager approves the request, OIM tries to forward to the url /identity/face which throws an generic error saying "identity" page doesnt exist because it doesn't get resolved as hostname.
    I have another OIM instance where the popup window just disappears when the approval button is clicked. I'm not sure what the default behavior is. In R1, it used to get a OIM alert box notifying that the request was approved/rejected.
    I'm getting these errors in the logs when I approve/reject
    The parent-organization-chain is empty for the organization list
    Edited by: DJ on Jan 16, 2013 10:44 AM
    Edited by: DJ on Jan 16, 2013 2:36 PM

    I scooped the requests when I hit the approve button, it hits the 302 - Page moved Temporarily
    Here is is the request looks like for the working instance:
    <html><head><title>302 Moved Temporarily</title></head>
    <body bgcolor="#FFFFFF">
    <p>This document you requested has moved temporarily.</p>
    <p>It's now at <a href="http://oim1:14000/identity/faces/adf.task-flow-return?_adf.ctrl-state=zjh4didfg_105&amp;adf.tfDoc=%2FWEB-INF%2FApprovalTask_TaskFlow.xml&amp;adf.tfId=ApprovalTask_TaskFlow&amp;_task-flow-outcome=done&amp;_afrLoop=20671600459024">http://oim1:14000/identity/faces/adf.task-flow-return?_adf.ctrl-state=zjh4didfg_105&amp;adf.tfDoc=%2FWEB-INF%2FApprovalTask_TaskFlow.xml&amp;adf.tfId=ApprovalTask_TaskFlow&amp;_task-flow-outcome=done&amp;_afrLoop=20671600459024</a>.</p>
    </body></html>Here is the broken instance:
    <html><head><title>302 Moved Temporarily</title></head>
    <body bgcolor="#FFFFFF">
    <p>This document you requested has moved temporarily.</p>
    <p>It's now at <a href="http://identity/faces/adf.task-flow-return?_adf.ctrl-state=1acvf8c9l_101&amp;adf.tfDoc=%2FWEB-INF%2FApprovalTask_TaskFlow.xml&amp;adf.tfId=ApprovalTask_TaskFlow&amp;_task-flow-outcome=done&amp;_afrLoop=16835862702848">http://identity/faces/adf.task-flow-return?_adf.ctrl-state=1acvf8c9l_101&amp;adf.tfDoc=%2FWEB-INF%2FApprovalTask_TaskFlow.xml&amp;adf.tfId=ApprovalTask_TaskFlow&amp;_task-flow-outcome=done&amp;_afrLoop=16835862702848</a>.</p>
    </body></html>Working code has the hostname:port - oim1:14000 as part of the URL but the second one does not have it. Does anyone know where this URL setting is stored?
    Thanks
    Edited by: DJ on Jan 16, 2013 2:34 PM
    Edited by: DJ on Jan 16, 2013 2:35 PM

Maybe you are looking for

  • [SOLVED] Suspend to ram / disk not working in newer kernels

    Hi all, this puzzles me for a while: My desktop system was able to suspend to ram / disk flawlessly in older kernels. It stopped working with 3.3. The suspend seems to work, the machine goes to standby. But when I try to resume, the machines is on bu

  • Flex 3 gallery

    Hi, i have my xml file to get the photos into flex gallery. when i click on one of the photos they will be shown in a bigger image. what i would like to know is how i can have one of the picture in the image from the beginning? lets say it starts wit

  • Too many files in root directory. How to split them up?

    Hi, I made my site http://isuckatgolf.net in Dreamwever cs3. Having no idea what I was doing when I started 5 years ago all images and pages have been uploaded directly to the root folder/directory. My host GoDaddy.com just sent me a notice that I'm

  • Does the dot1q native VLAN need to be defined on the switch?

    I understand the issues with using VLAN 1 as the native VLAN on a dot1q trunk. I follow best practices and change the native VLAN to a VLAN that does not carry any other traffic (switchport trunk native vlan x). I usually go a step further and do not

  • Sybase ASE 15.7 ESD#4

    Hi, I have to automate the installation of the Sybase Adaptive Server Enterprise (ASE) client on Windows 8.1 64 bits.   The developer gave me a CD from which to run the installation but I don't how to verify that I am indeed running ESD#4. From other