OIM - Beyond the Adapter Factory

Hi all,
I have now outgrown the capabilities of the Adapter Factory and need to find out how to directly code my adapter functions - in this case for a GTC connector.
I have not been able to find the guidelines for this in the standard product documentation and so wonder where this information and knowledge can be gained?
Many thanks,
Bernie

See this doc, may be useful:
http://download.oracle.com/docs/cd/E14049_01/doc.9101/e14057/custom_prov.htm#Toc153968045

Similar Messages

  • Differences between OIM Connectors using Adapter Factory and Generic Tech

    Hi,
    Can any one please tell me what is the difference between Oracle Identity Manager Connectors by using Adapter Factory and Generic Technology.
    Regards,
    Raghunath..

    This issue is a bit complex but let me try to explain.
    One way to look at it is to consider cars with automatic and manual gearboxes. A car with a manual gearbox requires more skills of the end user. You do need to understand how to use the clutch and what gear to use under what circumstances. In a car with an autoamtic gearbox all of these things are abstracted away from the user. On the other hand a automatic gearbox is more complex to manufacture, especially if you would do it yourself with just some machine tools and some basic materials available.
    In the same way an adapter factory connector requires a bit more skill to install and configure. A generic tech one is a lot more point and click. The downside is that creating the generic tech takes a little bit more effort and skill.
    Excellent article by Nishant on this : http://blog.talkingidentity.com/2007/06/understanding_oims_generic_tec.html
    Hope this helps
    /Martin

  • OIM 11g: Entity Adapter on custom field.

    Hello,
    I wrote a pre-insert, pre-update entity adapter for a custom form field (SJSDS connector). I defined a adapter variable of type string that will be
    resolved at runtime. I was hoping to map this variable to the "User Type" field on the User Definition.
    When I try to map this variable to the User Definition, the "User Type" field does not show in the list.
    The list is being filtered based on the type of field and "User Type" is of type List of Values.
    How can I get around this issue? The adapter factory does not allow me to set my variable to type List Of Values.
    Regards,
    Sunny

    Following are the the list of mappings. The ones wth similar names are easy to guess. Notice that USR_COUNTRY is missing in the list. I have requested Oracle to log a bug for this and for any other missing fields. If accepted this should be available in the next patch.
    (Mapping between user definition qualifiers on data object manager form and actual USR fields)
    === Process Definition ===
    Name -> pkg_name
    Type -> pkg_type
    === Object Definition ===
    Object Name -> obj_name
    Object Type -> obj_type
    Object Target Type -> obj_order_for
    === Organization Definition ===
    Organization Name -> act_name
    Organization ID -> act_key
    Organization Type -> act_cust_type
    Organization Status -> act_status
    Organization Parent ID -> parent_key
    + Organization UDFs
    === User Definition ===
    User Key -> usr_key
    Request Key -> req_key
    Identity -> usr_fss
    User Login -> usr_login
    Role -> usr_emp_type
    Password -> usr_password
    First Name -> usr_first_name
    Middle Initial -> usr_middle_name
    Last Name -> usr_last_name
    Disabled -> usr_disabled
    Type -> usr_type
    User Status -> usr_status
    Manager -> usr_manager_key
    Organization -> act_key
    Start Date -> usr_start_date
    End Date -> usr_end_date
    Provisioning Date -> usr_provisoning_date
    Deprovisioning Date -> usr_deprovisioning_date
    Provisioned Date -> usr_provisioned_date
    Deprovisioned Date -> usr_deprovisioned_date
    Email Address -> usr_email
    Email -> usr_email
    + User UDFs

  • Get OIM Date format using Adapter Factory

    I have written below java snippet to convert date to oim date format.
    public String getOIMDate() {
    DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss z");
    Date date = new Date();
    return dateFormat.format(date);
    }The above code will return current date as string which is used to update user in OIM.
    I need to use Adapter Factory to return current OIM date in string format.
    Can you help me in building the adapter with the way i mentioned above?

    just build jar for same and place this to <OIM_HOME>/server/JavaTask folder or upload in db using UploadJars.sh script.
    Then follow below steps to create Adapter task(Hope you are looking for Pre-populate adapter)
    http://docs.oracle.com/cd/E27559_01/dev.1112/e27150/creadp.htm#BABHGEBG

  • OIM Adapter Factory vs. DB Connector for MS SQL

    Hi all.
    I have a customer which is asking the following question:
    Is it possible to build a connector for SQL Server using OIM's Adapter Factory instead of buying the available Database Connector?
    Would it be too complex?
    Thanks for any ideas.

    You can do it. But complexity depends only on your use cases & your knowledge with OIM & MS SQL.
    We create custom connectors if needed, cost saving is one of the important factor for choosing this. :-)

  • Error while deploying the Adapter Module

    Expets,
    i am getting below error in communication channel:
    Message processing failed. Cause: com.sap.engine.services.jndi.persistent.exceptions.NamingException: Exception during lookup operation of object with name localejbs/WriteExcelFile, cannot resolve object reference. [Root exception is javax.naming.NamingException: Error occurs while the EJB Object Factory trying to resolve JNDI reference Reference Class Name: Type: clientAppName Content: sap.com/WriteExcelEAR Type: interfaceType Content: local Type: ejb-link Content: WriteExcelFile Type: jndi-name Content: WriteExcelFile Type: local-home Content: com.sap.aii.af.lib.mp.module.ModuleLocalHome Type: local Content: com.sap.aii.af.lib.mp.module.ModuleLocal com.sap.engine.services.ejb3.runtime.impl.refmatcher.EJBResolvingException: Cannot start applicationsap.com/WriteExcelEAR; nested exception is: java.rmi.RemoteException: [ERROR CODE DPL.DS.6125] Error occurred while starting application locally and wait.; nested exception is: com.sap.engine.services.deploy.exceptions.ServerDeploymentException: [ERROR CODE DPL.DS.5035] Application [sap.com/WriteExcelEAR] cannot be started. Reason: it has hard reference to resource [com.sap.xi.repository] with type [library], which is not active on the server. Hint: 1) Is referred resource deployed? 2) Is referred resource able to start? at com.sap.engine.services.ejb3.runtime.impl.DefaultContainerRepository.startApp(DefaultContainerRepository.java:315)
    I am also getting the same warning when i am deploying the adapter.
    Reference list in   application-j2ee-engine.xml   is as follows:
    engine.security.facade
    engine.j2ee14.facade
    com.sap.aii.af.svc.facade
    com.sap.aii.af.ifc.facade
    com.sap.aii.af.lib.facade
    com.sap.base.technology.facade
    com.sap.xi.repository
    Kindly help.
    Edited by: Priyanka Sharma on Jun 18, 2010 4:29 PM

    com.sap.xi.repository reference is not required,, how are you deploying your module on PI server,
    You must be using some external library for excel conversion, if external library is present in your deployed file, you don't need to add com.sap.xi.repository reference.
    Check:
    Is EAR to SDA conversion needed for EJB EAR module
    if you opt to use CECLT tool provided with NWDS 7.1, make sure you import SAP EAR File(it will have External library) on your local system.

  • Determine the adapter type in adapter module

    Hi All,
    How can I determine with in a adapter module (custom developed) which adapter type the message is currently being processed? I was planning to use the method Message.getProtocol() and according to the documentation this returns
    "Returns the protocol of this message (i.e. message format)"
    The result of this method is always "XI".
    I want to have a generic module for file and soap adapters. With in the module, I want to perform a different set of operations depending on the adapter type.
    Any inputs are highly appreciated.
    Thanks
    Jai

    Thanks Stefan. I am able to get the adapter type now.
    I am using
                  CPAFactory factory = CPAFactory.getInstance();
                  CPALookupManager lookup = factory.getLookupManager();
                  String strChannelId = moduleContext.getChannelID();
                        Channel channel = (Channel) lookup.getCPAObject(CPAObjectType.CHANNEL, strChannelId);
                        adapterType = channel.getAdapterType();
    Regards
    Jai

  • Adapter Factory Question

    Hi,
    Is it possible to populate a Child Process Form using Adapter Factory ?
    For example:
    - in the User Profile I have defined a UDF , GroupWise alias
    - when this field is updated, I would like to fire a trigger that will modify the UD_NGW_NICK child form (add a row with the value from the UDF defined above)
    Thank You for your help,
    Ionut S

    Hi,
    You know how to fire a trigger when user field is updated then its become simple to populate the child table.Here is what you should do.
    1.Have this Change + field name task in your provisioning process.
    2.Attach an adapter to this task.
    3.In the adapter you can write your code to populate the child table.You can use tcFormInstanceOperationsIntf to populate the child table.
    Please let me know if you still have any problem in doing that I can help you in that.
    Regards
    Nitesh

  • [OIM] Assignment task adapter, need howto

    Hello people,
    I am trying to do a dynamic assign of a process task. I create the Assignment task adapter, and it appears with two return value. Someone can tell me how to manipulate this variables? I know that one is for storing type (user or group) and the other to store the value of the user or group. I tried several ways, but always I get compile errors. When I check the source, it is obviously why it is failing:
    // Adapter Variables
    String user = "asoria"; // ddd
    Object tipo = getDataBase(); // tipo
    protected void implementation() throws Exception {
              try {
              if (! initAdapter("mercaDecideWF"))
                   return;
                   // Execute Tasks and store results in Hashtable...
    Adapter return value for key = user;
    Obviously, "Adapter return value for key = user;" is not a valid Java statement.
    Any help will be very appreciated.

    Thanks! So I had built a Java class for making the map between the return variables. I have a problem and I do not know if this is an OIM issue or I am forgetting something. My Java class can throw a pair "User" - ID or "Group" - ID. It works fine if the User/Group return matches the "target type" of the Assignment tab (of the approval process). But I can not mix them. If the adapter returns "User" and the target type is group, the assignment is made to the group with key 1. If the adapter returns "Group" and the target type is User, then the assignment is made to the user with key 1 (xelsysadm).
    Is like the assignment target is written by the adapter, but the target type have some precedence over the one returned by the adapter.

  • My iphone 4 dont want to start beyond the apple logo

    my iphone 4 dont want to start beyond the apple logo

    Hello diyaakaraman69,
    That symptom is listed in this article (it is having problems booting),
    iOS: Not responding or does not turn on
    http://support.apple.com/kb/TS3281
    5. If the above steps do not resolve the issue, or the if the screen remains black or shows a persistent Apple logo, try restoring with iTunes:
         1.Connect the device to your computer and open iTunes.
         2. If the device appears in iTunes, select and click Restore on the Summary pane. Learn more about restoring iOS software.
         3. If the device doesn't appear in iTunes, try to force the device into recovery mode, and then restore it.
    6. If the above steps do not resolve the issue, contact Apple.
    Note it suggests a restore as described here:
    Use iTunes to restore your iOS device to factory settings
    http://support.apple.com/kb/HT1414
    Please go through that article.
    Thank you for using Apple Support Communities.
    Nubz

  • While charging my ipad when i plugged in the adapter, the adapter and the usb port gets very very hot... Is this normal? I replaced my ipad and adapter but the problem still exist.

    While i charge my ipad with adapter the adapter more specifically the internal round cell of adapter and the usb port becomes very very hot... And ultimately my ipad back starts heating a bit. Is that normal?

    Take your charger, cable & iPad to an Apple Store for evaluation.
    The quickest way (and really the only way) to charge your iPad is with the included 10W USB Power Adapter. iPad will also charge, although more slowly, when attached to a computer with a high-power USB port (many recent Mac computers) or with an iPhone Power Adapter (5W). When attached to a computer via a standard USB port (most PCs or older Mac computers) iPad will charge very slowly (but iPad indicates not charging). Make sure your computer is on while charging iPad via USB. If iPad is connected to a computer that’s turned off or is in sleep or standby mode, the iPad battery will continue to drain.
    Apple recommends that once a month you let the iPad fully discharge & then recharge to 100%.
    How to Calibrate Your Mac, iPhone, or iPad Battery
    http://www.macblend.com/how-to-calibrate-your-mac-iphone-or-ipad-battery/
    At this link http://www.tomshardware.com/reviews/galaxy-tab-android-tablet,3014-11.html , tests show that the iPad 2 battery (25 watt-hours) will charge to 90% in 3 hours 1 minute. It will charge to 100% in 4 hours 2 minutes. The new iPad has a larger capacity battery (42 watt-hours), so using the 10W charger will obviously take longer. If you are using your iPad while charging, it will take even longer. It's best to turn your new iPad OFF and charge over night. Also look at The iPad's charging challenge explained http://www.macworld.com/article/1150356/ipadcharging.html
    Also, if you have a 3rd generation iPad, look at
    Apple: iPad Battery Nothing to Get Charged Up About
    http://allthingsd.com/20120327/apple-ipad-battery-nothing-to-get-charged-up-abou t/
    Apple Explains New iPad's Continued Charging Beyond 100% Battery Level
    http://www.macrumors.com/2012/03/27/apple-explains-new-ipads-continued-charging- beyond-100-battery-level/
    New iPad Takes Much Longer to Charge Than iPad 2
    http://www.iphonehacks.com/2012/03/new-ipad-takes-much-longer-to-charge-than-ipa d-2.html
    Apple Batteries - iPad http://www.apple.com/batteries/ipad.html
    Extend iPad Battery Life (Look at pjl123 comment)
    https://discussions.apple.com/thread/3921324?tstart=30
    New iPad Slow to Recharge, Barely Charges During Use
    http://www.pcworld.com/article/252326/new_ipad_slow_to_recharge_barely_charges_d uring_use.html
    Tips About Charging for New iPad 3
    http://goodscool-electronics.blogspot.com/2012/04/tips-about-charging-for-new-ip ad-3.html
    Prolong battery lifespan for iPad / iPad 2 / iPad 3: charging tips
    http://thehowto.wikidot.com/prolong-battery-lifespan-for-ipad
     Cheers, Tom

  • ModuleData.getPrincipalData returns null in the adapter module development

    Hi gurus,
    i am doing a test on the adapter module development following an article written by William Li:
    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/f0ac06cf-6ee2-2c10-df98-e17430ca5949?QuickLink=index&overridelayout=true
    my problem is after the EJB has been deployed, it seems that the return of inputModuleData.getPrincipalData() is always null which makes the program can not get the xml payload from the framework.
    the main process of the example has been simplified like this:
         public ModuleData process(ModuleContext moduleContext, ModuleData inputModuleData) throws ModuleException {
              Object           obj = null;
              try {
              obj = inputModuleData.getPrincipalData();
              Message     msg1 = (Message) obj;          
                    XMLPayload xmlpayload = msg1.getDocument();}          
              catch (Exception e) {
                   ModuleException me = new ModuleException(e);
                   throw me;
              return inputModuleData;
    after deployed, i get the following error in the adapter monitor of RWB: (my JNDI is testtest)
    17.02.2012 17:13:44.643 Information Send binary file  "test8.xml" from FTP server "10.18.48.150:/encrypt_test/", size 206 bytes with QoS EO
    17.02.2012 17:13:44.644 Information MP: processing local module localejbs/CallSapAdapter
    17.02.2012 17:13:44.644 Information Application attempting to send an XI message asynchronously using connection File_http://sap.com/xi/XI/System
    17.02.2012 17:13:44.645 Information Trying to put the message into the send queue
    17.02.2012 17:13:44.648 Information MP: processing local module localejbs/testtest
    17.02.2012 17:13:44.648 Error MP: exception caught with cause java.lang.NullPointerException: while trying to invoke the method com.sap.engine.interfaces.messaging.api.Message.getDocument() of an object loaded from local variable 'msg1'
    whereas if the code has been changed like this:
         public ModuleData process(ModuleContext moduleContext, ModuleData inputModuleData) throws ModuleException {
              Object           obj = null;
              try {
                   obj = inputModuleData.getPrincipalData();
                   Message     msg1 = (Message) obj;     
                   if (obj != null )
                        XMLPayload xmlpayload = msg1.getDocument();
              catch (Exception e) {
                   ModuleException me = new ModuleException(e);
                   throw me;
              return inputModuleData;
    the file can be read by the file adapter.
    i just quite confused that why the return of the getPrincipalData() is null? where is the problem? thanks
    Edited by: Stephen Xue on Feb 17, 2012 5:22 AM

    I'm gonna reply to myself here. I changed the processing sequence of the adapter modules in the  in the FileSender channel so that my module comes first then CallSapAdapter. Then getPrincipalData() contains the message.
    Hope this helps someone else.

  • HT3235 I just bought a Micro-DVI to video adapter to try and hook my MacBook Pro 13" I bought mid 2009 to my old TV, the adapter doesn't seem to fit any of the connections, is this the right adapter?

    I just bought a Micro-DVI to video adapter to try and hook my MacBook Pro 13" that I bought in mid 2009 to my old TV (svideo), the adapter doesn't seem to fit any of the connections on my macBook pro, is right adapter?

    Shootist007 wrote:
    Apple doesn't offer a MDP to AV or componet connect . Only DVI and VGA. They also don't offer one to HDMI. You have to go aftermarket to get one to HDMI.
    Quite right, but as the OP does not have component or composite connections not important.
    To the OP, this does work, but is not the cheapest, and as it appears that Apple no longer sell an SVideo adaptor cable 3rd party it will have to be.

  • How do I connect my Mac Book Pro to a projector I have the adapter but cant get anything on the screen

    How do I connect my Mac Book Pro to a projector I have the adapter but cant get anything on the screen

    Go to your "screen settings". then chose "find screen" then you vill find the prosjector.
    this will probably fix your problem.
    if this dont works can it be something wrong with your adapter.
    hope it helps

  • How do I connect my new (purchased last week) macbook air to my samsung smart tv? I purchased the adapter at the apple store and connected to the TV via HDMI cable.  The TV says "no signal.  I do not see TV as an option in the display tab of system prefer

    how do I connect my new (purchased last week) macbook air to my samsung smart tv? I purchased the adapter at the apple store and connected to the TV via HDMI cable.  The TV says "no signal.  I do not see TV as an option in the display tab of system preferences.  what else do I need to do?

    First, make sure your TV is tuned to display the correct input signal. Most TVs have several inputs (multiple HDMIs, cable connections, RCA etc) so double-check that you're using the correct one - HDMI1, HDMI2 or whatever is written next to the port.
    I assume that you have a mini-Displayport to HDMI adaptor? If you open displays preferences, first tick the box that says "show display preferences in menu bar" then locate the menu and click Detect Displays. See if that helps.
    Matt

Maybe you are looking for