SPML Generic Provider OIM 9.1

Hi,
In the document of OIM 9.1 it is written while describing predefined GTC that
SPML GTC generates following SPML requests
Add request
Modify request for the following Oracle Identity Manager process tasks:
Field updated
Add child data
Modify child data
Delete child data
Suspend request (for Disable Oracle Identity Manager process tasks)
Resume request (for Enable Oracle Identity Manager process tasks)
Delete request
Can anyone tell me what is the meaning of Suspend Request and resume Request? Dose it mean that it can suspend any pending task..suppose I have requested for a resource and it is in pending condition and then I want to suspend it. Am I correct? If yes, then it means these two requests can be used only in Asynchronous mode.....?
Thanks

There is no "sample" WSDL file, there is THE WSDL file. It is located in the OIMSpmlWS.ear EAR file, in spmlws.war WAR file in the directory WEB-INF/wsdl.

Similar Messages

  • SPML Webservice in OIM 11g

    Has anyone ever used SPML webservices in OIM 11g r1 or r2 ?
    My requirement is to invoke SPML webservice for creating a user from a third party application. pls help
    Can you please provide a working sample ?
    Thanks

    Has anyone ever used SPML webservices in OIM 11g r1 or r2 ?
    My requirement is to invoke SPML webservice for creating a user from a third party application. pls help
    Can you please provide a working sample ?
    Thanks

  • Questions about SPML Web Service ( OIM 9.1 )

    I need to launch a provisioning process on a target by using a generic connector (Web Service).
    Scenario:
    ==========
    Host A is where the OIM server is installed. A generic connector is defined here.
    Host B is the target where users must be created. A webservice (axis) is installed here.
    Requirements:
    ===========
    OIM server (Host A) sends a request to WebService (Host B). The Web service receives, process and sends a response with the result to the OIM server.
    Version 9.0.3
    ==============
    On Version 9.0.3 I got the expected results but a problem appeared: there wasn't feedback error control because the web service response could'nt be processed.
    I followed the next steps:
    1º deploy axis on application server
    2º write SendWSResponse.jws including public method "doProvisioning". Copy this file to ..\server\default\deploy\axis.war\
    3º compile SendWSResponse.jws (from a browser)
    4º Create generic connector (for reconciliation and provisioning). Definition of parameters and mappings.
    Note: In 9.0.3 version only three parameters were required for Web Service Definition:
    Web Service URL=http://host:8080/axis/SendWSResponse.jws
    Operation Name = doProvisioning
    SPML-->Target ID=4201
    Version 9.1
    ==============
    On the new version, the connector definition is more complicated. Also they have added an ear-application or web service (OIMSpmlWS) related to this connector .
    The first question is:
    Is this ear-application addressed to process the reponses that are sent by the target?
    The second question is:
    Must I install the OIMSpmlWS on Host B? and if the answer is affirmative, how can I include the logic to my provisioning process.
    And the most important?
    How might the connector be configured and the webServices in this usual scenario?
    Many thanks in advance

    There is no "sample" WSDL file, there is THE WSDL file. It is located in the OIMSpmlWS.ear EAR file, in spmlws.war WAR file in the directory WEB-INF/wsdl.

  • Can  SPML-DSML client (10g) talk to SPML-XSD in OIM 11g?

    Hello.
    I have a SPML client that works with OIM 10g. If I upgrade to OIM 11g, will my client continue to work, or will I need to re-code it?
    I understand OIM 11g supports the newer XSD profile of SPML, but I would hope it is backward compatible with clients written to work with the DSML profile (10g)...But when I got an error when I tried to hit the WS in SPML-XSD with my client, I decided to install the SPML-DSML app (using the SPML-DSML.ear found in my OIM 11g installation, same dir as DSML-XSD.ear).
    The web app shows as Active, however I cannot see any Web Services (tried URL http://<oim-server>:14000/spmlws) ... To confirm, when I open Enterprise Manage 11g, and I do see the app (spml-dsml) under Application Deployments --> Internal Deployments, but when I right click on it to get to Web Services, I get the message "No Web Services are found in the application"...
    I then tried un-installing SPML-XSD, but that did not help...
    Thoughts anybody?
    Edited by: user8663548 on Jul 12, 2012 5:46 PM

    Update:
    I tried again hitting the Web Service in SPML-XSD and saw this error in OIM server log (which I missed the first time, too busy looking at my client app log):
    <Jul 12, 2012 5:36:52 PM EDT> <Error> <oracle.wsm.resources.security> <WSM-00069> <The security header is missing. Ensure that there is a valid security policy attached at the client side, and the policy is enabled.>
    <Jul 12, 2012 5:36:52 PM EDT> <Error> <oracle.wsm.resources.security> <WSM-00006> <Error in receiving the request: oracle.wsm.security.SecurityException: WSM-00069 : The security header is missing. Ensure that there is a valid security policy attached at the client side, and the policy is enabled..>
    <Jul 12, 2012 5:36:52 PM EDT> <Error> <oracle.wsm.resources.enforcement> <WSM-07607> <Failure in execution of assertion {http://schemas.oracle.com/ws/2006/01/securitypolicy}wss-username-token executor class oracle.wsm.security.policy.scenario.executor.WssUsernameTokenScenarioExecutor.>
    <Jul 12, 2012 5:36:52 PM EDT> <Error> <oracle.wsm.resources.enforcement> <WSM-07602> <Failure in WS-Policy Execution due to exception.>
    <Jul 12, 2012 5:36:52 PM EDT> <Error> <oracle.wsm.resources.enforcement> <WSM-07501> <Failure in Oracle WSM Agent processRequest, category=security, function=agent.function.service, application=spml-xsd, composite=null, modelObj=SPMLService, policy=oracle/wss_username_token_service_policy, policyVersion=null, assertionName={http://schemas.oracle.com/ws/2006/01/securitypolicy}wss-username-token.>
    <Jul 12, 2012 5:36:52 PM EDT> <Error> <oracle.webservices.service> <OWS-04086> <oracle.fabric.common.PolicyEnforcementException: InvalidSecurity : error in processing the WS-Security security header
    Getting closer!
    Edited by: user8663548 on Jul 12, 2012 5:45 PM

  • GTC Connector using SPML Format Provider and Web Services Transport Provide

    Hello All,
    Did any body create a GTC connector which uses SPML Format for Format Provider and Web Services format for Transport Provider?
    Is there any doc which talks about the same?
    I need to provision to a system over web services and I thought GTC using the above formats should be an easy approach. Am I right?
    I was trying to follow:
    http://download.oracle.com/docs/cd/E14571_01/doc.1111/e14309/devgtc.htm#BABDFDFE
    But Iam getting lost in the immerse details.
    Thanks in advance.

    Hi ,
    I tried creating one and am getting the following error while provisioning:
    SPML Response failed V2 schema validation
    Th eoracle document says :Ensure that the SPML response returned by the target system conforms to the SPML V2 standard specification
    Please help me with the same. What is it that needs to be done here.
    Thanks
    WIP

  • Issues with WS/SPML Generic Technology Connector

    Hi,
    When a recon event occurs from my trusted source(user created in iPlanet), the user is to be provisioned to my WS based Target via the WS/SPML GTC.
    If I set the access policy to be 'with approval' (default approval process - approved by XELSYSADM), the provisioning shows up in the Admin's Pending Approvals, and I am manually able to approve and complete the provisioning.
    However, If I remove the 'with approval' from the access policy, the GTC Framework Provisioning fails, and the entire transaction is rolled back - i.e., the user is not even created in OIM (but the event shows up in the User Management -> Reconciliation Manager of the Design Console).
    I would like to completely automate the provisioning, i.e. the user created in iPlanet should be reconciled and automatically provisioned via the GTC without the intermediate approval step.
    Any clues on how to set this right?
    AJ

    at com.thortech.xl.dataobj.tcRCE.finishDataReceived(Unknown Source)
         at com.thortech.xl.schedule.jms.reconOffline.ProcessOfflineReconMessages.finishReconciliationEvent(Unknown Source)
         at com.thortech.xl.schedule.jms.reconOffline.ProcessOfflineReconMessages.execute(Unknown Source)
         at com.thortech.xl.schedule.jms.messagehandler.MessageProcessUtil.processMessage(Unknown Source)
         at com.thortech.xl.schedule.jms.messagehandler.ReconMessageHandlerMDB.onMessage(Unknown Source)
         at sun.reflect.GeneratedMethodAccessor304.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at org.jboss.invocation.Invocation.performCall(Invocation.java:345)
         at org.jboss.ejb.MessageDrivenContainer$ContainerInterceptor.invoke(MessageDrivenContainer.java:475)
         at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:185)
         at org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor.invoke(MessageDrivenInstanceInterceptor.java:87)
         at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:48)
         at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:105)
         at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:335)
         at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:166)
         at org.jboss.ejb.plugins.RunAsSecurityInterceptor.invoke(RunAsSecurityInterceptor.java:94)
         at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:192)
         at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122)
         at org.jboss.ejb.MessageDrivenContainer.internalInvoke(MessageDrivenContainer.java:389)
         at org.jboss.ejb.Container.invoke(Container.java:873)
         at org.jboss.ejb.plugins.jms.JMSContainerInvoker.invoke(JMSContainerInvoker.java:1090)
         at org.jboss.ejb.plugins.jms.JMSContainerInvoker$MessageListenerImpl.onMessage(JMSContainerInvoker.java:1392)
         at org.jboss.jms.asf.StdServerSession.onMessage(StdServerSession.java:256)
         at org.jboss.mq.SpyMessageConsumer.sessionConsumerProcessMessage(SpyMessageConsumer.java:904)
         at org.jboss.mq.SpyMessageConsumer.addMessage(SpyMessageConsumer.java:160)
         at org.jboss.mq.SpySession.run(SpySession.java:333)
         at org.jboss.jms.asf.StdServerSession.run(StdServerSession.java:180)
         at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:743)
         at java.lang.Thread.run(Thread.java:534)
    Caused by [Nested Exception]:
    Thor.API.Exceptions.tcAPIException: java.lang.RuntimeException: Invalid user found: Unknown; nested exception is:
         java.lang.RuntimeException: java.lang.RuntimeException: Invalid user found: Unknown
         at Thor.API.Operations.tcObjectOperationsClient.findObjects(Unknown Source)
         at sun.reflect.GeneratedMethodAccessor298.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at Thor.API.Base.SecurityInvocationHandler$1.run(Unknown Source)
         at Thor.API.Security.LoginHandler.jbossLoginSession.runAs(Unknown Source)
         at Thor.API.Base.SecurityInvocationHandler.invoke(Unknown Source)
         at $Proxy1029.findObjects(Unknown Source)
         at com.thortech.xl.ejb.beansimpl.GCOperationsBean.checkResourceObject(Unknown Source)
         at com.thortech.xl.ejb.beans.GCOperationsSession.checkResourceObject(Unknown Source)
         at com.thortech.xl.ejb.beansimpl.GCOperationsBean.getModelFromConnectorDefinition(Unknown Source)
         at com.thortech.xl.ejb.beansimpl.GCOperationsBean.lookup(Unknown Source)
         at com.thortech.xl.ejb.beans.GCOperationsSession.lookup(Unknown Source)
         at sun.reflect.GeneratedMethodAccessor334.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at org.jboss.invocation.Invocation.performCall(Invocation.java:345)
         at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionContainer.java:214)
         at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:185)
         at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstanceInterceptor.java:130)
         at org.jboss.webservice.server.ServiceEndpointInterceptor.invoke(ServiceEndpointInterceptor.java:51)
         at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:48)
         at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:105)
         at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:335)
         at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:166)
         at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:139)
         at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:192)
         at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122)
         at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:624)
         at org.jboss.ejb.Container.invoke(Container.java:873)
         at sun.reflect.GeneratedMethodAccessor117.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
         at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
         at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
         at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:249)
         at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
    ...

  • Generic connector with webservice and SPML provider

    Hi,
    I have created a Generic connector in Oracle Identity server successfully with Webservice transport porvider and SPML payload provider. But when I am trying to create a user using this connector I am getting following error in OIM server log:
    AJPRequestHandler-RMICallHandler-20 XELLERATE.WEBAPP - Setting the response code as GCPROV.ProvTransportProvider.WebServices.Caught exception while handling request: malformed array t
    Can anyone please help me regarding this? I am even not able to identify where it is getting failed.
    Thanks in advance

    This is what I've found in the docs:
    "Each SPML request is sent in a SOAP message. The SOAP header carries authentication information for the request. The actual SPML request data is the SOAP message body. "
    All I'm trying to do is create a SOAP web service (in this case with Java 6, but that's not fundamental) that can intercept that message and grab the SPML request (and then do what I have to do).
    I tried with something like the following code:
    package wsspml;
    import javax.jws.WebService;
    import java.io.IOException;
    import java.util.logging.*;
    @WebService
    public class SPMLServer {
         public String processRequest(String requestData) {
    but it won't work. It's like the exposed SOAP method "processRequest" is invisible. It's not being called. Perhaps the signature is wrong. I don't know what to make of it. I'm trying to understand how to grab that SPML request that's coming from OIM through the custom generic technology connector that I configured.

  • Generic Connector - Web Services - Format provider other than SPML?

    Hi.
    Using OIM, I need to "talk" with Windows Sharepoint [Web] Services in order to provisioning an user (actualy, I need to associate a user to a Sharepoint Group).
    To do that, I'm exploring the Generic Technology Connector capabilities.
    From what I understand reading the documentation, the target Web Services have to "understand" the "SPML" format provider standard, and I didnt have found any evidences that the Sharepoint Services are SPML compliant.
    So, my questions are:
    1) Anyone knows of a GTC talking with Web Services non-SPML compliant (in particular, Microsoft-branded Web Services)?
    2) Are there alternative ways of doing what I need (using the Generic Connector... or not)?
    Thanks in advance.

    the way we did it was to get the wsdl of the service you need to talk to.
    try and create the client stubs with axis or xfire (depending on which version of axis you may need other than rpc/encoded format) create the standalone client to test you service.
    once you get it working take you client code, jar it up into the ThirdParty directory along with the required jars for the service implementation.
    then write your adapter using the code from the your client jar.
    Fred

  • Query regarding SPML in OIM

    Hi All,
    I am working on SPML module of OIM. Really appreciate if someone could tell me the madness behind my curiosity 
    1.     Through SPML can we set/recover User’s Challenge Question answer? I went through the search query response and couldn’t able to locate any attribute against which these values have been set.
    2.     Another issue is that if I didn’t provide any organization to user while self-registration it doesn’t get provisioned with success result. I was expecting here that request should go to Admin Pending items but couldn’t able to locate it. Can’t we achieve the Self-registration type scenario that OIM provides by default through SPML?
    3.     How can we assign the target resources to user (LDAP, RCAF etc) through SPML so that user’s account gets provisioned in these resources? Also if we want to trigger some process (Workflow), how can this be done using SPML.
    Thanks
    Amit

    Any clue??

  • OIM SPML lookup requests

    Hello.. Can SPML service in OIM return User Defiend Fields of a user as a response in a "Lookup" / "Search" operation? If so can we restrict the User Defined Fields that can be returned in the response? .. Thank you.

    Yes. It returns the UDF fields in the Lookup/Search responses. Do not know how to restrict only those UDF. :)

  • Peoplesoft - OIM via SPML - howto?

    G'day.
    I have Peoplesoft "HRMS and Campus Solutions 9.00.00.000" Tools release "8.48.15"
    I also have Oracle Identity Management (OIM) version 9.1.
    I want to be table to 'hire' someone in PS and have them appear in OIM, with updates from PS being replicated down to OIM (and changes in OIM replicated back to PS - but that is optional, at this stage).
    I have found the 'connectors' in OIM but they appear to be going in the wrong direction, unless I am mistaken.
    Can PS generate SPML provisioning into OIM?
    Can someone point me to a step by step 'howto'?
    Any assistance would be greatly appreciated.
    ...Lyall

    Maybe not using SPML, but creating users in OIM and keeping them up to date (PS being a source of truth).
    ...Lyall

  • OIM 11gR2 provisioning with GTC

    Hello,
    We are curently implementing Oracle Identity Manager 11gR2, and we are having difficulties with the implementation of the provisioning from OIM to the Target Systems exposed through a webservice on Oracle Service Bus.
    We are using the Generic Technology Connectors as a basis of working. And initially we have created a GTC with only reconciliation Transport & Format Providers:
    Connector Name TargetSystem1
    Transport Provider (Provisioning):
    Format Provider (Provisioning):
    Transport Provider (Reconciliation): Database Application Tables Reconciliation
    Format Provider (Reconciliation): Database Application Tables Reconciliation
    We have configured the Process Definition of TargetSystem1 with all the operations (Create User, Update User, Enable User, Disable User, Delete User, etc.) connected with custom Java implementations, that are working just fine is we trigger them form Eclipse. The “Create User” task has only “Required for Completion”, “Allow Cancelation while Pending” and “Allow multiple instances” check boxes set to CHECKED; it also has all the fields in Integration TAB mapped, Responses mapped, but when we create a User in OIM and provision it with an account on the TargetSystem1_GTC Application Instance, the provisioning process in not accessing the “Create User” task to make the provisioning in the target system. The user that we are trying to provision has the account Status set to “Provisioning” and the Account Type set to “Unknown”. We have also checked the logs of OSB, but there is no activity there, because no request from OIM is being received.
    After we investigated more closely the Oracle documentation for the Generic Technology Connectors we discovered that if we do not select Transport & Format Providers during the GTC creation, then the corresponding steps are not performed and they are not initialized, thus the provisioning cannot be done. The documentation also states that if we need to create custom providers in order to make the Provisioning with the GTC, but unfortunately we have no knowledge or any examples on how to do such custom providers for the provisioning of Users from OIM on the target systems via the Oracle Service Bus.
    We have installed a second GTC with both provisioning and reconciliation Transport & Format Providers:
    Connector Name: TargetSystem2
    Transport Provider (Provisioning): Web Services
    Format Provider (Provisioning): SPML
    Transport Provider (Reconciliation): Database Application Tables Reconciliation
    Format Provider (Reconciliation): Database Application Tables Reconciliation
    The Web Services and SPML options were the only options that we could select from the out of the box connectors that are installed, and we did not find any other connectors in the download section of Oracle for this product, that can accommodate such communication. So, we configured the provisioning accordingly, and modified the “Create User” task from the TargetSystem2_GTC Process Definition, in order to use our custom adaptor instead of the adpTargetSystem2_GTC adapter that was preset when the TargetSystem2_GTC is created. But this does not help us, because the provisioning is not done, and the “Create User” task is not used. The user that we are trying to provision has the account Status set to “Provisioning” and the Account Type set to “Unknown”.
    Next we tried to see if the GTC can be used to communicate directly with the OSB, using the Web Services Transport Provider and SPML Format Provider, and we did not make any modifications to the after the normal installation of the TargetSystem2 GTC. In this case the we can see that the OSB is being accessed by OIM, but unfortunately this case does not help us also, because the operations implemented on the OSB webservice have a different structure then the one SPML expects as default:
    Caused by: com.thortech.xl.gc.exception.XSDValidationException: The SOAP response does not contain a valid SPML response type. Should be one of these -->addResponse modifyResponse deleteResponse resumeResponse suspendResponse setPasswordResponse
    Do you have any suggestion on how to make the provisioning process work?
    Edited by: user1717356 on 22.10.2012 03:22

    Hi,
    I think you need to put this check only for few attributes?
    If Yes, then lets suppose you want to have a check for Country Field in Database which once modified by target Admin, then OIM should know.
    1) Create one dummy field CountryDummy (Hidden) in OIM TargetProcess form and dont map it to any target attributes. This dummy field will only store values populated from OIM user profile to -> DB Connector Process Form.
    2) On success of "Reconcilation Update Recievced", Put a custom process task which does a comparison with "CountryDummy" & "Country" and inform Admin using email notifications that this mismatch has been found.
    HTH,
    ~J

  • OIM 9.1 User data set

    Hi,
    In release note of 9.1 it is mentioned that :
    Display of all OIM User attributes on the Step 3: Modify Connector Configuration page
    On the Step 3: Modify Connector Configuration page, the OIM - User data set now shows all the OIM User attributes. In the earlier release, the display of fields was restricted to the ones that were most commonly used.
    and
    Attributes of the ID field are editable
    On the Step 3: Modify Connector Configuration page, you can modify some of the attributes of the ID field. The ID field stores the value that uniquely identifies a user in Oracle Identity Manager and in the target system.
    Can anyone please guide me how to get both things as I am getting only few fields of user profile in OIM-USer data set and also not able to modify ID field.
    I am using OIM 9.1 on Websphere application server 6.1
    Thanks

    Unfortunately i do not have experience using the SPML generic connector. Have you read through all the documentation pertaining to the GTC?
    -Kevin

  • Generics - re-writed version

    Hello all. I am building a small app that requires a persistence manager to save objects in an xml repository file.
    I am trying to use generics to see if I can avoid casting objects from a general super class to concrete class. Lets say Entity and Person.
    For a store method. I wrote this:
         public <E extends Entity> void store(E entity);Lets say that inside store method I delegate the translation from the entity Person or whatever to a Node element. Somewhere you would have to cast the E type (from generics) to Person. right? like:
    persistence manager code:
    private void save(Person person){
        ..transform the object to xml and save it
    public <E extends Entity> void store(E entity){
         this.save((Person)entity);
    } client code:
    Person person = new Person("Jon", "Stewart");
    myStorage.store(person);May be the GET statement would be easier to understand. My get looks something like this:
    persistence manager code:
        public <E extends Entity> E getEntity(int id) {
            return null;
        } client side code:
       Person person = myStorage.get(32);I avoid casting from the client side by using generics here.
    How can I best avoid casting?
    You see, I am trying to avoid Casting as much as I can.
    I have to translate an entity to an xml node, then append the node to a parent node, thus persisting it to the original document.
    I created some XmlTranslators. and a subclass for each different type of entity. I don't think this is such a good aproach. But I didn't had any better Idea at the time (would be great to hear sugestions).
    I have a Switch statement that evaluates the entity.entityType (an enumerator type) and as I showed before in the example I cast to the subclass type (Person).
    Am I doing this the right way? or just the complicated way.
    My goal is to reduce code in store methods and avoid as much casting as I can.
    May be by trying to do it all I got a little lost. If some one could share his/her views on the matter and maybe show me a better practice, I would appreciate it very much.

    To make use of generics, you must have knowledge about the types at compile time. If the instance you call getEntity on does not have this information, there is no real use to provide a method implicitly casting to your type (as this may fail any time). If the instance knows about it, you can implement something like follows:public interface EntityProvider<E extends Entity> {
        public E getEntity(int id);
        public void store(int id, E entity);
    public class PersonProvider implements EntityProvider<Person> {
        public Person getEntity(int id) { ... }
        public void store(int id, Person person) { ... }
    }Alternatively a generic Provider class, operating on E that will be instantiated with the concrete Entity-type as generic parameter.

  • Code to reconsile the accounts on OIM

    write a program to mass creating resource objects for ABC account and ABC responsibility
    The ABC resource objects have been implemented on OIM. A few hundreds of ABC accounts and ABC responsibilities are mass created in ABC. Then, the ABC team provides OIM team those mass created ABC account and ABC responsibilities information in spreadsheet. Please assess the effect to write a program to create ABC account objects and ABC responsibilities objects for the users listed in the spreadsheet in OIM. Please bear in mind ‘NO’ actual provisioning is required. The purpose is only to get both OIM & ABC in-sync.
    Sample ABC account file
    employee#, last_name, first_name, primary position
    Sample ABC responsibility file
    employee#, responsibility_name
    This is the requirement given to us..
    Can someone help what needs to be done for this.
    we just need to write a java code???
    and approximately how much time effort this task will take???
    Thanks & regards,
    Edited by: user12195469 on Nov 30, 2009 4:49 AM

    HI.
    I need help again.
    now here are soem queries I asked:
    Are we going to get the user information in spreadsheet in future for synchronization, If user are created directly on ABC?
         CY>> Only ABC specific information will be provided in the spreadsheet for e.g. the primary position, position type, responsibility. The user specific information for e.g. Business unit, telephone number, first name, last name..and etc. can be obtained from user table in OIM.
    If users are already created, can’t we pick the user information directly from LDAP using connector?
         CY>> The user information loaded from LDAP to OIM 4 times in a day. Thus, you can get the user information directly from OIM.
    As the OIM GTC doesn’t provide feature to read the spreadsheet so are we suppose to develop the custom connector.
         CY>> During the previous implementation, custom script was written to read from text file.
    Can we get the account and responsibility file in any other format(.csv /.txt)?
         CY>> What format that you propose?
    what I got from these is that users alreadu exists in OIM also ad reconcilations is done from LDAP.
    now I am confused what exactly I need to do as I got from requirement wa sthat I need to create users in OIM and then assign resource to them.
    Please please please help!!!! urgent
    else I will be shot.
    Edited by: user12195469 on Dec 11, 2009 12:08 AM

Maybe you are looking for

  • How can I give back an iphone found in Spain?

    On september I found an Iphone 4, with an Orange Sim card into the water at Cala Macarrella, Menorca. I did call Orange Spain, I sent an email to Orange Uk with the phone data and my contacts in order to give back the iphone to the owner but I did no

  • How to add tags to SharePoint via Powershell?

    Hi, I have a large directory of folders and files that I have to upload onto SharePoint Online. The only thing is, my boss wants to keep the folder structure but not the folders Basically he wants to use the folder names for tags and upload files und

  • Netbeans UTF-8 cannot read arabic characters

    Hi I wondering how to deal with arabic in netbeans my platform is Vista with Nebeans5.5 and the locale is Arabic I try this : Properties pi = System.getProperties(); pi.put("file.encoding", "UTF-8"); System.setProperties(pi);         System.out.print

  • Rendering the timeline, error. iMac

    It´s rendering for a while but then this error message is coming up. The machine is not chrashing or anything. Except from that the machine is not able to complete the rendering.

  • Session and Web Services

    session variables can't store session data when using for Web Services, is that right?