Create/modify users using the RequestService API

Hello

I would like to create or modify users of IOM, by using the API RequestService (RequestService (Oracle Fusion Middleware Java QAnywhere for Oracle Identity Manager)), but currently, I do not know how!

Currently I use the UserManager API to create/modify users:

UserManager userManager = Platform.getService(UserManager.class);
HashMap<String, Object> userAttributeValueMap = new HashMap<String,Object>();
User user = new User("MyNewOIMUser", userAttributeValueMap);
userManager.create(user);

It works very well, but it is not possible to 'Create the user approval Workflows' using this trigger mechanism.  (use this code snippet in a custom scheduled task)

I've already found some examples of code, using the RequestService API, but nobody uses this api to create/modify users.  (https://java.net/projects/openptk/sources/svn/show/branches/Oracle/OIM11g/examples/java/OIMClient/src/oim/client/request)

Ideas/tips/code samples to specify this use case?

BR,

Mint

This API allows you to submit the application:

Oracle Fusion Middleware Java QAnywhere for Oracle Identity Manager

doOperation (RequestData requestData, OIMService.Intent intention)

This will allow you to submit and do force a request, direct provision or use some permissions has the person making the presentation for administrative roles to determine whether it is direct or claim.

-Kevin

Tags: Fusion Middleware

Similar Questions

  • Get the 500 error trying to create a table using the REST API

    Hello

    I tried to create a table using the REST API for Business Intelligence Cloud, but I got 500 Internal Server Error for a while now.

    Here are the details that I use to create a table.

    Capture.JPG

    and the json to create the schema that I use is

    [{'Nullable': [false], 'defaultValue': 'dataType' [null],: ['VARCHAR'], 'precision': [0], 'length': [18], 'columnName': ["ROWID"]}]

    , {'Nullable': [true], 'defaultValue': 'dataType' [null],: ['VARCHAR'], 'precision': [0], 'length': [18], 'columnName': ['RELATIONID']},

    {'Nullable': [true], 'defaultValue': 'dataType' [null],: ['VARCHAR'], 'precision': [0], 'length': [18], 'columnName': ['ID']}

    , {'Nullable': [true], 'defaultValue': 'dataType' [null],: ['TIMESTAMP'], 'precision': [0], 'length': [0], 'columnName': ['RESPONDEDDATE']},

    {'Nullable': [true], 'defaultValue': 'dataType' [null],: ['VARCHAR'], 'precision': [0], 'length': [255], 'columnName': ['RESPONSE']},

    {'Nullable': [false], 'defaultValue': 'dataType' [null],: ['TIMESTAMP'], 'precision': [0], 'length': [0], 'columnName': ['SYS_CREATEDDATE']},

    {'Nullable': [false], 'defaultValue': 'dataType' [null],: ['VARCHAR'], 'precision': [0], 'length': [18], 'columnName': ['SYS_CREATEDBYID']},

    {'Nullable': [false], 'defaultValue': 'dataType' [null],: ['TIMESTAMP'], 'precision': [0], 'length': [0], 'columnName': ['SYS_LASTMODIFIEDDATE']},

    {'Nullable': [false], 'defaultValue': 'dataType' [null],: ['VARCHAR'], 'precision': [0], 'length': [18], 'columnName': ['SYS_LASTMODIFIEDBYID']},

    {'Nullable': [false], 'defaultValue': 'dataType' [null],: ['TIMESTAMP'], 'precision': [0], 'length': [0], 'columnName': ['SYS_SYSTEMMODSTAMP']},

    {'Nullable': [false], 'defaultValue': 'dataType' [null],: ['VARCHAR'], 'precision': [0], 'length': [10], 'columnName': ['SYS_ISDELETED']},

    [{'Nullable': [true], 'defaultValue': 'dataType' [null],: ['VARCHAR'], 'precision': [0], 'length': [50], 'columnName': ['TYPE']}]

    I tried this using postman and code, but I always get the following response error:

    Error 500 - Internal server error

    Of RFC 2068 Hypertext Transfer Protocol - HTTP/1.1:

    10.5.1 500 internal Server Error

    The server encountered an unexpected condition which prevented him from meeting the demand.

    I am able to 'get' existing table schemas, delete the tables, but I'm not able to make put them and post operations. Can someone help me to identify the problem, if there is no fault in my approach.

    Thank you

    Romaric

    I managed to create a table successfully using the API - the only thing I see in your JSON which is different from mine is that you have square brackets around your values JSON where I have not. Here is my CURL request and extract my JSON file (named createtable.txt in the same directory as my CURL executable):

    curl u [email protected]: password UPDATED h x ' X-ID-TENANT-NAME: tenantname ' h ' Content-Type: application/json '-binary data @createtable.txt https://businessintell-tenantname.analytics.us2.oraclecloud.com/dataload/v1/tables/TABLE_TO_CREATE k

    [

    {

    'columnName': 'ID',

    'dataType': 'DECIMAL ',.

    'Length': 20,.

    "accuracy": 0.

    'Nullable': false

    },

    {

    'columnName': 'NAME',

    'dataType': 'VARCHAR ',.

    'Length': 20,.

    "accuracy": 0.

    'Nullable': true

    },

    {

    "columnName': 'STATUS."

    'dataType': 'VARCHAR ',.

    'Length': 20,.

    "accuracy": 0.

    'Nullable': true

    },

    {

    "columnName': 'CREATED_DATE."

    'dataType': 'TIMESTAMP '.

    'Length': 20,.

    "accuracy": 0.

    'Nullable': true

    },

    {

    'columnName': 'UPDATED_DATE ',.

    'dataType': 'TIMESTAMP '.

    'Length': 20,.

    "accuracy": 0.

    'Nullable': true

    }

    ]

  • How to create IT strategy using the BES administrator API

    Hi all

    Can tell me, how to create IT strategy using the BES administrator API.

    Please provide me with the code example.

    Thanks in advance.

    Kind regards

    Sampath

    Hi Sebastian,.

    The Administration of BlackBerry API does not support the creation of it political. This feature is currently with the development of control and review for a future version of the BlackBerry Web Services for the Administration of the company.

    Kind regards

  • Code to get the data in the child table in composite SOA using the IOM APIs

    Hi all

    I am a new bie to IOM. I have a query related to obtaining data in the child table using the API of the IOM in the task of embeded java SOA composite.

    I've created a workflow that has a form of child of providing service of slef. I created a composite SOA custom also approval. In the composite approval I have embedded java code and I want to get the values entered in the child form using the API IOM inot the java code embeded in composite SOA.

    I tried gettting the child form data by using getChildAttributes(), but I'm getting the following exception.

    The local Exception stack:
    Exception [EclipseLink-7242] (Eclipse - 2.1.3.v20110304 persistence Services - r9073): org.eclipse.persistence.exceptions.ValidationException
    Description of the exception: an attempt was made to navigate a relationship using indirection that had a null Session. This often happens when an entity has a relationship of LAZY not instantiated is serialized and this lazy relationship is crossed after serialization. To avoid this problem, instantiate the LAZY relationship before serialization.
    at org.eclipse.persistence.exceptions.ValidationException.instantiatingValueholderWithNullSession(ValidationException.java:994)
    at org.eclipse.persistence.internal.indirection.UnitOfWorkValueHolder.instantiate(UnitOfWorkValueHolder.java:218)
    at org.eclipse.persistence.internal.indirection.DatabaseValueHolder.getValue(DatabaseValueHolder.java:83)
    at oracle.iam.request.vo.RequestBeneficiaryEntityAttribute.getChildAttributes(RequestBeneficiaryEntityAttribute.java:100)
    to com. CASApproval.main (CASApproval.java:137)

    Please suggest me if I'm following the correct procedure of the child form data or if we can use another approach.

    Can we get the data using formInstanceOperationsIntf.getProcessFormChildData ().

    Thanks in advance for the help.

    Thank you
    PT

    When you're in approvals, there is no form of process data. Process form data would come only when approvals are completed. If you want to read data from the child form of the DataSet (i.e. the form object as in OIM9.x) you can use the RequestService on the id of the request and read the data. Or another approach would be to the child the dataset data value in the payload of the request and read the XML payload in the composite.
    Let me know if you need more information about the second approach. As for the first approach, search through the forums here and you should find my previous posting on how to reach child dataset values using the ask service API.

    -Marie

    Found these for you:
    OIM11G: Way to get values from dataset of the application for approval
    Re: How to get the value of the AD details of payload of SOA user group

  • How do to identify the documents called "models of library" using the RESTful API?

    How do to identify the documents called "models of library" using the RESTful API? Furthermore, what constitutes a document to be a "model of library"? I see nothing in the libraryDocuments RESTful documentation that describes this type of document, such as presented on the tab 'Manage' my developer account. Please see the screenshot below. There is a model of Document named "[DEMO ONLY] Test model" listed under "Library Templates" and I try to figure out which classifies that document to be included this way and how does produce a similar announcement by using the RESTful API.

    Screen Shot 2014-10-29 at 11.16.48 AM.png

    Thank you!

    Hello

    You can connect to access library models using the REST API, use 'GET /libraryDocuments' allowing to recover documents in library for a user. Models are created in the account of EchoSign, which later are accessible via the REST method mentioned above.

    Jat

  • How to use the 'sensors' api?

    Hi guys! I am a web-game developer but a beginner in developing blackberry applications.

    I intended to create a star atlas application and I've already finished most but failed to use the 'sensors' api.

    I referred to the example provided in the documentation of webworks 2.1 as below:

    function compassCallback(data) {
    document.write("Current azimuth:"+data.azimuth);
    }
    blackberry.sensors.setOptions("devicecompass", { delay: 1000 });
    document.addEventListener("devicecompass", compassCallback);
    

    and I added an element in the config.xml file:

    also, I added the plugin com.blackberry.sensors for the project.

    But I still can't azimuth compass...

    I really appreciate if someone could help me with this!

    I solved this problem by myself.

    The listener of the api should be placed in a "deviceready" event

  • Error in creating a category with the REST API

    vRO 7.0.1

    I am trying to create a category in the folder root of Workflow using the REST API.

    URL = https://vroserver.fqdn:8281 / vco/api/categories

    Method = POST

    The API documentation suggests that the body should be like this:

    {

    "categoryType": "WorkflowCategory",

    'name': "Test5",.

    'description': 'Testing '.

    }

    However, I always get a 400 response: the request sent by the client is syntactically incorrect.

    reflecting the docs by: category name must be specified

    Can anyone help?

    Body of the request should be:

    {
       "type":"WorkflowCategory",
       "name":"Test5",
       "description":"Testing"
    }
    
  • How to set the time to preview using the REST Api of the assembler

    Hi all

    Using the REST API of the assembler, I can't feature "set the time to preview" to trigger a specific model that fires only at a specific time

    This is the format that I'm trying:

    http://xxxx:8006 / assembler/json/pages/home? Endeca_Time = 2020-04 - 05 T 14:30

    I use the correct format? This is the url parameter listed in the documentation of the Assembly

    Thank you

    It turns out that the documentation is wrong

    1. In assembler.properties (service\WEB-INF) of your REST API, you must define

      1. User.State.Ref = previewUserState
    2. You use Endeca_date and not Endeca_Time in the URL (documentation is wrong)
    3. Coding varies from a browser (you may need to URL encode the date in Firefox)

    Example:

    http://xxxx:8006 / assembler/json/pages/home? Endeca_date = 2020-01 - 11 T 18:00

    The date format is: YYYY-MM-dd' you HH: mm

  • Cannot add firewall rules using the REST API vShield App

    Hi all

    I get the following error

    "< errors > < error > < code > 100039 < / code > < description > Unmatched rules found in the configuration." "< / description > < / error > < / errors >.

    When you use the App API vSheild:

    POST https:// /API/2.0/app/firewall/dvportgroup-55/config < vsm-ip >

    Paylod XML:

    <? XML version = "1.0" encoding = "UTF-8" standalone = "yes"? >
    < VshieldAppConfiguration >
    < firewallConfiguration = "dvportgroup-55" the contextId >
    < layer3FirewallRule disabled = "false" priority = "none" id = "1021" >
    < action > allow < / action >
    < connected > false < / connected >
    < source >
    < address >
    < ipAddress > 172.30.68.212 < / ipAddress >
    < / address >
    < > 222 portInfo < / portInfo >
    < / source >
    < destination >
    < address >
    < ipAddress > 172.30.68.166 < / ipAddress >
    < / address >
    < application >
    < > 333 portInfo < / portInfo >
    < Protocol > 6 < / Protocol >
    < / application >
    < / destination >
    < / layer3FirewallRule >
    < / firewallConfiguration >
    < / VshieldAppConfiguration >

    Is anyone has seen this before or any idea why this might be happening?

    In addition, create a wall of fire to provide the variable "id"... How do I know which id to use to create a new firewall rule. I'm using id = "1021" I see one last created after quesrying API... but when you call it through automation, what will the process to define an id invalid?

    Thank you

    xar

    ID must be present, for the new rule Id must be '0' while that for others it should kept as what. The reason for this error which I believe is the same. Replacement of 1021 with 0 should solve this problem. http://blogs.VMware.com/security/2011/11/using-the-VShield-API.html should also be useful to start with vShield firewall App REST API.

    -Kone

  • Conditional binding fails with fracture from scratch using the fluent API

    I have two properties that I want to connect to a progress bar. Properties represent essentially a max value of County (the denominator) and current value of the Shire (numerator). I want to set up a connection using the fluent API that works roughly as follows:
    IntegerProperty numerator = new SimpleIntegerProperty(0);
    IntegerProperty denominator = new SimpleIntegerProperty(0);
    
    progressBar.progressProperty().bind(
        Bindings.when(denominator.isEqualTo(0))
            .then(0)
            .otherwise(numerator.divide(denominator)));
    The numerator and denominator properties represent two properties in my object that changes according to certain criteria in the application, and I want the progress bar to be bound by these changes. The problem is sometimes, and by default, the value of the denominator is 0. My logic tells me that the clause otherwise() does not run, because the when() condition must be true and so run the then() clause. When I run the above code, I get an ArithmeticException (/ by zero).

    Question - is this the correct behavior of the code underlying link? I don't understand why the otherwise() clause is being evaluated in this case.
    Can I suggest an improvement to short-circuit the logic to avoid such a situation?

    My solution is to create a custom as follows DoubleBinding:
    IntegerProperty numerator = new SimpleIntegerProperty(0);
    IntegerProperty denominator = new SimpleIntegerProperty(0);
    
    DoubleBinding db = new DoubleBinding() {
        { super.bind(numerator, denominator); }
     
        @Override
        protected double computeValue() {
            if(denominator.getValue() == 0) {
                return 0.0;
            }
            return numerator.doubleValue() / denominator.doubleValue();
        }
    };
            
    progressBar.progressProperty().bind(db);
    I would much rather the fluent API (much less code to write and much more elegant), but I'm glad that the custom binding is not too difficult to write and understand.

    Thanks for all comments or impressions.

    I have not tested, but for a workaround, you can try

    progressBar.progressProperty().bind(
        Bindings.when(denominator.isEqualTo(0))
            .then(0)
            .otherwise(numerator.divide(denominator.doubleValue())));
    

    This will force (should) the division must be calculated using double rather than the integers (ints); x / 0,0 will assess double. NaN in java, without throwing an exception. Note that this calculation will give slightly different results in other cases, such as the division of integers you used before will still result in an int (by truncation); considering that it will give a double precision division. In most cases, the latter will actually be what you want.

  • How to get the domain of the user with the Flex API

    Hello

    I did a runing custom application inside the LC workspace. There are, I have the SessionMap LC for communication server as well as information from the user:

    Get the session from the application owner
    var session: SessionMap = SessionMap (Application.application.session);
    var Manager: ISessionManager = ISessionManager (session.getObject ("lc.core.ISessionManager"));
    username = manager.authenticatedUser.userid;
    UserDomain = manager.authenticatedUser.domain;

    but unfortunately the userdomain is always null without worrying that the user is certainly linked to the default 'DefaultDom' domain If not, then how can I load the domain name for the logged-on user?

    THX Simon

    Hi Simon,.

    You can also consider using the DirectoryManagerServiceClient of you Java component and use the findPrincipal API. This allows you to call the API of UserManager LC from code Java itself and avoid the need to go through DB

  • Can someone explain how to use the addProcessFormChildData API?

    Hi gurus:
    I have a scenario where; I need groups implemented in AD using AD connector as part of provisioning of the IOM to AD users. These Don t groups are already available in IOM, but these are received as parameters of authoritative source.
    I read the different thread, but can not find how to use the addProcessFormChildData API to perform these forms of child.
    Any help would be greatly appreciated!
    PD: My English is very bad!

    Use this post

    How to remove data from the user for the child form?

    How to find the key to AD provisioning process instance

    These will be useful.

  • LAN address MAC using the windows API?

    I would like to read the MAC address of the LAN to my WIFI on my PC card.

    Apparently, this can be done using the Windows API

    Anyone tried something like this again?

    Thank you

    Hi morngoose,

    You can use the function "exec system" with "cmd/c" ipconfig/all "" "connected." Parse the string and you'll get your MAC address.

    Mike

  • Why and how 'create a profile using the e-mail icon?

    When I try to send a screenshot of a web page, and after that I'm going to "email recipient" a small screen appears and tells me that "no profiles have been created.  To create a profile use the mail Control Panel icon.  What this means and how can I do?  I use outlook express and can not send another email, just not screenshots of web pages.  UPS used to before.  I recently "upgraded" in IE8.  Thank you!

    Check in Internet Options as your default mail Outlook Express Manager
    (The mail applet is to use with Outlook, part of the Office family and completely different from Outlook Express)

  • problem using the FileConnection API (JSR 75) in an application for Blackberry "BOLD" MIDLET

    Hello

    I developed a MIDLET which is to read files and store the contents of files in arrays. I could make using the FileConnection API in J2ME (Java ME) and it works very well in mobile emulators provided by Sun, Sun Kit tool 2.5.1 wireless and Sprint Wireless tool 3.3.2 Kit. I have been using netbeans IDE 6.8 for this.

    Now, here's the deal. Playback of the files does not work when in one of the Blackberry mobile emulators. I tried to install all versions of Blackberry JDE 4.2.1 to 5.0 and test the same thing, but none of them worked.  After reading that the Blackberry plugin for Eclipse is good, I used it to find that I am always faced with the problem.

    I desperately need help. Can someone help me do the reading work file in a Blackberry emulator? I insert the code that makes the file reading. It reads a file containing a single column of 60 entries, and stores it in an array of double type.

    Vector time = new Vector();
    
    try{
    
     FileConnection filecon = (FileConnection) Connector.open("file:///" +"SDCard/BlackBerry/documents/"+"timescale.dat");
    
     if(!filecon.exists()) {    Dialog.show("Note ! ", "File doesn't exists !", "okay","cancel"); }
    
         StringBuffer sb = new StringBuffer();      try      {       InputStream in = filecon.openInputStream();       int chars;
    
           while ((chars = in.read()) != -1)// read until EOF is reached       {          if(chars == '\n') // read all characters until the end of line is reached          {              time.addElement(sb.toString().trim()); // stores all the characters as a vector element when the end of line is reached
    
                  sb.delete(0,sb.length());// clear the stringbuffer for storing the next line of the file
    
              }
    
              else          {              sb.append((char)chars); // appends each character read          }
    
          }// end of while
    
        }    catch(IOException e)    {               }
    
        filecon.close();
    
    }// end of outer try
    
       int i =0;   Enumeration etime = time.elements();
    
       while(etime.hasMoreElements() && i < 60) // timescale.dat has 60 entries in one column   {       time_1d[i]=Double.parseDouble(etime.nextElement().toString());// convert to double       i++;   }
    

    Can you elaborate on what does not work?  Is an error or exception thrown?  If Yes, what is it and what line of code triggers it?

    You have configured the BlackBerry smartphone Simulator to simulate a micro SD card?

    Use a computer filesystem in the form of microSD card

    http://supportforums.BlackBerry.com/T5/testing-and-deployment/use-a-computer-file-system-as-a-microS...

Maybe you are looking for

  • problems with musicmatch

    I subscribed to game music, expecting to access my itunes library on my iphone, but I see only a fraction of my content.  Its very clear that registering for this service allows me access to all my library, if it was purchased through itunes or other

  • Problem about the iPhone 6 s MORE and Ford SYNC (Ford Ecosport) bluetooth pairing.

    Hello Apple community! I have an iPhone MORE 6s firmware iOS 9.2.1 running and a Ford Ecosport trend M/T (bought last March 2015). I always pair my iPhone with audio system in my car (Ford SYNC) every time I jump in my car every day. I drive 4 hours

  • Need a replacement for hp m8330f video card

    Hello, my father has the hp m8330f and needs a new video card. Hers is broken now. Maintaining the screen making the weird colors and wavy lines all wise video is broken and scattered. First of all, I know that its motherboard takes support only pci

  • The icons off my computer missing?

    The icons off my computer are missing.  I don't know how they disappeared, so I have no idea how to do to get back them.  All I have is "Log Off" from the green button start.  The "Restart" and icons "standby/sleep extended" disappeared. Can someone

  • PS4000 group, "target did not in time to a request from task management."

    Hey everybody, A year ago I could re - purpose a PS4000 SAN and an old proliant server to make a small network of Hyper-V.  He was always a great and me has not given any problems.  Recently I acquired a second PS4000 server and proliant... so I adde