Oim 11g R2 request submisson through code

Hi All,
I have written a custom code for submitting the request from client using the following program.
private RequestData buildappinstance(Catalog item,String userLogin)
  UserManager userService = oimClient.getService(UserManager.class);
  User user=null;
  try{
  user=userService.getDetails(userLogin, null, true);
  }catch(Exception e){
  e.printStackTrace();
  throw new RuntimeException(e.getMessage(),e);
  RequestData reqData=new RequestData();
  Beneficiary ben= new Beneficiary();
  String userkey=user.getId();
  System.out.println("userkey");
  ben.setBeneficiaryKey(userkey);
  ben.setBeneficiaryType(Beneficiary.USER_BENEFICIARY);
  RequestBeneficiaryEntity reqent=new RequestBeneficiaryEntity();
  /*reqent.setRequestEntityType(OIMType.ApplicationInstance);*/
  reqent.setEntitySubType(item.getEntityName());
  reqent.setEntityKey(item.getEntityKey());
  reqent.setOperation(RequestConstants.MODEL_PROVISION_APPLICATION_INSTANCE_OPERATION);
  List<RequestBeneficiaryEntity> entities=new ArrayList<RequestBeneficiaryEntity>();
  entities.add(reqent);
  ben.setTargetEntities(entities);
  List<Beneficiary> benfs=new ArrayList<Beneficiary>();
  benfs.add(ben);
  reqData.setBeneficiaries(benfs);
  return reqData;
public static void main(String args[]) {
List moList = null;
try {
Sample oimSample = new Sample();
// initialize resources
oimSample.init();
// retrieve User logins with first name 'Joe'
moList=oimSample.getUserLogin("joe");
Catalog item = new Catalog();
item.getEntityName();
ApplicationInstance appInst= new ApplicationInstance();
RequestService reqsrvc = oimClient.getService(RequestService.class);
RequestData reqData=new RequestData();
ApplicationInstanceService appInstAPI = (ApplicationInstanceService)oimClient.getService(ApplicationInstanceService.class);
SearchCriteria appInstSearchCriteria = new SearchCriteria(AccountSearchAttribute.APPINST_NAME.getId(),"app2",SearchCriteria.Operator.EQUAL);
List<ApplicationInstance> appInstList = appInstAPI.findApplicationInstance(appInstSearchCriteria, null);
appInst = appInstList.get(0);
System.out.println("appinstancekey"+appInst.getApplicationInstanceKey());
System.out.println("appinstance name"+appInst.getApplicationInstanceName());
System.out.println(appInst.getItResourceKey());
item.setEntityKey("2");
item.setEntityName("app2");
System.out.println("entity key"+item.getEntityKey());
System.out.println("userlogin......"+userLogin);
reqData=oimSample.buildappinstance(item,userLogin);
reqsrvc.submitRequest(reqData);
System.out.println("request has been submitted");
System.out.println("appinastance has been created");
But getting the following error.
oracle.iam.request.exception.RequestServiceException: Request submission failed with Error getCacheEntry called with an empty or null key.
Caused by: oracle.iam.request.exception.RequestServiceException: Request submission failed with Error getCacheEntry called with an empty or null key.
when Iam writing the following statement
/*reqent.setRequestEntityType(OIMType.ApplicationInstance);*/ which is bold in the above code
getting the error
The method setRequestEntityType(OIMType) in the type RequestBeneficiaryEntity is not applicable for the arguments (OIMType)
Please help me out.
This is urgent.
Thanks.

Can you please confirm your OIMType class belongs to "oracle.iam.platform.utils.vo.OIMType" and not oracle.iam.catalog.vo.OIMType.

Similar Messages

  • OIM 11g R2 -Updating UDF through code

    Hi,
    I am using the below code to update the UDF and getting "oracle.iam.identity.exception.ValidationFailedException: IAM-3056160:Modify User Profile request cannot set or change attribute USR_UDF_TEMPUSERNAME, since it is not defined in the corresponding data set.:Modify User Profile:USR_UDF_TEMPUSERNAME"
    UserManager usrMgr = Platform.getService(UserManager.class);
    System.out.println("User Key :: "+usrKey);
    HashMap<String, Object> attrMap = new HashMap<String, Object>();
    attrMap.put("USR_UDF_TEMPUSERNAME",attrValue);
    User user = new User(String.valueOf(usrKey), attrMap);
    UserManagerResult result = usrMgr.modify("User Login", usrLogin, user);
    Can some one please help me out on this.
    Thanks

    Hi Rajiv,
    I quite did not get your question. Here is the code:
    Long usrKey = getUserKey(usrLogin); //usrLogin is of the user whose attribute is to be updated
    UserManager usrMgr = Platform.getService(UserManager.class);
    HashMap<String, Object> attrMap = new HashMap<String, Object>();
    String attrName = "TempUserName";
    String attrValue = "TestUser1";
    attrMap.put(attrName,attrValue);
    User user = new User(String.valueOf(usrKey), attrMap);
    UserManagerResult result = usrMgr.modify("User Login", usrLogin, user);
    Thanks

  • OIM 11g R1 Request Template issue

    Hi All,
    We are facing an issue with implementing the Request Management of OIM 11g R1 11.1.1.5 for Create User.
    OIM already provides OOTB CreateUserDataSet.xml and a ‘Create User’ Request Template.
    We have changed(customized) the OOTB CreateUserDataSet.xml at the same location in MDS and have created one our own Request Template – ‘Create Custom’.
    We have also added Attribute Restrictions in the ‘Create Custom’  request template for mandatory fields like – ‘Organization’, ‘User Type’ & ’Design Console Access’.
    The issue we are facing is –“After some time(not immediately) the Request Template gets corrupt and does not open thus rendering the Request Process for Create User inoperable.”
    Below is the the log error of the OIM Web console error after we are trying to open ‘Create Custom’ by clicking on the Request Template.
    <ADF_FACES-60096:Server Exception during PPR, #8
    oracle.iam.platform.utils.MinLimitException: size < minimum limit
                    at oracle.iam.platform.canonic.model.Values.setMinLimit(Values.java:187)
                    at oracle.iam.requesttemplate.agentry.operations.OpenActor.renderAttributeRestrictionsTab(OpenActor.java:829)
                    at oracle.iam.requesttemplate.agentry.operations.OpenActor.prepare(OpenActor.java:198)
                    at oracle.iam.consoles.faces.utils.CanonicUtils.prepareOperation(CanonicUtils.java:169)
                    at oracle.iam.consoles.faces.utils.CanonicUtils.prepareOperation(CanonicUtils.java:179)
                    at oracle.iam.consoles.faces.render.canonic.UICursor$TableActionListener.processAction(UICursor.java:855)
                    at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)
    Any help in solving above issue, workarounds or knowing that is it an OIM bug will be greatly helpful.
    Note* I have noticed(through Export) that in a corrupted Request Template the Organization Name that I have restricted to a Constant, has the- Organization Name's Text as value in exported xml. If I change it back to ACT KEY and import it back in OIM the Template is again restored until next corruption
    Thanks already
    Regards,
    Nitin Tewari

    Excellent! Thank you very much!
    Edited by: 958794 on May 22, 2013 10:37 AM

  • OIM 11g R1 - Request Type Description Customization (Translation)

    Hello Experts,
    I'd like a little help to know if it is possible to customizate the following:
    OIM is using Browser locale to change the language on Web Console.
    Does any one know how to change the translation to the Request Type description (the list from where we need to choose) when we are creating a Request?
    Example:
    Self-Request Resource = Recurso de Auto-Solicitação (in Brasilian Portuguese - we'd like to change it)
    Self De-Provision Resource = Autocancelar Provisionamento de Recurso (in Brasilian Portuguese - we'd like to change it)
    We work with OIM 11g R1.
    Thanks.

    Excellent! Thank you very much!
    Edited by: 958794 on May 22, 2013 10:37 AM

  • OIM 11g R2 - Request ID while submitting catalog

    Hi,
    May I know how I can make OIM to generate a request ID (in other words,OIM through request approval flow) ,while submitting a provisioning request through a catalog?.Thanks.

    login as an end user and request for account. Request Id will be generated automatically.
    In case of R2 , if you raise request using admin user(xelsysadm--SYSTEM ADMINISTRATOR) it act as direct provisioning. therefore no such request will be generated. If you raise request using end user, request ID will be generated.
    All this decision taken by catalog engine.

  • How to display Checkbox instead dropdown in OIM 11g using request dataset

    Hello,
    I am trying to display as check boxes instead of dropdown in requestor screen using request dataset.
    It still shows dropdown. Here is my request dataset.
    Is there anything wrong??
    <?xml version='1.0' encoding='UTF-8'?>
    <request-data-set xmlns="http://www.oracle.com/schema/oim/request" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" operation="PROVISION" entity="ACCOUNTING CONTROL" name="ProvisionResourceACCOUNTING CONTROL" xsi:schemaLocation="http://www.oracle.com/schema/oim/request">
    <AttributeReference available-in-bulk="true" length="20" widget="*checkbox*" type="*Boolean*" attr-ref="Instance" name="Instance" required="true">
    <lookupValues encoded-value="Dev" decoded-value="ACCOUNTING CONTROL (DEV)"/>
    <lookupValues encoded-value="QA" decoded-value="ACCOUNTING CONTROL (QA)"/>
    <lookupValues encoded-value="PRD" decoded-value="ACCOUNTING CONTROL (PRD)"/>
    </AttributeReference>
    </request-data-set>
    Thanks!!!

    What are you trying to achieve here? If you are using checkboxes than you can't have multiple options to it but would rather have to put static values.
    Something like:
    <AttributeReference name="Field1" attr-ref="Dev" available-in-bulk="false" type="Boolean" length="30" widget="checkbox" required="false"/>
    <AttributeReference name="Field2" attr-ref="QA" available-in-bulk="false" type="Boolean" length="30" widget="checkbox" required="false"/>
    <AttributeReference name="Field3" attr-ref="PRD" available-in-bulk="false" type="Boolean" length="30" widget="checkbox" required="false"/>
    AFAIK OIM does not allow for a multiselect box in dataset.
    -BB

  • OIM 11g R2 -Request Data

    Hi,
    We have users being reconciled from a flat file and we have a post eventhandler that raise a resource request (AD, Exchange) for all the users being on-boarded. Now the requester is coming in as OIMINTERNAL instead of the user, where should we change in OIM to say the actual requester is the user instead of OIMINTERNAL?//
    Thanks.

    It seems that you are using Platform.getService to get RequestService. It will give you OIMINTERNAL only.
    If you want to use some other user then you'll have to use external method to get UtilityFactory or Request Service i.e. PrivateKey, UserName/Password etc but that is not recommended.

  • 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

  • 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.

  • OIM 11g R2 Group Membership

    Hi All,
    In OIM 11g R2, when i try to manually add a user to a group (custom or OOTB), i do not see the "Assign" button active and with the absence of the assign button, i could not assign a new user to the group. But, I can see that the Create Rule option is active.
    Does this mean that the group membership in OIM 11g can only happen through Group membership rule satisfaction?
    Please help.
    Thanks,
    Srini

    You can manually add an user to a role in OIM 11gR2. Open identity console --> Click on Roles--> Search
    You will get all the roles listed. Select the role to which you want to add a member. Assign tab will be visible under the Members panel layout in the bottom frame.
    When you click on assign the request catalog opens with the selected target user and the role. You can change the target user or add another target user.
    Then click on submit.
    If this process is done through sysadmin login then directly the member is assigned to the role
    Else it will create a request and after approval is completed the member will be assigned to the role.

  • Creating approver only field in OIM 11g R2

    Hi,
    I need to create some fields in OIM 11g R2 request data set, so that those field will be visible only to approvers and they can only enter the data into it.
    In 11g R1 I know how to create those field, but I don't know how to create the same type of field in OIM 11g R2.
    Please help

    Hi ,
    Thanks for your reply .. I am able to understand the scenario what you are trying to explain .. I tried to do the same ...but in my scenario ,this is the problem that I am facing ..
    1)When a user modifies only his First Name then it works fine and gets auto approved .
    2)When a user modifies only his Last Name then it works fine and goes for approval and waits till it gets approved.
    3)Now the problem is when a user modifies both his First Name and Last Name and submits as a single request , how to handle this ? In this case the First Name should get committed and the Last Name should not get committed .. But he has submitted only a single request .. so how to handle this scenario ?How to divide a single request into two to commit one attribute and not commit another one ?

  • 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

  • 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.

  • Creating a request type in OIM 11g R2

    Hi All,
    I came to know that the request templates have been removed from OIM 11g R2 . I have the below scenario,
    1)When an end user logs into Identity console and access his self profile through the 'My Information' link.
    2)If he tries to modify some of his attributes(say First Name) the approval policy should not get triggered and should be auto approved and committed to the database
    3)For some of the attributes(say Last Name) approval policy has to be triggered and request has to be created and wait for the approval .
    4)Now that request templates are removed , Can I create a new request type like 'Modify Custom attributes' similar to 'Modify User Profile' for this scenario to be achieved ?
    Please let me know how the above scenario is going to work in OIM 11g R2 ?
    Regards,
    Senthil.

    Hi ,
    Thanks for your reply .. I am able to understand the scenario what you are trying to explain .. I tried to do the same ...but in my scenario ,this is the problem that I am facing ..
    1)When a user modifies only his First Name then it works fine and gets auto approved .
    2)When a user modifies only his Last Name then it works fine and goes for approval and waits till it gets approved.
    3)Now the problem is when a user modifies both his First Name and Last Name and submits as a single request , how to handle this ? In this case the First Name should get committed and the Last Name should not get committed .. But he has submitted only a single request .. so how to handle this scenario ?How to divide a single request into two to commit one attribute and not commit another one ?

  • Customizing Request Application Flows in OIM 11g?

    To all:
    I'm trying to work through a scenario using Request Templates - I'm not sure that this approach is possible using configuration approaches and wanted to see if anyone has any useful feedback. First, let me describe the problem I'm attempting to solve:
    - The users who will be using self-service will be somewhat restricted on what they can do: basically, once they have an account in OIM (this is 'automatic' from a reconciliation - there's no self-registration or user creation) they can request access to a small number of applications.
    The ideal flow that we would like to follow is:
    Step 1: Log in to OIM.
    Step 2: Create Request
    Step 3: Select the Application for requested access and the requested role.
    Step 4: Enter an effective date and justification.
    Step 5: Submit
    ... something 'application focused', not 'resource focused' as the end user community is not particularly aware (nor do they really need to be) about the details of how a user is authenticated.
    I can get 'close' to this using a request template, with this flow:
    Step 1: Log in to OIM
    Step 2: Create a request.
    Step 3: Select a Request Template. (I named the template after the application - "Select App Account")
    Step 4: Select Your Resource (only one in this case - restricted to "AD User")
    Step 5: Enter information about the AD account. (I can restrict this down to only allow for group selection, which is great.)
    Step 6: Enter effective date, justification
    Step 7: Submit
    So the only thing I'd really like to 'skip' (or somehow default) is the selection of a resource and skip that step - because the template only allows for a single selection anyway, and having an extra step with a single selection that may only muddle the process would be detrimental to the usability of the request.
    Is this a modification that we can make to the request flow ("If only one resource, default and move on") - or will we need to create some form of customized request process using the APIs?
    I've dug into the JSF navigation in the iam-console-faces WAR file; it seems that navigation is tied up in the backing beans - has anyone else used Request Templates to meet this type of need?
    My thanks in advance for any insight you can provide!

    Dewan.Rajiv wrote:
    It's a new flow which Oracle has introduced in OIM 11g. You can't skip that selection until you do modification in OOTB UI.
    RO is mandatory thing to raise request so you can go for custom UI (Need ADF Knowledge) in which you'll ask end user to select other things except that Resource and you'll fetch RO name from some configuration file for using in request APIs.Thanks - it looks like customizing the OOTB UI might not be possible - rather than using ADF/Faces configuration files, most of the navigation redirects seem to be 'hidden away' in compiled class files. (My original thought: add some kind of filter and/or extension to an ADF Task Flow that governs the request application flow - but there are not task flow files to modify?)

Maybe you are looking for

  • I want to download adobe acrobat 9 pro for mac

    becaus e i have the serial number but i dont have the instaltion files. And in page for download files, only have the actual version. how can i get my product?

  • Problem withdata while saving the Webi Report in Excel

    Hi All, Just Now  we migrated our Webi reports on 4.1. When I am schduling report in excel In my report some ? sign will come. If I do save -> save as Excel it will save properly but Save as execel 2007 It will save ? marks in some column. Schdule in

  • Nokia N97 - My laptop does not recognize my n97 se...

    Hi there please help me! I just bought N97, for a couple of days it worked wonderful but today my laptop won't recognise the mobile. I tried it on other computers but still the same. When I select "pc suite" it doesn't recognise my mobile even with O

  • Merge Join

    Can someone post an example query and explain query plan that makes use of a Merge Join in Oracle? Naturally, a description of the data would also be appreciated. I'm just trying to better understand when the Oracle optimizer will choose a merge join

  • How to uninstall if FF is not in Programs and Features?

    How do I uninstall FF if it is not in Programs and Features? Also how is that even possible? In 20 years and hundreds of programs I've never heard of a program not being listed by Windows. FF 29, Win 7 Pro 64 bit