Transformation provider for AD in OIM 11g R1

Hi,
I have to write a transformation provider for reading AD object id from Ad and storing it in OIM.
AD object id is in some byte form in AD, I have to write a transformation provider to convert it in String format.
In this I am unable to find Jar containing "oracle.iam.connectors.common.transform.Transformation" interface.
Can any one help me on this?
Thanks!!!

This comes with AD connector. Have you installed AD connector? If yes, then you can find this jar in <OIM_HOME>/server/ScheduleTasks folder. If not yet installed, then how are you accessing AD? Are you using any custom connector?
You can get AD connector from here:
http://www.oracle.com/technetwork/middleware/id-mgmt/downloads/connectors-101674.html
regards,
Gyan

Similar Messages

  • Custom xml transformer provider for xml iview template

    I have been trying to get a custom simple xml transformer to work, which will show up in the xml iview template.  I have seen the SAP Help docs and the recent weblogs on the subject.  I can't get this simple transform functionality to work.  I can get as far as registering my own transformer, however I get an error on the page when trying to use it: "Error while using XML iView, please contact your system administrator."  My understanding was all I needed to do was provide a xsl, a transformers.xml file, and a service reference in the portalapp.xml.
    All I really want to do is take some xml docs I created and display them in the portal.  I know that I can write a quick java app to do this myself.  However, I am trying to use the built in functionality of the portal (which it appears no one is using except for RSS feeds).
    I would prefer to have the output be htmlb from my xsl file.  My understanding was that I should create my own xml tranformer provider and then also use the XHTMLB --> HTMLB built in transformer.
    Has anyone been successful in trying to create their own xml transformer for the xml iView?
    I am wasting a lot of time trying to use methods in the SAP Help Docs, is it worth the effort to use the transformer method?
    Eager to award points,
    Sean

    Hi
    I have successfully deployed a transformer by doing the following:
    In PAR, in /dist/xml/XSLLibrary/Transformers, put XSL
    In /dist/xml, put transformers.xml file that describes the XSL
    In portalapp.xml, add registry entry for transformer and service entry for transformer service.
    If you want, you can send transformer PAR and I can look at it ([email protected]).
    There could be something wrong with the XSL; this would be more complicated to diagnose.
    Daniel

  • Insufficient permission for xelsysadm in OIM 11g

    Hello experts,
    Suddenly we are getting the below exception while trying to register plugin using 'xelsysadm'. Also we couldn't able to login to design console.
    But we could able to login to OIM admin console using this xelsysadm user.
    We have an integrated environment with OAM and OID/OVD enabled with Ldap synch.
    [java] Java Result: 1
    [echo] java.lang.reflect.InvocationTargetException
    [echo] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    [echo] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcces sorImpl.java:39)
    [echo] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMet hodAccessorImpl.java:25)
    [echo] at java.lang.reflect.Method.invoke(Method.java:597)
    [echo] at oracle.iam.platform.OIMClient.loginSessionCreated(OIMClient.j ava:209)
    [echo] at oracle.iam.platform.OIMClient.login(OIMClient.java:136)
    [echo] at oracle.iam.platform.OIMClient.login(OIMClient.java:114)
    [echo] at oracle.iam.platformservice.utils.PluginUtility.main(PluginUti lity.java:125)
    [echo] Caused by: javax.ejb.EJBAccessException: [EJB:010160]Security Violat ion: User: 'xelsysadm' has insufficient permission to access EJB: type=<ejb>, ap plication=oim#11.1.1.3.0, module=iam-ejb.jar, ejb=ClientLoginSessionService, met hod=loginSessionCreatedx, methodInterface=Remote, signature={java.lang.String,ja                                              va.lang.String}.
    [echo] at weblogic.ejb.container.internal.MethodDescriptor.checkMethodP ermissionsBusiness(MethodDescriptor.java:581)
    [echo] at weblogic.ejb.container.internal.BaseRemoteObject.checkMethodP ermissions(BaseRemoteObject.java:111)
    [echo] at weblogic.ejb.container.internal.BaseRemoteObject.preInvoke(Ba seRemoteObject.java:274)
    [echo] at weblogic.ejb.container.internal.StatelessRemoteObject.__WL_pr eInvoke(StatelessRemoteObject.java:41)
    [echo] at weblogic.ejb.container.internal.SessionRemoteMethodInvoker.in voke(SessionRemoteMethodInvoker.java:24)
    [echo] at oracle.iam.platformservice.api.ClientLoginSessionService_1nfa fx_ClientLoginSessionServiceRemoteImpl.loginSessionCreatedx(Unknown Source)
    [echo] at oracle.iam.platformservice.api.ClientLoginSessionService_1nfa fx_ClientLoginSessionServiceRemoteImpl_WLSkel.invoke(Unknown Source)
    [echo] at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.ja va:668)
    [echo] at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableS erverRef.java:230)
    [echo] at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteReq uest.java:118)
    [echo] at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
    [echo] at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
    [echo] Feb 23, 2012 10:58:20 AM PluginUtility main
    [echo] SEVERE: Exception occured {0}
    [echo] javax.ejb.EJBAccessException: [EJB:010160]Security Violation: User: 'xelsysadm' has insufficient permission to access EJB: type=<ejb>, application=o im#11.1.1.3.0, module=iam-ejb.jar, ejb=PlatformService, method=registerPluginx, methodInterface=Remote, signature={byte[],java.lang.String}.
    [echo] at weblogic.ejb.container.internal.MethodDescriptor.checkMethodP ermissionsBusiness(MethodDescriptor.java:581)
    [echo] at weblogic.ejb.container.internal.BaseRemoteObject.checkMethodP ermissions(BaseRemoteObject.java:111)
    [echo] at weblogic.ejb.container.internal.BaseRemoteObject.preInvoke(Ba seRemoteObject.java:274)
    [echo] at weblogic.ejb.container.internal.StatelessRemoteObject.__WL_pr eInvoke(StatelessRemoteObject.java:41)
    [echo] at weblogic.ejb.container.internal.SessionRemoteMethodInvoker.in voke(SessionRemoteMethodInvoker.java:24)
    [echo] at oracle.iam.platformservice.api.PlatformService_ott20t_Platfor mServiceRemoteImpl.registerPluginx(Unknown Source)
    [echo] at oracle.iam.platformservice.api.PlatformService_ott20t_Platfor mServiceRemoteImpl_WLSkel.invoke(Unknown Source)
    [echo] at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.ja va:668)
    [echo] at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableS erverRef.java:230)
    [echo] at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteReq uest.java:118)
    [echo] at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
    [echo] at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
    [echo] Feb 23, 2012 10:58:20 AM PluginUtility main
    [echo] SEVERE: Exception occured {0}
    [echo] javax.ejb.EJBAccessException: [EJB:010160]Security Violation: User: 'xelsysadm' has insufficient permission to access EJB: type=<ejb>, application=o im#11.1.1.3.0, module=iam-ejb.jar, ejb=PlatformService, method=registerPluginx, methodInterface=Remote, signature={byte[],java.lang.String}.
    [echo] at weblogic.ejb.container.internal.MethodDescriptor.checkMethodP ermissionsBusiness(MethodDescriptor.java:581)
    [echo] at weblogic.ejb.container.internal.BaseRemoteObject.checkMethodP ermissions(BaseRemoteObject.java:111)
    [echo] at weblogic.ejb.container.internal.BaseRemoteObject.preInvoke(Ba seRemoteObject.java:274)
    [echo] at weblogic.ejb.container.internal.StatelessRemoteObject.__WL_pr eInvoke(StatelessRemoteObject.java:41)
    [echo] at weblogic.ejb.container.internal.SessionRemoteMethodInvoker.in voke(SessionRemoteMethodInvoker.java:24)
    [echo] at oracle.iam.platformservice.api.PlatformService_ott20t_Platfor mServiceRemoteImpl.registerPluginx(Unknown Source)
    [echo] at oracle.iam.platformservice.api.PlatformService_ott20t_Platfor mServiceRemoteImpl_WLSkel.invoke(Unknown Source)
    [echo] at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.ja va:668)
    [echo] at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableS erverRef.java:230)
    [echo] at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteReq uest.java:118)
    [echo] at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
    [echo] at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
    [echo] Exception in thread "Main Thread" javax.ejb.EJBAccessException: [EJB                                              :010160]Security Violation: User: 'xelsysadm' has insufficient permission to acc ess EJB: type=<ejb>, application=oim#11.1.1.3.0, module=iam-ejb.jar, ejb=Platfor mService, method=registerPluginx, methodInterface=Remote, signature={byte[],java .lang.String}.
    [echo] at weblogic.ejb.container.internal.MethodDescriptor.checkMethodP ermissionsBusiness(MethodDescriptor.java:581)
    [echo] at weblogic.ejb.container.internal.BaseRemoteObject.checkMethodP ermissions(BaseRemoteObject.java:111)
    [echo] at weblogic.ejb.container.internal.BaseRemoteObject.preInvoke(Ba seRemoteObject.java:274)
    [echo] at weblogic.ejb.container.internal.StatelessRemoteObject.__WL_pr eInvoke(StatelessRemoteObject.java:41)
    [echo] at weblogic.ejb.container.internal.SessionRemoteMethodInvoker.in voke(SessionRemoteMethodInvoker.java:24)
    [echo] at oracle.iam.platformservice.api.PlatformService_ott20t_Platfor mServiceRemoteImpl.registerPluginx(Unknown Source)
    [echo] at oracle.iam.platformservice.api.PlatformService_ott20t_Platfor mServiceRemoteImpl_WLSkel.invoke(Unknown Source)
    [echo] at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.ja va:668)
    [echo] at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableS erverRef.java:230)
    [echo] at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteReq uest.java:118)
    [echo] at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
    [echo] at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
    [echo] Error in registering the plugin. [EJB:010160]Security Violation: Use r: 'xelsysadm' has insufficient permission to access EJB: type=<ejb>, applicatio n=oim#11.1.1.3.0, module=iam-ejb.jar, ejb=PlatformService, method=registerPlugin x, methodInterface=Remote, signature={byte[],java.lang.String}.
    [echo] Error occured during the use of plugin registering utility. [EJB:010                                              160]Security Violation: User: 'xelsysadm' has insufficient permission to access EJB: type=<ejb>, application=oim#11.1.1.3.0, module=iam-ejb.jar, ejb=PlatformSer vice, method=registerPluginx, methodInterface=Remote, signature={byte[],java.lan g.String}.
    ########################################################################

    You should check the groups that Xelsysadm is part of and the permissions. Maybe could exist a conflict between those. Try to test Xelsysadm as part of SYS ADMIN only. If it is already only part of this group, try to check those permissions.
    Long time ago, I saw one metalink note that talk about this behavior in 9.1.0.2 not 11G, but it should help as well: '"Security Violation: User: '' has insufficient permission" In OIM Logs [ID 1219144.1]' . It seems to be the same situation.
    I hope this helps,
    Thiago leoncio

  • Schedule task - manager updation for user in oim 11g

    Hi,
    I am in the way of writing a custom schedule task to update manager for the user created in oim.
    I know the procedure of custom scedule task
    I want the code snipet to be written in the execute() method of java class to update the manager for the user
    Could anybody help me with this!

    Hi Gyanprakash,
    How will you retrieve the user detail ..?? i am getting null pointer exception error
    public void execute(HashMap taskParameters) {
    System.out.println("inside the Execute methode");
    System.out.println("Schedule task Arguments "+taskParameters);
    String userId = (String)taskParameters.get("User Login");
    System.out.println("===========input=============== "+userId);
    String passwordex=taskParameters.get("usr_pwd_expire_date").toString();
    System.out.println("===========input=============== "+passwordex);
    String passwordwar=taskParameters.get("usr_pwd_warn_date").toString();
    System.out.println("===========input=============== "+passwordwar);
    Thanks,
    Edited by: Srivatsa.kashyap on May 25, 2012 6:00 AM

  • Transformation during LDAP Sync reconciliation in OIM 11g

    Does anyone know if the use of transformations is supported in LDAP Sync reconciliation in OIM 11g?
    The reconciliation of LDAP User records is defined in /db/LDAPUser in the OIM metadata. The default version of this file has entries to specify OneToOne transformations, e.g.
    <Transformation name="OneToOne">
    <Parameter name="givenname" fieldname="givenname"/>
    </Transformation>
    For one of my attributes I wish to perform a custom transformation, and have implemented a transformation method as a GC provider (i.e. developed a Java class implementing the TransformationProvider interface and defined this Transformation in an xml file in the metadata path /db/GTC/ProviderDefinitions. I have uploaded a new version of LDAPUser that references my custom transformation provider for one of the LDAP attributes.
    When I try and perform an LDAP Sync user reconciliation, my custom class does not seem to be getting called when I generate a reconciliation event for the affected attribute. I also do not see any logs indicating a failure to load my provider. I have also turned up all the relevant log levels I can identify, and can see no record of OIM doing anything related to transformationat all (e.g. even calling the standard OneToOne transformation provider).
    I am suspicious that although LDAPUser has transformation entries, this may be misleading and transformation is not being performed at all for LDAP Sync.
    Does anyone else have experience of using transformation providers during LDAP Sync reconciliation?

    Thanks for your reply Nishith
    I need some suggestion from you.I have installed OID 11.1.1.6.0 and OIAM 11G R2(not configured ).
    while performing the OIM configuration can I use Enable Ldap sync or I need to finish the OIM configuration first and then do the ldap sync.
    Regards
    sri

  • OIM 11g - Issue with Bulk Load Utility for Account Data

    Hi,
    We are trying to load the account data for users in OIM 11g using bulk load utility.
    We are trying to load the account data for resource "iPlanet". For testing purpose, we made one account entry in csv file and run the bulk load utility. After the bulk load process completes, we have noticed that resource is provisioned to the user multiple times and multiple entries have been created in process form table.
    We have tried to run the utility multiple times with a different user record each time.
    The out put of the below sql query:
    SELECT MSG FROM OIM_BLKLD_LOG
    WHERE MODULE = 'ACCOUNT' AND LOG_LEVEL = 'PROGRESS_MSG'
    ORDER BY MSG_SEQ_NO;
    is coming as follows:
    MSG
    Number of Records Loaded: 126
    Number of Records Loaded: 252
    Number of Records Loaded: 504
    Number of Records Loaded: 1008
    Number of Records Loaded: 2016
    Number of Records Loaded: 4032
    We have noticed that each time the number of records loaded is increased to double from the records loaded in last run even when the csv file contains only one record.
    Provided below are the parent and child csv file entries.
    Parent file:
    UD_IPNT_USR_USERID,UD_IPNT_USR_FIRST_NAME,UD_IPNT_USR_LAST_NAME,UD_IPNT_USR_COMMON_NAME,UD_IPNT_USR_NSUNIQUEID
    KPETER,Peter,Kevin,Peter Kevin,
    Child file 1:
    UD_IPNT_USR_USERID,UD_IPNT_GRP_GROUP_NAME
    KPETER,group1
    Child file 2:
    UD_IPNT_USR_USERID,UD_IPNT_ROL_ROLE_NAME
    KPETER,role1
    Can you please throw some insight on what could be the potential cause for this issue and how it could be resolved?
    Thanks
    Deepa
    Edited by: user10955790 on Jun 25, 2012 6:45 AM

    Hi Deepa,
    I know from 'User load' perspective that is required to restart Oracle Identity Manager when we need to reload data that was not loaded during the first run.
    So, my suggestion is restart it before reload.
    Reference: http://docs.oracle.com/cd/E21764_01/doc.1111/e14309/bulkload.htm#CHDEICEH
    I hope this helps,
    Thiago Leoncio.

  • How to assign approvaal policy for a request template in OIM 11g

    When I request for resource in OIM 11g, It's always going for Default approval of xelsysadm.
    I want this Request level approval must go to "Beneficiary Manager approval". While requesting I am selecting request template (which I created) for Provision resource as Request type.I have already set "Beneficiary Manager approval" as request level approval for this request template.
    I have created one approval policy, How can I assign this approval Policy to request template so that When i submit this request , it should go to my Manager approval.
    Regards,
    J

    Hi Rajiv,
    I do not need approval of Operational level. I want to stop the approval process after request level approval.
    Here you are saying to create a new approval policy and set as AUTO Approval as true. There are some default approval policies which comes with OIM 11g and one of the approval policy is trigeering the Operaional level approval. So I think I do not need to create new approval policy and I can use exsting approval policy and modify as you suggested selecting AUTO APPROVAL and create approval rule as request template=="XYZ".
    I am not sure which default approval policy trigeering the Operational approval now. Can you pls tell me that?
    Can you pls confirm that, there is only way to restrict Opertional Approval by selecting "AUTO APPROVAL" true and put the approval rule as request template=="XYZ"
    Thanks Rajiv for your help all the time.

  • OIM 11g - Restricting the number of resources to one on Request Creation

    Hi All,
    We have a requirement wherein when a requester tries to create a Provision Resource request type(be it for himself or for others), he shouldn't be allowed to request for more than one resource in a single request. If a user chooses more than one resource, he should be prevented from proceeding further and also a message should be shown to the user indicating that only resource should be chosen for this request.
    Can this functionality be achieved in OIM 11g?
    Any kind of help or suggestion is greatly appreciated.
    Thanks
    Deepa

    I already have an enhancement request for this as the only plugin which Oracle provides for request creation is ValidationHandler. The validation handler is called 'number of resources' X 'number of users' and there is no static construct in the plugin either.
    Thus workarounds:
    1. Check for multiple resource selection in your SOA Approval process (this should not be at the orchestration level) and reject the request if there are more then one selection.
    2. As Kevin pointed out, in 9x xlWebAdmin.properties file can be used to set the following properties for single resource selection during requests. You can try to look for this information oim 11g properties files and test it out. -1 here means no limit.
    request.resource.users.size=-1
    request.resource.organizations.size=-1
    request.resource.resources.size=-1-Bikash

  • Installing OIM 11g

    I am going for installation of OIM 11g 11.1.1.5.Kindly tell me that following components's versions will be compatible and if not kindly recommend the compatible one.
    Oracle Databae 10.1.3
    Oracle WebLogic server 10.3.3
    Oracle SOA suite 11.1.1.2.0

    Hi,
    your database version should be minimum 10.2.0.4. Older may cause some problem though only schema is important. Your weblogic and SOA are compatible, but it'll be better to go with Oracle WebLogic server 10.3.5 and install SOA 11.1.1.5 from OFM suite 11.1.1.5.
    For detailed information on certification matrix, refer sheets bewlo:
    http://www.oracle.com/technetwork/middleware/ias/downloads/fusion-certification-100350.html
    www.oracle.com/technetwork/middleware/id-mgmt/identity-accessmgmt-11gr1certmatrix-161244.xls
    regards,
    GP

  • OIM 11g SPML Client - InvalidSecurity : error in processing the WS-Security

    Hi,
    Has anyone had any success creating a SPML client for interfacing with OIM 11g?
    I used xelsysadm to login, but every time it errors, doesn't matter what SPML service i invoke, e.g.
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:ns1="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" >
    <soap:Header>
    <ns1:Security>
    <ns1:UsernameToken>
    *<ns1:Username>xelsysadm</ns1:Username>*
    *<ns1:Password>Passw0rd</ns1:Password>*
    </ns1:UsernameToken>
    </ns1:Security>
    </soap:Header>
    <soap:Body xmlns:ns1="urn:oasis:names:tc:SPML:2:0">
    *<ns1:listTargetsRequest />*
    </soap:Body>
    </soap:Envelope>
    ---> Errors
    <env:Envelope
    xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
    <env:Header/>
    <env:Body>
    <env:Fault
    xmlns:ns0="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
    <faultcode>ns0:FailedCheck</faultcode>
    <faultstring>FailedCheck : failure in security check</faultstring>
    <faultactor/>
    </env:Fault>
    </env:Body>
    </env:Envelope>
    any suggests or code much appreciated.

    Prakash Gupta wrote:
    You just have to add "?wsdl" at the end of String URLThanks for the reply, I tried that one, I'm getting the InvalidSecurity error, see below
    <env:Fault xmlns:ns0="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
    <faultcode>ns0:InvalidSecurity</faultcode>
    *<faultstring>InvalidSecurity : error in processing the WS-Security security header</faultstring>*
    <faultactor></faultactor>
    </env:Fault>
    I'm assuming this has something to do with the WS-Security setting. I used Microsoft WCF (WSHttpBinding) to consume the service,
    see the code below
    WSHttpBinding oimBinding = new WSHttpBinding();+
    oimBinding.Security.Mode = SecurityMode.Message;
    oimBinding.ReliableSession.Enabled = true;
    oimBinding.TransactionFlow = false;
    oimBinding.Security.Message.ClientCredentialType = MessageCredentialType.UserName;
    EndpointAddress oimEndpoint = new EndpointAddress("http://169.254.248.95:14000/spml-xsd/SPMLService?WSDL");*
    oimBinding.MaxReceivedMessageSize = Int32.MaxValue;
    _oimServiceChannel = new ChannelFactory<SPMLRequestPortTypeChannel>(oimBinding, oimEndpoint);+
    oimServiceChannel.Credentials.UserName.UserName = loginUser;+
    oimServiceChannel.Credentials.UserName.Password = loginPassword;+
    +SPMLRequestPortTypeChannel target = _oimServiceChannel.CreateChannel();+
    target.SPMLListTargetsRequest(new SPMLListTargetsRequestInput());+
    I'm not sure if WCF would make any difference in consuming a webservice... any way if you have any idea, code snipets much appreicated.

  • OAM and OIM 11g Consoles

    Hello Everyone,
    Can anyone please tell me what would be the login credentials and the links for OAM and OIM 11g console?
    I am trying, for:
    OIM --> http://hostname:14000/admin
    OAM --> http://hostname:14100/oamconsole
    Please suggest.
    Thanks,
    PS

    Got It.
    OIM --> http://hostname:14000/oim
    username: xelsysadm
    password: weblogicpassword
    OAM --> http://hostname:14100/oamconsole
    username: weblogic
    password: weblogicpassword
    thanks,
    PS
    Edited by: 849754 on Apr 28, 2011 5:24 PM

  • Assistance required for deploying a validation handler in OIM 11g

    Hi All,
    I wanted to deploy a validation handler in OIM 11g so that I can check that the telephone number that is entered by the user has length of ten and all of them are digits.
    I created a new eclipse workspace called TelephoneValidationHandler on the OIM Host machine. I created a new Java project in the workspace with the name TelephoneValidationHandler. I created a class called TelephoneValidationHandler in this project. Put in the following code in this java file -
    /* TelephoneValidationHandler.java */
    package com.custom;
    import java.io.Serializable;
    import java.util.HashMap;
    import oracle.iam.platform.kernel.ValidationException;
    import oracle.iam.platform.kernel.ValidationFailedException;
    import oracle.iam.platform.kernel.spi.ValidationHandler;
    import oracle.iam.platform.kernel.vo.BulkOrchestration;
    import oracle.iam.platform.kernel.vo.Orchestration;
    public class TelephoneValidationHandler implements ValidationHandler{
              @Override
              public void initialize(HashMap<String, String> arg0) {
              // TODO initialization
              System.out.println("***********************************************************************************");
              System.out.println("************************** Init validate event handler ****************************");
              System.out.println("***********************************************************************************");
              @Override
              public void validate(long processId, long eventId, Orchestration orchestration)
              throws ValidationException, ValidationFailedException {
              System.out.println("************************** Beginning of validation *************************");
              HashMap<String, Serializable> parameters = orchestration.getParameters();
              String telephone = (String) parameters.get("Telephone Number");     
              //String regex="[0-9]{10}";
                   if (telephone.length()==10)
                        for(int i=0; i<10; i++)
                             if (Character.isDigit(telephone.charAt(i))){
                                  continue;
                             else
                                  throw new ValidationFailedException();
                        System.out.println("****************** Validated *********************");
              else
                   System.out.println("*************EXCEPTION OCCURRED*******************");
              throw new ValidationFailedException();
              System.out.println("************************** End of validation *************************");
              @Override
              public void validate(long processId, long eventId, BulkOrchestration arg2)
                        throws ValidationException, ValidationFailedException {
              // TODO - N/A
                   System.out.println("************************** INSIDE BULK VALIDATE ***************************");
    I included the files in reference libraries as - right click on the project, click on Build Path -> Configure Build Path -> Add External JARs. In this I selected the jars that were needed to compile the code successfully and i selected them from the place where they exist in the OIM host for eg. C:\Oracle\Middleware\server\platform\iam-platform-kernel.jar path for iam-platform-kernel.jar.
    Now i created a jar file out of this compiled project by right clicking on the project name and clicking Export -> Java -> JAR File. Selected the .classpath and .project files to export as well. Selected first option 1. Export generated class files and resources option. Other three existing options apart from this one which i selected were: 2. Export all output folders for checked projects. 3. Export Java source files and resources 4. Export refactorings for checked projects. So with the 1st option selected, I clicked next and then selected Generate New Manifest file in the final screen and clicked on Finish. Exported this by the name TelephoneValidationHandler.jar to desktop. If I open this jar by changing extension to zip, I see the following folder structure inside it :
    com -> custom -> TelephoneValidationHandler.class
    META-INF -> MANIFEST.INF
    .classpath
    .project
    I created a folder called lib and placed this jar file inside this lib folder. Then outside this lib folder, i placed the plugin.xml file created for this as follows:
    plugin.xml ->
    <?xml version="1.0" encoding="UTF-8"?>
    <oimplugins xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <plugins pluginpoint="oracle.iam.platform.kernel.spi.ValidationHandler">
    <plugin class="com.custom.TelephoneValidationHandler" version="1.0" name="TelephoneValidationHandler">
    </plugin>
    </plugins>
    </oimplugins>
    Now I selected the lib folder and plugin.xml and created a new zip file by the name TelephoneValidationHandler.zip which will be used for plugin registration. The zip folder directly inside it has the structure - plugin.xml file and lib folder having the jar file inside it.
    lib -> TelephoneValidationHandler.jar
    plugin.xml
    Now I went to the directory C:\Oracle\Middleware\server\plugin_utility and opened the ant.properties file in that and put in the values as:
    ant.properties ->
    # The installation directory for WLS
    wls.home=C:\\Oracle\\Middleware\\wlserver_10.3
    # The home directory for OIM. In case of shiphome its same as install directory
    oim.home=C:\\Oracle\\Middleware\\Oracle_IDM1\\server
    #login file name with path.
    login.config=C:\\Oracle\\Middleware\\Oracle_IDM1\\server\\config\\authwl.conf
    Now I opened a cmd prompt, traversed to C:\Oracle\Middleware\server\plugin_utility directory and typed in "ant -f pluginregistration.xml register" and executed this command.
    It asked for oim userid - xelsysadm, oim password: Password, server url: t3://oimhost:14000, name of plugin file with path: C:\\temp\\TelephoneValidationHandler.zip
    I got these errors in the redirector.out file in C:\Oracle\Middleware\server\plugin_utility :
    Error in registering the plugin. null
    Error occured during the use of plugin registering utility.
    And this is the detailed description in the redirector.err in C:\Oracle\Middleware\server\plugin_utility :
    Jul 17, 2012 6:05:58 PM PluginUtility main
    SEVERE: Exception occured {0}
    java.lang.NullPointerException
         at java.util.regex.Matcher.getTextLength(Matcher.java:1140)
         at java.util.regex.Matcher.reset(Matcher.java:291)
         at java.util.regex.Matcher.<init>(Matcher.java:211)
         at java.util.regex.Pattern.matcher(Pattern.java:888)
         at weblogic.utils.classloaders.FilteringClassLoader.matchesClassFilterList(FilteringClassLoader.java:213)
         at weblogic.utils.classloaders.FilteringClassLoader.findClass(FilteringClassLoader.java:97)
         at weblogic.utils.classloaders.FilteringClassLoader.loadClass(FilteringClassLoader.java:86)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:294)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:294)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:246)
         at oracle.iam.platform.pluginframework.PluginReader.validateInstance(PluginReader.java:303)
         at oracle.iam.platform.pluginframework.PluginReader.validatePluginsFromFile(PluginReader.java:363)
         at oracle.iam.platform.pluginframework.PluginReader.readPluginsFromZIP(PluginReader.java:147)
         at oracle.iam.platform.pluginframework.PluginReader.readPlugins(PluginReader.java:66)
         at oracle.iam.platform.pluginframework.PluginManagerImpl.registerPlugin(PluginManagerImpl.java:74)
         at oracle.iam.platformservice.impl.PlatformServiceImpl.registerPlugin(PlatformServiceImpl.java:129)
         at oracle.iam.platformservice.api.PlatformServiceEJB.registerPluginx(Unknown Source)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         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.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
         at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at com.bea.core.repackaged.springframework.jee.spi.MethodInvocationVisitorImpl.visit(MethodInvocationVisitorImpl.java:37)
         at weblogic.ejb.container.injection.EnvironmentInterceptorCallbackImpl.callback(EnvironmentInterceptorCallbackImpl.java:54)
         at com.bea.core.repackaged.springframework.jee.spi.EnvironmentInterceptor.invoke(EnvironmentInterceptor.java:50)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
         at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
         at $Proxy528.registerPluginx(Unknown Source)
         at oracle.iam.platformservice.api.PlatformService_ott20t_PlatformServiceRemoteImpl.__WL_invoke(Unknown Source)
         at weblogic.ejb.container.internal.SessionRemoteMethodInvoker.invoke(SessionRemoteMethodInvoker.java:40)
         at oracle.iam.platformservice.api.PlatformService_ott20t_PlatformServiceRemoteImpl.registerPluginx(Unknown Source)
         at oracle.iam.platformservice.api.PlatformService_ott20t_PlatformServiceRemoteImpl_WLSkel.invoke(Unknown Source)
         at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:667)
         at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:230)
         at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:522)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:146)
         at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:518)
         at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
    Jul 17, 2012 6:05:58 PM PluginUtility main
    SEVERE: Exception occured {0}
    java.lang.NullPointerException
         at java.util.regex.Matcher.getTextLength(Matcher.java:1140)
         at java.util.regex.Matcher.reset(Matcher.java:291)
         at java.util.regex.Matcher.<init>(Matcher.java:211)
         at java.util.regex.Pattern.matcher(Pattern.java:888)
         at weblogic.utils.classloaders.FilteringClassLoader.matchesClassFilterList(FilteringClassLoader.java:213)
         at weblogic.utils.classloaders.FilteringClassLoader.findClass(FilteringClassLoader.java:97)
         at weblogic.utils.classloaders.FilteringClassLoader.loadClass(FilteringClassLoader.java:86)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:294)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:294)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:246)
         at oracle.iam.platform.pluginframework.PluginReader.validateInstance(PluginReader.java:303)
         at oracle.iam.platform.pluginframework.PluginReader.validatePluginsFromFile(PluginReader.java:363)
         at oracle.iam.platform.pluginframework.PluginReader.readPluginsFromZIP(PluginReader.java:147)
         at oracle.iam.platform.pluginframework.PluginReader.readPlugins(PluginReader.java:66)
         at oracle.iam.platform.pluginframework.PluginManagerImpl.registerPlugin(PluginManagerImpl.java:74)
         at oracle.iam.platformservice.impl.PlatformServiceImpl.registerPlugin(PlatformServiceImpl.java:129)
         at oracle.iam.platformservice.api.PlatformServiceEJB.registerPluginx(Unknown Source)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         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.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
         at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at com.bea.core.repackaged.springframework.jee.spi.MethodInvocationVisitorImpl.visit(MethodInvocationVisitorImpl.java:37)
         at weblogic.ejb.container.injection.EnvironmentInterceptorCallbackImpl.callback(EnvironmentInterceptorCallbackImpl.java:54)
         at com.bea.core.repackaged.springframework.jee.spi.EnvironmentInterceptor.invoke(EnvironmentInterceptor.java:50)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
         at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
         at $Proxy528.registerPluginx(Unknown Source)
         at oracle.iam.platformservice.api.PlatformService_ott20t_PlatformServiceRemoteImpl.__WL_invoke(Unknown Source)
         at weblogic.ejb.container.internal.SessionRemoteMethodInvoker.invoke(SessionRemoteMethodInvoker.java:40)
         at oracle.iam.platformservice.api.PlatformService_ott20t_PlatformServiceRemoteImpl.registerPluginx(Unknown Source)
         at oracle.iam.platformservice.api.PlatformService_ott20t_PlatformServiceRemoteImpl_WLSkel.invoke(Unknown Source)
         at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:667)
         at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:230)
         at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:522)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:146)
         at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:518)
         at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
    Exception in thread "Main Thread" java.lang.NullPointerException
         at java.util.regex.Matcher.getTextLength(Matcher.java:1140)
         at java.util.regex.Matcher.reset(Matcher.java:291)
         at java.util.regex.Matcher.<init>(Matcher.java:211)
         at java.util.regex.Pattern.matcher(Pattern.java:888)
         at weblogic.utils.classloaders.FilteringClassLoader.matchesClassFilterList(FilteringClassLoader.java:213)
         at weblogic.utils.classloaders.FilteringClassLoader.findClass(FilteringClassLoader.java:97)
         at weblogic.utils.classloaders.FilteringClassLoader.loadClass(FilteringClassLoader.java:86)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:294)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:294)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:246)
         at oracle.iam.platform.pluginframework.PluginReader.validateInstance(PluginReader.java:303)
         at oracle.iam.platform.pluginframework.PluginReader.validatePluginsFromFile(PluginReader.java:363)
         at oracle.iam.platform.pluginframework.PluginReader.readPluginsFromZIP(PluginReader.java:147)
         at oracle.iam.platform.pluginframework.PluginReader.readPlugins(PluginReader.java:66)
         at oracle.iam.platform.pluginframework.PluginManagerImpl.registerPlugin(PluginManagerImpl.java:74)
         at oracle.iam.platformservice.impl.PlatformServiceImpl.registerPlugin(PlatformServiceImpl.java:129)
         at oracle.iam.platformservice.api.PlatformServiceEJB.registerPluginx(Unknown Source)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         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.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
         at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at com.bea.core.repackaged.springframework.jee.spi.MethodInvocationVisitorImpl.visit(MethodInvocationVisitorImpl.java:37)
         at weblogic.ejb.container.injection.EnvironmentInterceptorCallbackImpl.callback(EnvironmentInterceptorCallbackImpl.java:54)
         at com.bea.core.repackaged.springframework.jee.spi.EnvironmentInterceptor.invoke(EnvironmentInterceptor.java:50)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
         at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
         at $Proxy528.registerPluginx(Unknown Source)
         at oracle.iam.platformservice.api.PlatformService_ott20t_PlatformServiceRemoteImpl.__WL_invoke(Unknown Source)
         at weblogic.ejb.container.internal.SessionRemoteMethodInvoker.invoke(SessionRemoteMethodInvoker.java:40)
         at oracle.iam.platformservice.api.PlatformService_ott20t_PlatformServiceRemoteImpl.registerPluginx(Unknown Source)
         at oracle.iam.platformservice.api.PlatformService_ott20t_PlatformServiceRemoteImpl_WLSkel.invoke(Unknown Source)
         at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:667)
         at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:230)
         at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:522)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:146)
         at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:518)
         at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
    But in the end of this run it still does show - BUILD SUCCESSFUL message but it obviously doesn't work properly because after this registration is done, I go to the MDS through command prompt and import the new EventHandlers.xml which I create as shown below:
    EventHandlers.xml ->
    <?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/kernel orchestration-handlers.xsd">
    <validation-handler class="com.custom.TelephoneValidationHandler" name="TelephoneValidationHandler" entity-type="User" operation="ANY" order="1002" />
    </eventhandlers>
    This import of EventHandlers.xml is done to the path - /metadata/user/custom
    But after all this, whenever I try creating a new user, I don't even get to see the create user page. Instead I get a NullPointer exception thrown at me.
    Can someone please go through these above steps and tell me if there is any particular step I might be doing wrong??? Maybe the ant.properties is not set properly or maybe the ValidationHandler java code is not implemented properly. However as far as I see I think these steps are correct. I have checked with other posts in this category and followed them. However this error still exists. Please help me.
    Thanks,
    $id
    Edited by: $id on Jul 17, 2012 6:36 PM

    Hey You were right. I changed the plugin.xml file so that the plugin xml tag changed to <plugin pluginclass="..." ..> and now when I ran the ant utility to register the plugin, it did not give any errors. Instead I got a message saying Plugin registered successfully. Also then I went to the dev_oim schema and in that the plugins table and checked it. This time the plugin entry was present in the database in this table.
    Now I imported the EventHandlers.xml file using MDS utility as follows:
    Placed the EventHandlers.xml file in C:/temp/metadata/user/custom/EventHandlers.xml
    The EventHandlers.xml file is as mentioned earlier as follows:
    <?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/kernel orchestration-handlers.xsd">
    <validation-handler class="com.custom.TelephoneValidationHandler" name="TelephoneValidationHandler" entity-type="User" operation="ANY" order="1002"/>
    </eventhandlers>
    Now I changed the weblogic.properties file under C:/Oracle/Middleware/Oracle_IDM1/server/bin file to have the entry as follows:
    metadata_from_loc=C:\ \tempThen went to the cmd prompt and navigated to this same folder. Then executed the command: weblogicImportMetadata.bat. It asked the user name : weblogic, password: password and then the url: t3://oimhost:7001
    There were no errors after this executed. I only got End of Import Metadata Script as the message.
    I then executed the "PurgeCache all" command while in the same directory.
    And gave the oimusername: xelsysadm, oimpassword: password and the oim server url: t3://oimhost:14000.
    I got the message :
    PurgeCache Login Success...
    Purging the cache categories:[all] is successful
    After this I logged in to the OIM console and tried to create a user and provided proper telephone number in the field. But when i clicked on Save after giving in these details, I got the following error on the OIM console:
    A system error occurred.
    When i go the oim server logs i see the following lines in it whenever I click on save for a new user:
    [2012-07-18T11:15:22.799+05:30] [oim_server1] [NOTIFICATION] [IAM-0080013] [oracle.iam.platform.kernel.impl] [tid: [ACTIVE].ExecuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: xelsysadm] [APP: oim#11.1.1.3.0] Kernel executing default validation with process id, event id, entity and operation 1,796.0.User.CREATE
    [2012-07-18T11:15:23.111+05:30] [oim_server1] [NOTIFICATION] [IAM-3050013] [oracle.iam.identity.usermgmt.impl] [tid: [ACTIVE].ExecuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: xelsysadm][APP: oim#11.1.1.3.0] Searching for users with the specified criteria.
    [2012-07-18T11:15:23.688+05:30] [oim_server1] [WARNING] [IAM-0080002] [oracle.iam.platform.kernel.impl] [tid: [ACTIVE].ExecuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: xelsysadm][APP: oim#11.1.1.3.0] Orchestration validation failed on the event handler - Event handler TelephoneValidationHandler implemented using class/plug-in com.custom.TelephoneValidationHandler could not be loaded.
    [2012-07-18T11:15:23.938+05:30] [oim_server1] [ERROR] [IAM-3050029] [oracle.iam.identity.usermgmt.impl] [tid: [ACTIVE].ExecuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: xelsysadm][APP: oim#11.1.1.3.0] The user cannot be created due to validation errors.[[
    oracle.iam.platform.kernel.ValidationFailedException: Event handler TelephoneValidationHandler implemented using class/plug-in com.custom.TelephoneValidationHandler could not be loaded.
    After this error occurred I logged into the database and queried the database with following queries:
    SELECT * FROM dev_oim.orchprocess ORDER BY ID DESC; -> Got the latest entry of process id for operation CREATE and stage as validation-handler but the status of this entry was FAILED.
    Then executed another query as follows to get the event details for the latest process id i got from above query results:
    select * from dev_oim.orchevents WHERE processid=1797 ORDER BY orchorder;The output of this query was:
    "ID"     "NAME"     "STATUS"     "PROCESSID"     "STAGE"     "ORCHORDER"     "RETRY" "CONTEXTID"     "RESULT"
    "7544"     "CreateUserValidationHandler"     "COMPLETED"     "1797"     "validation-handler"     "1"     "0"     "0"     "(BLOB)"
    "7543"     "TelephoneValidationHandler"     "FAILED"     "1797"     "validation-handler"     "2"     "0"     "0"     "(BLOB)"
    I already have pasted my java code initially above. Please guide me if anything wrong in the code or with the EventHandlers.xml file. After importing, I checked again by exporting the EventHandlers.xml file from the location where I had imported it and it did exist in that path.
    Thanks,
    $id
    Edited by: $id on Jul 18, 2012 11:25 AM
    Edited by: $id on Jul 18, 2012 11:34 AM

  • Allowed set of characters for user name and password in OIM 11g

    Hi,
    Can anyone provide us quickly what is the characters (no.s,alpahbets,special symbols) that are supported for username and password field in OIM 11.1.1.5 ?
    Thanks,
    Karthik

    Read it , it is general for OIM 11g
    http://docs.oracle.com/cd/E14571_01/relnotes.1111/e10132/oim.htm#CHDFFDGH

  • OIM 11g support for Temporary roles with expiration date

    Dear All,
    Is there a support provided for temporary roles in OIM 11g?
    If not, what is the recommendation as for implementation?
    Kind regards
    Maria Adair

    I'm also interested if someone has any recommendation as for how to implement such a feature. Anyone has any ideas?

  • OIM 11g-configure SoD so that it works for direct provisioning of the roles

    Dear All,
    page 23-3 of Developer's Guide (OIM 11g) provides information regarding configuration of the SoD for Direct provisioning of the resources. How to configure SoD so that it works for direct provisioning of the roles?
    Thank you for your time
    Maria

    Rajiv,
    I did not find the documentation regarding this. But I hoped I will.
    In my project we assign roles directlly, not resources.
    I suspect the integration with Role Manager is required in this case. SoD module in OIA should be used then.
    Maria

Maybe you are looking for

  • IPhone 3G isn't recognized by iTunes - help!

    I have an iPhone 3G with a sim card. I had my phone unlocked, and new sim put in. I tried to update the iOS and now iTunes won't recognize my phone. How can I fix this? I don't care about it being updated now; I just want a phone I can use!

  • How the Partner Bank type field in Customer master is used ??

    Hi, When 2 bank accounts are maintained in the customer master. In the Bank type field ( Partner Bank type), I give X and Y for these 2 bank accounts. When an invoice is raised for this customer thru Sales order, I am not able to give this partner ba

  • Overiding Active X (pain in the A$$)

    I have designed several pages for a website using multiple motion tweens of road signs and active x comes up when the page loads.  This is really annoying and I just wondered if anybody knows some scripting I can easily use to overcome this. Much abl

  • Emptying all users' temp folders

    Hello everyone           Right now we're having problem with low disk space on Terminal Server. Actually we have applications which help us to get rid of all temp files easily, I mean without going to C:\Users\USERNAME\AppData\Local\Temp and deleting

  • Important BADI's in MM

    Dear Experts, can you please update me with the important BADI's in MM and its application? Thanks and regards, Ranjan