Custom Connector for Database for reconicitation

Hi,
I have written my own customer connector to load all the users from external application database to OIM for reconcilitation (just initial loading of users).Now I want to check if a user information is changed in OIM it should be reflected in database and vice versa (if a user information is changed in database it should reflect in OIM).Which API will get us the all details from OIM or atleast.. those details.. from which I can get to know.. which records were updated....I cant find it in API guides of OIM.. please dont give me the link for OIM api guides
Thanks
Edited by: user642288 on Apr 6, 2009 9:35 AM

For changes in the target, i would suggest using a last modified timestamp. Use this value on your it resource. During your reconciliation, query only for those records that have been modifed. When you complete the recon, update the timestamp with the current value.
If there are specific fields you want to pass from the Xellerate User profile to the target database, you'll need to trigger the changes using the Lookup.USR_PROCESS_TRIGGERS lookup. Add your triggers to the provisioning process definition for your database provisioning to update the fields on your form to trigger the "Updated" tasks to write the value to the target.
You should not need any OIM APIs for the provisioning so long as you have configuring provisioning tasks to your target.
-Kevin

Similar Messages

  • In WAS 7.0 for windows custom connector VBscript  not working

    Hi ,
    I am using custom connector for windows 2003 server. It has java and vbscript .Java retrieve the dynamic values of servername,userid,password from the server it will pass to the VB .VB will connect to the windows 2003 server and it will create user,update user,delete user etc.I deliverd the connector which is working in the Jboss and Bea weblogic application servers.The customer asking for Websphere application server When i use the Websphere application Server 7.0 The "Vb script is not working for provisioning(Create user function) please help on this .example vbscript code as follows
    Set objNS = GetObject("WinNT:")
    Set objRemote = objNS.OpenDSObject("WinNT://" & strComputer, strAdminUser, strAdminPassword, ADS_SECURE_AUTHENTICATION Or ADS_USE_ENCRYPTION)
    Wscript.echo "Connection established successfully with system: " & strComputer
    Set objUser = objRemote.Create("user", strUserName) ' error is (null): A specified logon session does not exist.
    'It may already have been terminated.
    objUser.FullName = strFullName
    objUser.SetPassword strPassword
    objUser.SetInfo
    above mentioned line i am getting the error . I tried by the hard coding the values for that also same problem.But when remove the script from connector and run it outside its working .Please help on this

    There is usually a button bar with buttons to format text like Bold and Italic just above the text area where you compose and edit the message text.<br />
    That toolbar may also have a button to turn a text link into a clickable hyperlink (look for a chain like button).<br />
    You can select the link text and click that button to turn the link into a clickable hyperlink.<br />
    If you can't find the button then hover them all to check the tooltip of each (e.g. Insert hyperlink).

  • Custom Adapter for Inbound Operations never invoked

    Hi,
    I created a custom J2CA Resource Adapter for Inbound operations. I implemented javax.resource.spi.ResourceAdapter interface with all required methods - start(BootstrapContext), endpointActivation(MessageEndpointFactory, ActivationSpec), etc.
    I created the appropriate WSDL file according Adapter Development Cookbook. Below is an excerpt from it:
    <definitions targetNamespace="urn:Adapter" .......>
      <message name="Notification">
        <part name="Notification_Part" element="ns1:Svc"/>
      </message>
      <message name="Header">
        <part name="Header_Part" element="ServiceHeader"/>
      </message>
      <portType name="EventsQueue_ptt">
        <operation name="Dequeue">
          <input message="tns:Notification"/>
        </operation>
      </portType>
      <binding name="NotificationService" type="tns:EventsQueue_ptt">
        <jca:binding/>
        <operation name="Dequeue">
          <jca:operation ActivationSpec="acme.ActivationSpec"/>
          <input>
            <jca:header message="tns:Header" part="Header_Part"/>
          </input>
        </operation>
      </binding>
      <service name="EventsQueue">
        <port name="EventsQueue_pt" binding="tns:NotificationService">
          <jca:address ResourceAdapter="acme.AdapterClass"/>
        </port>
      </service>
    </definitions>I created a BPEL process with a partner link based on this WSDL and linked a Receive activity with it. According Adapter Concepts Guide here is what should happen when the BPEL process is deployed and started:
    - The ResourceAdapter class name and the ActivationSpec parameter are captured in the WSDL extension section of the J2CA inbound interaction WSDL Adapter Integration with BPEL Process Manager Adapter Integration with Oracle Application Server Components 5-7 during design time and made available to BPEL Process Manager and Adapter Framework during run time.
    - An instance of the J2CA 1.5 ResourceAdapter class is created and the Start method of the J2CA ResourceAdapter class is called.
    - Each inbound interaction operation referenced by the BPEL Process Manager processes results in invoking the EndPointActivation method of the J2CA 1.5 ResourceAdapter instance. Adapter Framework creates the ActivationSpec class (Java Bean) based on the ActivationSpec details present in the WSDL extension section of the J2CA inbound interaction and activates the endpoint of the J2CA 1.5 resource adapter.
    The problem is that start(BootstrapContext) and endpointActivation(MessageEndpointFactory, ActivationSpec) seem never to be invoked, the adapter is never initialized and at some point the Receive activity of the BPEL process times-out.
    I put some debug System.out.println statements in these methods, but nothing appeared in the server log.
    I'm using Oracle SOA Suite 10.1.3.1.
    I will be grateful for any suggestions.
    Regards,
    Simeon
    Message was edited by:
    skirov

    user9116351 wrote:
    Hi,
    I have written a custom connector for crud operations to a table in Oracle DB. The custom code class uses oracle.jdbc.OracleDriver which is present in ojdbc14.jar. I have placed this jar in ThirdParty folder of the OIM installation but I am still getting an SQLException while connecting to the DB as my custom code is unable to find the required class. Can someone guide me to some documentation that will help me get over this?
    Thanks,
    SaieshWhich version of OIM you are in? Also you dont need to copy ojdbc14.jar as this exists already in OIM.

  • JCA Custom Adapter for SMTP

    Hello,
    I am trying to write a JCA custom adapter that makes outbound connection to an email server using SMTP protocol. Would you please point me to a link where this is discussed? I have already looked at http://www.theserverside.com/tt/articles/article.tss?l=J2EE1_4 but this site did not have full working code.
    Thanks in advance,
    Mustafa

    user9116351 wrote:
    Hi,
    I have written a custom connector for crud operations to a table in Oracle DB. The custom code class uses oracle.jdbc.OracleDriver which is present in ojdbc14.jar. I have placed this jar in ThirdParty folder of the OIM installation but I am still getting an SQLException while connecting to the DB as my custom code is unable to find the required class. Can someone guide me to some documentation that will help me get over this?
    Thanks,
    SaieshWhich version of OIM you are in? Also you dont need to copy ojdbc14.jar as this exists already in OIM.

  • Restful Webservice custom connector

    Hi All,
    I would like to know the best practice to create custom connector for Restful web service methods.Currently we are following simple java code which connects to service provider and pass the JSON object and perform the required actions.
    Is it possible to develop this kind of connector using ICF, if yes what is the process need to follow Or is there any best way to achieve this.
    I am currently trying to configure using ICF by following the example provided in learning library.
    Thanks
    Arun

    Hi,
    Follow below steps to create custom connectors:
    1. Create IT Resource Definition -- which will be your connector class connection parameters
    2. Create IT Resource - provide all connection parameter values
    3. Create Resource Object
    4. Create Process Form, add all required fields that are required for your target system.
    5. Create process task adapter and call you java code to create user record in target system
    6. Create Process definition (Provisioning Type), attach process form created above step and also check "default process"
    7. Create unconditional task in process definition say "Create User" and map the adapter created in step 5.
    These are high level steps, I hope u know how to create all above OIM metadata.
    Regards,
    Raghav.

  • Calling RFC from custom connector

    Hi,
    I am developing a custom connector for UWL to get tasks from 3rd party system.
    I need to call a RFC from backend SAP system to complete Input data for this 3rd party provider.
    I assume that I have to make an RFC call from getItems() method of connector.
    Any idea how to call a RFC from UWL custom connector code?
    Please help.
    Thanks & Regards,
    Amey

    Hello Karri,
    Yes, I am aware of two ways of calling RFCs from Java code.
    Normally, I use following approach to call RFCs from my other Portal Components (JSPDynpages): -
    IPortalComponentRequest request = (IPortalComponentRequest) this.getRequest();
    IPortalComponentContext myContext = request.getComponentContext();
    IPortalComponentProfile myProfile = myContext.getProfile();
    String sapSystem = myProfile.getProperty("SystemIdentifier");
    ISystemLandscapeWrapper landscapeWrapper = (ISystemLandscapeWrapper) UMFactory.getSystemLandscapeWrappers().get(0);
    ISystemLandscapeObject systemLandscapeObject = landscapeWrapper.getSystemByAlias(sapSystem);
    IJCOClientService clientService = (IJCOClientService) PortalRuntime.
    getRuntimeResources().getService(JCO_CLIENT);
    request.getNode().putValue(LOCALE_NODE_KEY,     Locale.ENGLISH);
    IJCOClientPoolEntry poolEntry = clientService.getJCOClientPoolEntry(sapSystem,request);
    JCO.Client client = poolEntry.getJCOClient();
    client.connect();
    IRepository repository = JCO.createRepository("repository", client);
    IFunctionTemplate functionTemplate = repository.getFunctionTemplate(Z_BAPI_EMP_GBU_GET);
    JCO.Function function = new JCO.Function(functionTemplate);
    JCO.ParameterList importList = function.getImportParameterList();
    importList.setValue("US", "OBJTYP");
    importList.setValue(request.getUser().getUniqueName(), "USRID");
    client.execute(function);
    JCO.ParameterList outputList = function.getExportParameterList();
    gbuCountryBean.setGbu(outputList.getString("GBU"));
    gbuCountryBean.setCountry(outputList.getString("COUNTRYCODE"));
    gbuCountryBean.setPersArea(outputList.getString("PERS_AREA"));
    gbuCountryBean.setCompanyCode(outputList.getString("COMPANYCODE"));
    When I tried implementing same in UWL custom connector, I am not able to get instance of 'request' object.
    Any hints/ideas on this?
    Hence as an temporary alternative, I wrote following to successfully execute RFC.
    mConnection = JCO.createClient(sapclient,  sapuser,
    sappassword,  "EN", saphost, sapsysnumber);
    mConnection.connect();
    mRepository = new JCO.Repository("GetLeaveRequestFlag", mConnection );
    IFunctionTemplate ftemplate = mRepository.getFunctionTemplate(Z_BAPI_CHECK_LR_TO_APPROVE);
    myFunction = new JCO.Function(ftemplate);
    JCO.Field OBJECT_TYPE = myFunction.getImportParameterList().getField("OBJECT_TYPE");
    OBJECT_TYPE.setValue("US");
    JCO.Field USERID = myFunction.getImportParameterList().getField("USERID");
    OBJECT_TYPE.setValue(p_userID);
    mConnection.execute(myFunction);
    JCO.Field leaveRequestFlag = myFunction.getExportParameterList().getField("FLAG_LEAVE_REQUEST_RECORD");
    mConnection.disconnect();
    But only catch here is that I need to create & maintain SAP logon credentials for a particular user manually.
    It is not possible to single sign on connector user into SAP system (like its done above).
    Any thoughts on this?
    Thanks & Regards,
    Amey

  • Custom Connector - Reconciliation

    Hi Gurus,
    I need to write a custom connector for the target. I know the steps to be followed for provisioning.
    Can someone guide me how to write the reconciliation tasks in this custom connector.
    My schedule task should iterate over all the records, or oim will do iterate over the records. I am confused about this.
    Thanks in advance.
    Regards
    vicky

    If you have "many" (more than 1 000 users or so) you should break up the user loading into chunks.
    Take a look at this thread: Re: GTC incremental reconciliation task.
    Start by breaking up the the recon into more manageable chunks of a 1000 users. In some cases you need to do leverage additional methods to stop OIM from gauging on massive amounts of user events.
    Hope this helps
    /Martin

  • Custom Connector Deployment : java.lang.NoClassDefFoundError

    Hi,
    We have a Custom Connector for connecting to the Google System.
    I moved the Objects from an existing OIM System to the new one.
    Now, I have the following error thrown when the "Create User" Task is getting executed.
    Is there a way to print which class file is missing? It didn't say what class? Any pointers?
    ===========================================
    11/01/17 21:00:23 java.lang.reflect.InvocationTargetException
    11/01/17 21:00:23 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    11/01/17 21:00:23 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    11/01/17 21:00:23 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    11/01/17 21:00:23 at java.lang.reflect.Method.invoke(Method.java:585)
    11/01/17 21:00:23 at com.thortech.xl.adapterGlue.ScheduleItemEvents.adpGMAIL_CREATE_USERV2.CREATEUSER(adpGMAIL_CREATE_USERV2.java:161)
    11/01/17 21:00:23 at com.thortech.xl.adapterGlue.ScheduleItemEvents.adpGMAIL_CREATE_USERV2.implementation(adpGMAIL_CREATE_USERV2.java:59)
    11/01/17 21:00:23 at com.thortech.xl.client.events.tcBaseEvent.run(Unknown Source)
    11/01/17 21:00:23 at com.thortech.xl.dataobj.tcDataObj.runEvent(Unknown Source)
    11/01/17 21:00:23 at com.thortech.xl.dataobj.tcScheduleItem.runMilestoneEvent(Unknown Source)
    11/01/17 21:00:23 at com.thortech.xl.dataobj.tcScheduleItem.eventPostInsert(Unknown Source)
    11/01/17 21:00:23 at com.thortech.xl.dataobj.tcDataObj.insert(Unknown Source)
    11/01/17 21:00:23 at com.thortech.xl.dataobj.tcDataObj.save(Unknown Source)
    11/01/17 21:00:23 at com.thortech.xl.ejb.beansimpl.tcScheduleTaskOperationsBean.createScheduleItem(Unknown Source)
    11/01/17 21:00:23 at com.thortech.xl.ejb.beans.tcScheduleTaskOperationsSession.createScheduleItem(Unknown Source)
    11/01/17 21:00:23 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    11/01/17 21:00:23 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    11/01/17 21:00:23 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    11/01/17 21:00:23 at java.lang.reflect.Method.invoke(Method.java:585)
    11/01/17 21:00:23 at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
    11/01/17 21:00:23 at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    11/01/17 21:00:23 at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
    11/01/17 21:00:23 at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    11/01/17 21:00:23 at com.evermind.server.ejb.interceptor.system.TxRequiredInterceptor.invoke(TxRequiredInterceptor.java:50)
    11/01/17 21:00:23 at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    11/01/17 21:00:23 at com.evermind.server.ejb.interceptor.system.SecurityRoleInterceptor.invoke(SecurityRoleInterceptor.java:47)
    11/01/17 21:00:23 at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    11/01/17 21:00:23 at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
    11/01/17 21:00:23 at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    11/01/17 21:00:23 at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
    11/01/17 21:00:23 at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:87)
    11/01/17 21:00:23 at tcScheduleTaskOperations_RemoteProxy_6ocop18.createScheduleItem(Unknown Source)
    11/01/17 21:00:23 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    11/01/17 21:00:23 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    11/01/17 21:00:23 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    11/01/17 21:00:23 at java.lang.reflect.Method.invoke(Method.java:585)
    11/01/17 21:00:23 at com.evermind.server.rmi.RmiMethodCall.run(RmiMethodCall.java:67)
    11/01/17 21:00:23 at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
    11/01/17 21:00:23 at java.lang.Thread.run(Thread.java:595)
    11/01/17 21:00:23 Caused by: java.lang.NoClassDefFoundError
    11/01/17 21:00:23 at au.oim.googleapps.GoogleAppsClient.<init>(GoogleAppsClient.java:100)
    11/01/17 21:00:23 at au.oim.googleapps.GoogleAppsHelper.createUser(GoogleAppsHelper.java:58)
    11/01/17 21:00:23 at au.oim.googleapps.users.UserCreator.createUser(UserCreator.java:19)
    11/01/17 21:00:23 ... 38 more
    11/01/17 21:00:23 com.thortech.xl.dataobj.util.tcAdapterTaskException
    11/01/17 21:00:23 at com.thortech.xl.adapterGlue.ScheduleItemEvents.adpGMAIL_CREATE_USERV2.CREATEUSER(adpGMAIL_CREATE_USERV2.java:167)
    11/01/17 21:00:23 at com.thortech.xl.adapterGlue.ScheduleItemEvents.adpGMAIL_CREATE_USERV2.implementation(adpGMAIL_CREATE_USERV2.java:59)
    11/01/17 21:00:23 at com.thortech.xl.client.events.tcBaseEvent.run(Unknown Source)
    11/01/17 21:00:23 at com.thortech.xl.dataobj.tcDataObj.runEvent(Unknown Source)
    11/01/17 21:00:23 at com.thortech.xl.dataobj.tcScheduleItem.runMilestoneEvent(Unknown Source)
    11/01/17 21:00:23 at com.thortech.xl.dataobj.tcScheduleItem.eventPostInsert(Unknown Source)
    11/01/17 21:00:23 at com.thortech.xl.dataobj.tcDataObj.insert(Unknown Source)
    11/01/17 21:00:23 at com.thortech.xl.dataobj.tcDataObj.save(Unknown Source)
    11/01/17 21:00:23 at com.thortech.xl.ejb.beansimpl.tcScheduleTaskOperationsBean.createScheduleItem(Unknown Source)
    11/01/17 21:00:23 at com.thortech.xl.ejb.beans.tcScheduleTaskOperationsSession.createScheduleItem(Unknown Source)
    11/01/17 21:00:23 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    11/01/17 21:00:23 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    11/01/17 21:00:23 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    11/01/17 21:00:23 at java.lang.reflect.Method.invoke(Method.java:585)
    11/01/17 21:00:23 at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
    11/01/17 21:00:23 at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    11/01/17 21:00:23 at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
    11/01/17 21:00:23 at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    11/01/17 21:00:23 at com.evermind.server.ejb.interceptor.system.TxRequiredInterceptor.invoke(TxRequiredInterceptor.java:50)
    11/01/17 21:00:23 at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    11/01/17 21:00:23 at com.evermind.server.ejb.interceptor.system.SecurityRoleInterceptor.invoke(SecurityRoleInterceptor.java:47)
    11/01/17 21:00:23 at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    11/01/17 21:00:23 at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
    11/01/17 21:00:23 at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    11/01/17 21:00:23 at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
    11/01/17 21:00:23 at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:87)
    11/01/17 21:00:23 at tcScheduleTaskOperations_RemoteProxy_6ocop18.createScheduleItem(Unknown Source)
    11/01/17 21:00:23 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    11/01/17 21:00:23 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    11/01/17 21:00:23 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    11/01/17 21:00:23 at java.lang.reflect.Method.invoke(Method.java:585)
    11/01/17 21:00:23 at com.evermind.server.rmi.RmiMethodCall.run(RmiMethodCall.java:67)
    11/01/17 21:00:23 at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
    11/01/17 21:00:23 at java.lang.Thread.run(Thread.java:595)
    ===========================================
    Regards
    Vijay Chinnasamy
    Edited by: Vijay_Chinnasamy on Jan 17, 2011 3:28 AM

    I closed checked for the error, and the error is different now.
    ==================
    11/01/18 01:12:43 java.lang.reflect.InvocationTargetException
    11/01/18 01:12:43 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    11/01/18 01:12:43 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    11/01/18 01:12:43 Caused by: java.lang.ExceptionInInitializerError
    11/01/18 01:12:43 at au.oim.googleapps.GoogleAppsClient.<init>(GoogleAppsClient.java:100)
    11/01/18 01:12:43 at au.oim.googleapps.GoogleAppsHelper.createUser(GoogleAppsHelper.java:58)
    11/01/18 01:12:43 at au.oim.googleapps.users.UserCreator.createUser(UserCreator.java:19)
    11/01/18 01:12:43 ... 38 more
    11/01/18 01:12:43 Caused by: java.lang.NullPointerException
    ==================
    It looks like some value is null? any ideas?
    Regards
    Vijay Chinnasamy

  • OIM 10g - custom connector - modify user

    Hi
    I am writing a custom connector for OIM 10g and looking out for modify request format. My application has roles which are managed by OIM. When I call 'modify user' to update user's role in the application, I want to have the information of old role and new role in the connector. Please let me know how can I get the information of old role for the provisioned resource. I want to log the information that at the time of 'modify user' which role was newly added and which role was deleted.
    Does anybody has information about how this can be implemented.
    Thanks

    Well , When you write a process task for adding/ removing the child table , you specify in the task configuration the child table name and trigger type (insert OR delete)..
    So when you add or remove operation from child process form in OIM, OIM know which task it has to trigger and you can put the logic to add /remove the role in the adapter attached to the task .
    Thanks
    Suren

  • Bridge crashes with Custom Connector

    We've built a custom connector for Drive to connect with our DAM. If we enable the READ_XMP_METADATA capability, Bridge crashes immediately as soon as we browse a folder where images exist. We strongly believe the crash occurs when Bridge tries to read the thumbnails for the images (thumbnails for images is a mandatory feature for us). It happens on every Drive version from 4.2 to 5.0.1, on Windows 32/64bit and on OSX.
    On the hotline I was told there is no telephone support for Drive and I should consider going to the forums, so here I am. Please advise how to get a solution for this. I can provide sourcecodes and access to our server to reproduce the problem.

    Hello!
    Can somebody give a hint here? We are blocked by this problem.
    Regards,
    +manuel-

  • OIM 9.1.0 install connector for "Oracle Database 10g"

    Hello,
    Is anybody here who succeeded to install the connector for Oracle Database 10g into OIM 9.1.0?
    If yes please give me a hint
    Have a nice day!

    Thanks guys for the quick responses.
    But I have tried both the options for putting the jar in Third Party and also by uploading using the OOTB utility UploadJar.sh.
    But it is giving the same error.
    I have tired rebouncing the server and also Purge cached, but no success.
    Just to mention again, I have tried with all the last 3 postgres JDBC4 driver available on the site (u mentioned).
    So, any other clue?
    Thanks in advance.

  • OIM connector for db table--unable to  Reconciliation data to OIM database

    HI everyone
    I installed OIM and Connector for Database Application Tables 9.1.03
    I want to only Reconciliation one table in the target db,organization table.
    when I build a GTC-connector though the administratoe console ,and run the task
    nothing can Reconciliation into OIM db which map to a table
    when look log .I find data has already into hashmap,but unable to insert Oimdb
    only error msg is : Processing Reconciliation Message with ID -1 failed.
    ER],Class/Method: tcDataBase/readPartialStatement entered.
    INFO,21 Jul 2010 10:31:28,065,[XELLERATE.DATABASE],DB read: select rce_key, obj_key, rce_status, rce_delete_event, rce_rowver from rce where rce_key=-1
    DEBUG,21 Jul 2010 10:31:28,065,[XELLERATE.DATABASE],select rce_key, obj_key, rce_status, rce_delete_event, rce_rowver from rce where rce_key=-1
    INFO,21 Jul 2010 10:31:28,066,[XELLERATE.PERFORMANCE],Query: DB: 0, LOAD: 1, TOTAL: 1
    ERROR,21 Jul 2010 10:31:28,066,[XELLERATE.JMS],The Reconciliation Event with key -1 does not exist
    INFO,21 Jul 2010 10:31:28,066,[XELLERATE.PERFORMANCE],Message Process: com.thortech.xl.schedule.jms.reconOffline.ProcessOfflineReconMessages : 1011
    DEBUG,21 Jul 2010 10:31:28,066,[XELLERATE.AUDITOR],Class/Method: AuditEngine/getAuditEngine entered.
    ERROR,21 Jul 2010 10:31:28,066,[XELLERATE.JMS],Processing Reconciliation Message with ID -1 failed.
    DEBUG,21 Jul 2010 10:31:28,116,[XELLERATE.JMS],Class/Method: ProcessOfflineReconMessages/execute entered.
    DEBUG,21 Jul 2010 10:31:28,116,[XELLERATE.JMS],Class/Method: ProcessOfflineReconMessages/execute - Data: reconId - Value: -1
    DEBUG,21 Jul 2010 10:31:28,116,[XELLERATE.JMS],Class/Method: ProcessOfflineReconMessages/execute left.
    DEBUG,21 Jul 2010 10:31:28,116,[XELLERATE.JMS],Class/Method: ProcessOfflineReconMessages/finishReconciliationEvent entered.
    DEBUG,21 Jul 2010 10:31:28,116,[XELLERATE.JMS],Class/Method: ProcessOfflineReconMessages/finishReconciliationEvent - Data: plReconciliationEventKey - Value: -1
    DEBUG,21 Jul 2010 10:31:28,116,[XELLERATE.SERVER],Class/Method: tcDataBase/readPartialStatement entered.
    INFO,21 Jul 2010 10:31:28,116,[XELLERATE.DATABASE],DB read: select rce_key, obj_key, rce_status, rce_delete_event, rce_rowver from rce where rce_key=-1
    DEBUG,21 Jul 2010 10:31:28,116,[XELLERATE.DATABASE],select rce_key, obj_key, rce_status, rce_delete_event, rce_rowver from rce where rce_key=-1
    INFO,21 Jul 2010 10:31:28,117,[XELLERATE.PERFORMANCE],Query: DB: 0, LOAD: 1, TOTAL: 1
    ERROR,21 Jul 2010 10:31:28,117,[XELLERATE.JMS],The Reconciliation Event with key -1 does not exist
    INFO,21 Jul 2010 10:31:28,117,[XELLERATE.PERFORMANCE],Message Process: com.thortech.xl.schedule.jms.reconOffline.ProcessOfflineReconMessages : 1006
    DEBUG,21 Jul 2010 10:31:28,117,[XELLERATE.AUDITOR],Class/Method: AuditEngine/getAuditEngine entered.
    ERROR,21 Jul 2010 10:31:28,117,[XELLERATE.JMS],Processing Reconciliation Message with ID -1 failed.
    DEBUG,21 Jul 2010 10:31:32,328,[XELLERATE.JMS],Class/Method: MessageHandlerMDB/onMessage entered.
    DEBUG,21 Jul 2010 10:31:32,328,[XELLERATE.JMS],Class/Method: MessageHandlerMDB/onMessage: Received new nessage
    DEBUG,21 Jul 2010 10:31:32,328,[XELLERATE.JMS],Class/Method: MessageHandlerMDB/onMessage: mdb message name ReconOfflineMessage message handler task com.thortech.xl.schedule.jms.reconOffline.ProcessOfflineReconMessages
    DEBUG,21 Jul 2010 10:31:32,328,[XELLERATE.SERVER],Class/Method: tcDataBase/readPartialStatement entered.
    INFO,21 Jul 2010 10:31:32,328,[XELLERATE.DATABASE],DB read: select usr_login from usr where USR_KEY=1
    DEBUG,21 Jul 2010 10:31:32,328,[XELLERATE.DATABASE],select usr_login from usr where USR_KEY=1
    INFO,21 Jul 2010 10:31:32,329,[XELLERATE.PERFORMANCE],Query: DB: 1, LOAD: 0, TOTAL: 1
    INFO,21 Jul 2010 10:31:32,329,[XELLERATE.DATABASE],dbLogger
    DEBUG,21 Jul 2010 10:31:32,329,[XELLERATE.SERVER],Class/Method: tcDataBase/eventPreInsert entered.
    DEBUG,21 Jul 2010 10:31:32,329,[XELLERATE.SERVER],Class/Method: tcDataBase/tcDataBase left.
    DEBUG,21 Jul 2010 10:31:32,329,[XELLERATE.AUDITOR],Class/Method: AuditEngine/getAuditEngine entered.
    DEBUG,21 Jul 2010 10:31:33,069,[XELLERATE.JMS],Class/Method: MessageHandlerMDB/onMessage left.
    DEBUG,21 Jul 2010 10:31:33,076,[XELLERATE.JMS],Class/Method: MessageHandlerMDB/onMessage entered.
    DEBUG,21 Jul 2010 10:31:33,076,[XELLERATE.JMS],Class/Method: MessageHandlerMDB/onMessage: Received new nessage
    DEBUG,21 Jul 2010 10:31:33,076,[XELLERATE.JMS],Class/Method: MessageHandlerMDB/onMessage: mdb message name ReconOfflineMessage message handler task com.thortech.xl.schedule.jms.reconOffline.ProcessOfflineReconMessages
    DEBUG,21 Jul 2010 10:31:33,076,[XELLERATE.SERVER],Class/Method: tcDataBase/readPartialStatement entered.
    INFO,21 Jul 2010 10:31:33,077,[XELLERATE.DATABASE],DB read: select usr_login from usr where USR_KEY=1
    DEBUG,21 Jul 2010 10:31:33,077,[XELLERATE.DATABASE],select usr_login from usr where USR_KEY=1
    INFO,21 Jul 2010 10:31:33,077,[XELLERATE.PERFORMANCE],Query: DB: 0, LOAD: 0, TOTAL: 0
    INFO,21 Jul 2010 10:31:33,078,[XELLERATE.DATABASE],dbLogger
    DEBUG,21 Jul 2010 10:31:33,078,[XELLERATE.SERVER],Class/Method: tcDataBase/eventPreInsert entered.
    DEBUG,21 Jul 2010 10:31:33,078,[XELLERATE.SERVER],Class/Method: tcDataBase/tcDataBase left.
    DEBUG,21 Jul 2010 10:31:33,078,[XELLERATE.AUDITOR],Class/Method: AuditEngine/getAuditEngine entered.
    DEBUG,21 Jul 2010 10:31:33,119,[XELLERATE.JMS],Class/Method: MessageHandlerMDB/onMessage left.
    DEBUG,21 Jul 2010 10:31:33,121,[XELLERATE.JMS],Class/Method: MessageHandlerMDB/onMessage entered.
    DEBUG,21 Jul 2010 10:31:33,121,[XELLERATE.JMS],Class/Method: MessageHandlerMDB/onMessage: Received new nessage
    DEBUG,21 Jul 2010 10:31:33,121,[XELLERATE.JMS],Class/Method: MessageHandlerMDB/onMessage: mdb message name ReconOfflineMessage message handler task com.thortech.xl.schedule.jms.reconOffline.ProcessOfflineReconMessages
    DEBUG,21 Jul 2010 10:31:33,121,[XELLERATE.SERVER],Class/Method: tcDataBase/readPartialStatement entered.
    INFO,21 Jul 2010 10:31:33,121,[XELLERATE.DATABASE],DB read: select usr_login from usr where USR_KEY=1
    DEBUG,21 Jul 2010 10:31:33,121,[XELLERATE.DATABASE],select usr_login from usr where USR_KEY=1
    INFO,21 Jul 2010 10:31:33,122,[XELLERATE.PERFORMANCE],Query: DB: 1, LOAD: 0, TOTAL: 1
    INFO,21 Jul 2010 10:31:33,122,[XELLERATE.DATABASE],dbLogger
    DEBUG,21 Jul 2010 10:31:33,122,[XELLERATE.SERVER],Class/Method: tcDataBase/eventPreInsert entered.

    log :
    , classname:com.thortech.xl.gc.impl.transform.Translation, name:Translation
    parameterList is following /nname: input, datatype: String, encrypted: false, type: Runtime.
    validValueList is following
    name: lookup, datatype: String, encrypted: false, type: Runtime.
    validValueList is following
    , classname:com.thortech.xl.gc.impl.transform.Concatenation, name:Concatenation
    parameterList is following /nname: input1, datatype: String, encrypted: false, type: Runtime.
    validValueList is following
    name: input2, datatype: String, encrypted: false, type: Runtime.
    validValueList is following
    DEBUG,21 Jul 2010 10:31:27,228,[XELLERATE.GC.PROVIDERREGISTRATION],inside getProvider......2
    DEBUG,21 Jul 2010 10:31:27,228,[XELLERATE.GC.PROVIDERREGISTRATION],transformProviderclassname:com.thortech.xl.gc.impl.transform.OnetoOne, name:OnetoOne
    parameterList is following /nname: input, datatype: String, encrypted: false, type: Runtime.
    validValueList is following
    DEBUG,21 Jul 2010 10:31:27,228,[XELLERATE.GC.PROVIDERREGISTRATION],nameOnetoOne
    DEBUG,21 Jul 2010 10:31:27,228,[XELLERATE.GC.PROVIDERREGISTRATION],come in transformationName.equalsIgnoreCase(name)
    DEBUG,21 Jul 2010 10:31:27,228,[XELLERATE.GC.PROVIDERREGISTRATION],inside getProviderClassName. ..found transformation provider.....
    DEBUG,21 Jul 2010 10:31:27,228,[XELLERATE.GC.PROVIDERREGISTRATION],inside getProviderClassName. ..found transformation provider.....
    DEBUG,21 Jul 2010 10:31:27,228,[XELLERATE.GC.PROVIDERREGISTRATION],inside getProviderClassName....provider class name = ..com.thortech.xl.gc.impl.transform.OnetoOne
    DEBUG,21 Jul 2010 10:31:27,228,[XELLERATE.GC.PROVIDERREGISTRATION], provider nameOnetoOne
    DEBUG,21 Jul 2010 10:31:27,228,[XELLERATE.GC.PROVIDERREGISTRATION], provider def attribnull
    DEBUG,21 Jul 2010 10:31:27,228,[XELLERATE.GC.PROVIDERREGISTRATION], provider parm, list[name: input, datatype: String, encrypted: false, type: Runtime.
    validValueList is following
    DEBUG,21 Jul 2010 10:31:27,228,[XELLERATE.GC.PROVIDERREGISTRATION], provider resp codes{ONETOONE_CLASS_CAST=Attempted to cast an object to a subclass of which it is not an instance, ONETOONE_INPUTSTR_MISSING=Input String is Missing}
    DEBUG,21 Jul 2010 10:31:27,228,[XELLERATE.GC.PROVIDERREGISTRATION],inside getProviderClassName. ..found transformation provider.....com.thortech.xl.gc.impl.transform.OnetoOne
    DEBUG,21 Jul 2010 10:31:27,228,[XELLERATE.GC.PROVIDERREGISTRATION],classname--->com.thortech.xl.gc.impl.transform.OnetoOne
    DEBUG,21 Jul 2010 10:31:27,228,[XELLERATE.ADAPTERS],Class/Method: tcADPClassLoader/getClassLoader entered.
    DEBUG,21 Jul 2010 10:31:27,228,[XELLERATE.ADAPTERS],Class/Method: tcADPClassLoader/getClassLoader left.
    DEBUG,21 Jul 2010 10:31:27,228,[XELLERATE.GC.PROVIDERREGISTRATION],Loading Provider Class -->com.thortech.xl.gc.impl.transform.OnetoOne
    DEBUG,21 Jul 2010 10:31:27,228,[XELLERATE.GC.PROVIDER.TRANSFORMATION],output--->
    DEBUG,21 Jul 2010 10:31:27,228,[XELLERATE.GC.PROVIDER.TRANSFORMATION],Doing transfornmation for parentData--->com.thortech.xl.gc.vo.designtime.AttributeWithSource@a82b22
    DEBUG,21 Jul 2010 10:31:27,228,[XELLERATE.GC.PROVIDER.TRANSFORMATION],field--->ATTRIBUTE9
    DEBUG,21 Jul 2010 10:31:27,228,[XELLERATE.GC.PROVIDER.TRANSFORMATION],transformParams--->{input=com.thortech.xl.gc.vo.designtime.SourceValue@a7e343}
    DEBUG,21 Jul 2010 10:31:27,228,[XELLERATE.GC.PROVIDER.TRANSFORMATION],key--->input
    DEBUG,21 Jul 2010 10:31:27,228,[XELLERATE.GC.PROVIDER.TRANSFORMATION],not literal--->
    DEBUG,21 Jul 2010 10:31:27,228,[XELLERATE.GC.PROVIDER.TRANSFORMATION],inputField--->ATTRIBUTE9
    DEBUG,21 Jul 2010 10:31:27,228,[XELLERATE.GC.PROVIDER.TRANSFORMATION],input--->{ATTRIBUTE9=, ATTRIBUTE8=, ATTRIBUTE7=, ATTRIBUTE6=, CREATED_DATE=, ATTRIBUTE5=, ATTRIBUTE4=, IS_QUOTE=, ATTRIBUTE3=, ATTRIBUTE2=, CREATE_BY=, ATTRIBUTE1=, UPDATED_DATE=, UPDATE_BY=, ATTRIBUTE10=, IS_ASK=, ORGANIZATION_ID=5, UPPER_ORGANIZATION_ID=, ORGANIZATION_NAME=淇℃伅璧勬簮閮?, ORGANIZATION_CODE=5}
    DEBUG,21 Jul 2010 10:31:27,228,[XELLERATE.GC.PROVIDER.TRANSFORMATION],sourceData--->TargetFields
    DEBUG,21 Jul 2010 10:31:27,229,[XELLERATE.GC.PROVIDER.TRANSFORMATION],inputFieldValue--->
    DEBUG,21 Jul 2010 10:31:27,229,[XELLERATE.GC.PROVIDER.TRANSFORMATION],transformationName--->OnetoOne
    DEBUG,21 Jul 2010 10:31:27,229,[XELLERATE.GC.PROVIDERREGISTRATION],transformType--->OnetoOne
    DEBUG,21 Jul 2010 10:31:27,229,[XELLERATE.GC.PROVIDERREGISTRATION],inside getProviderClassName......
    DEBUG,21 Jul 2010 10:31:27,229,[XELLERATE.GC.PROVIDERREGISTRATION],getProviderClassName--->
    DEBUG,21 Jul 2010 10:31:27,229,[XELLERATE.GC.PROVIDERREGISTRATION],transformationProviders[classname:com.thortech.xl.gc.impl.transform.OnetoOne, name:OnetoOne
    parameterList is following /nname: input, datatype: String, encrypted: false, type: Runtime.
    validValueList is following
    , classname:com.thortech.xl.gc.impl.transform.Translation, name:Translation
    parameterList is following /nname: input, datatype: String, encrypted: false, type: Runtime.
    validValueList is following
    name: lookup, datatype: String, encrypted: false, type: Runtime.
    validValueList is following
    , classname:com.thortech.xl.gc.impl.transform.Concatenation, name:Concatenation
    parameterList is following /nname: input1, datatype: String, encrypted: false, type: Runtime.
    validValueList is following
    name: input2, datatype: String, encrypted: false, type: Runtime.
    validValueList is following
    DEBUG,21 Jul 2010 10:31:27,229,[XELLERATE.GC.PROVIDERREGISTRATION],inside getProvider......2
    DEBUG,21 Jul 2010 10:31:27,229,[XELLERATE.GC.PROVIDERREGISTRATION],transformProviderclassname:com.thortech.xl.gc.impl.transform.OnetoOne, name:OnetoOne
    parameterList is following /nname: input, datatype: String, encrypted: false, type: Runtime.
    validValueList is following
    DEBUG,21 Jul 2010 10:31:27,229,[XELLERATE.GC.PROVIDERREGISTRATION],nameOnetoOne
    DEBUG,21 Jul 2010 10:31:27,229,[XELLERATE.GC.PROVIDERREGISTRATION],come in transformationName.equalsIgnoreCase(name)
    DEBUG,21 Jul 2010 10:31:27,229,[XELLERATE.GC.PROVIDERREGISTRATION],inside getProviderClassName. ..found transformation provider.....
    DEBUG,21 Jul 2010 10:31:27,229,[XELLERATE.GC.PROVIDERREGISTRATION],inside getProviderClassName. ..found transformation provider.....
    DEBUG,21 Jul 2010 10:31:27,229,[XELLERATE.GC.PROVIDERREGISTRATION],inside getProviderClassName....provider class name = ..com.thortech.xl.gc.impl.transform.OnetoOne
    DEBUG,21 Jul 2010 10:31:27,229,[XELLERATE.GC.PROVIDERREGISTRATION], provider nameOnetoOne
    DEBUG,21 Jul 2010 10:31:27,229,[XELLERATE.GC.PROVIDERREGISTRATION], provider def attribnull
    DEBUG,21 Jul 2010 10:31:27,229,[XELLERATE.GC.PROVIDERREGISTRATION], provider parm, list[name: input, datatype: String, encrypted: false, type: Runtime.
    validValueList is following
    DEBUG,21 Jul 2010 10:31:27,229,[XELLERATE.GC.PROVIDERREGISTRATION], provider resp codes{ONETOONE_CLASS_CAST=Attempted to cast an object to a subclass of which it is not an instance, ONETOONE_INPUTSTR_MISSING=Input String is Missing}
    DEBUG,21 Jul 2010 10:31:27,229,[XELLERATE.GC.PROVIDERREGISTRATION],inside getProviderClassName. ..found transformation provider.....com.thortech.xl.gc.impl.transform.OnetoOne
    I

  • Trouble with database connector for FAST for Sharepoint

    I have plenty of experience with the JDBC connector for FAST ESP using Oracle, but this is the first experience I have with the same connector for FAST for Sharepoint (F4SP).  I've created the XML config exactly to specs based on the technet guides
    and configured my user accounts on the SQL Server appropriately.  I'm using SQL Server 2008 R2.
    If I try to use a Windows account, no level of access granted on the SQL Server results in a successful login.  Any attempt to use the connector is met with "Login failed for user:  domain\username".  If I try a SQL Server account, I no longer
    see a login failure, but this instead:
    PS C:\FASTSearch\bin> jdbcconnector start -f ..\etc\DTtest.xml
    Copyright (c) Microsoft Corporation.  All rights reserved.
    14:44:59,870 INFO  [JDBCConnector] Starting the connector!
    14:44:59,870 INFO  [JDBCConnector] Validating config.......
    14:45:00,136 INFO  [JDBCConnector] Testing connections to external systems
    14:45:00,198 INFO  [JDBCConnector] Checking if connections to source and target work....
    14:45:00,620 INFO  [JDBCAdapter] Opened JDBC Connection
    14:45:00,620 INFO  [JDBCConnector] Connection made to source system
    14:45:00,620 INFO  [CCTKDocumentFeeder] Publisher :Initializing: com.fastsearch.esp.cctk.publishers.CCTKDocumentFeeder
    14:45:00,620 ERROR [JDBCConnector] Failed creating publisher. Test connection failed.
    14:45:00,620 ERROR [JDBCConnector] Caused by: Unable to create status tracker.
    14:45:00,620 ERROR [JDBCConnector] Caused by: Could not connect to database. Make sure TCP/IP is enabled for SQLServer.
    14:45:00,620 ERROR [JDBCConnector] Caused by: No suitable driver found for ;integratedSecurity=true
    14:45:00,620 INFO  [JDBCConnector] Connection made to target system
    TCP/IP is certainly enabled for SQL Server -- I am connecting to it with Sharepoint 2010, not to mention a test install of Toad Freeware for SQL Server from another machine, resulting in no errors.  My connection string, username and password are all
    set up according to the technet guide, including the encrypted password set by the encryption utility run the in F4SP Powershell.  The same user who runs the connector also ran the encryption tool, so that should not be a problem either.
    I've never had this kind of trouble connecting to Oracle databases with the JDBC connector for FAST ESP.  Any suggestions?  These failures aren't exactly helpful to me.  Thanks in advance.

    I found the solution to this problem in case anyone else was still curious.
    This was caused not by JDBC settings, permissions/access on SQL Server, etc.  It was caused simply by a missing SQL Server in F4SP configuration.  When you run the F4SP config wizard, either as single-node or multi-node installations, the wizard
    might end up ignoring the value you select for SQL Server, even if you are using a deployment XML file.  When configuring as a multi-node setup, the wizard ignored both my deployment XML tag <connector-databaseconnectionstring> and the SQL Server
    setting done manually in the wizard itself.  Examing the evidence, I suspect this was caused by corrupt installation media (since the installer also failed to create some core files in /etc upon doing a reinstall).
    The bottom line is that you must see a value for SQL Server in your install_info.txt file in order for the JDBC connector to work with SQL Server, like this:
    Other services
    Log Server:             myserver.mydomain.com:13415
    SQL Server database:    jdbc:sqlserver://myserver.mydomain.com;DatabaseName=FASTSearchAdminDatabase;integratedSecurity=true
    If you see this instead, the connector will never work:
    So, the JDBC connector is certainly dependent on the main configuration of F4SP, regardless of what SQL Server is targeted in your connector's XML configuration.
    Other services
    Log Server:             myserver.mydomain.com:13415
    SQL Server database:   
    ;integratedSecurity=true
    I had no idea there was a connection between my install_info setup and the use of the JDBC connector.  But, the connection makes sense considering this was the error message from the JDBC connector:
    09:20:04,016 ERROR [JDBCConnector] Caused by: No suitable driver found for ;integratedSecurity=true

  • Can i use Custom Tags for Database retrieval (as per MVC pattern)?

    In our project we are dealing with database, and i've used the Cutom Tags for database retrieval (as per the Article from Mr Faisal Khan) and it is working fine. But i have a doubt if it affects the performance in any way . I wanted to know if its recommendable to use Custom Tags for the DB retrieval as per MVC Pattern or shall i create a intermediate bean and then call the bean in custom tag.
    Thanks
    Prakash

    Putting database code in your JSPs certainly couples your view to the database. That's usually not good.
    If it's a simple app, it might be justified.
    When you start having lots of pages and complex business logic it becomes less attractive. - MOD

  • Jar files need for Custom connector API app

    hi all,
    I am doing an application regarding "Custom connector API", for doing the application I need "jdom,rome-0.6" jar files. kindly send these jar files it will be helpful to me. To do such custom connector API application any plugins must be added to  it, if so please let me know???
    thanks in advance,
    Aravind.

    Hi,
    You can find the jdom.jar file from the plugins/com.sap.km.rfwirad_7.1.5/lib/jdom.jar.
    If you add classlocator to your studio you can find the required jar file for your imported classes very easily. To add the classlocator to your studio go to the below blog
    Using JAR Class Finder
    Regards
    Suresh

Maybe you are looking for