Webdynpro Java API Connection to MDM 7.1

Hello,
I have created several Webdynpro Java Applications to Connect to the MDM Repository and update/delete Records. To connect to the Repository ,I used the UserSession Context with which the userid/password is specified to connect to the Repository.
Now , if in future the password changes, I have to modify it in the UserSession Context Object each time . So is there a way ,we just update the password in one central location/file and the Webdynpro Java Application picks it up from there.
Any help would be highly Appreciated.

Sure
Thanks for the SAP Note, its a direct solution from SAP.
However I didnt have much time to implement it so found a workaround.
In my project we use MDM WD Configurations as well.
So I created a dummy ItemDetails WD Configuration( whose project uses the Destination is configured to use PROPAGATION)
line 1 : Created an emty RepositoryBean object : _repositoryBean = new RepositoryBean()
line 2 : wdThis.wdGetUC_ItemDetailsInterface().setConfiguration("<MDM WD PROJECT>", "<MDM WD CONFIG>"); //could be any config : resultset search ID
line 3 : (UserSessionContext)_repositoryBean.getUserSessionContext()
And viola I got it without any more coding

Similar Messages

  • How to read "Customixed Information" in UME using WebDynpro Java APIs

    Dear All
    In our Portal UME we have defined 3 custom fields that appear in the "Customized Information"
    tab in the standard Portal "Identity Mangagement" application ie:
    krb5principalname :
    How can I retrieve the custom fields and values using WebDynpro APIs?
    I have the following basic code to retrieve the standard user session information, but
    do not know how to extend it to extract the values of the custom fields.
    Full points will be awarded to whoever answers question with suggestion that works.
    Many thanks in advance
    Mike

    Hi Mike,
    Following code is for just one custom attribute <custom attribute>
                                  String namespaces[] = umeUser.getAttributeNamespaces();
                                  String ns = null;
                                  for (int i = 0; i < namespaces.length; i++) {
                                       if (i > 0)
                                            ns = namespaces[ i ];
                                       String attrNames[] = umeUser.getAttributeNames(ns);
                                       if (ns != null){                                   
                                   if(ns.equals("<name-space>")){     
                                       for (int j = 0; j < attrNames.length; j++) {
                                            if(attrNames[j].equals("<custom attribute>")){                                        
                                                 Object attr[] = umeUser.getAttribute(ns, attrNames[j]);
                                                 for (int k = 0; k < attr.length; k++){
                                                      if(!(null == attr[k])|| !(attr[k].toString().length() == 0)){                                                  
                                                           //attr[k].toString() has the custom attribute value
                                                      break;
                                            }else
                                                 continue;               
                                   }else
                                       continue;
    Where <name-space> is the same value you set in config tool or on portal UME configuration.
    Config Tool: Global Service Configuration>services->com.sap.security.core.ume.service>ume.virtual_groups.user_attribute.namespace
    Portal
    System Administration>System Configuration>UME configuration> User Admin UI tab>
    Custom attributes of the user profile
    Administrator-Managed Custom Attributes: add ;<name-space>:<custom-attribute>
    Hope this helps

  • SAP MDM Connection with WebDynpro Java

    Hi,
    I am working with SAP WebDynpro Java (UI) and SAP MDM (Database). I had added the respective jars-
    a) I want to test whether I am able to make a connection to the MDM server. Let me know input parameters (sample source code required) which I need to pass from SAP WebDynpro Java (UI) to make a successful connection to MDM (DB). Please let me know this in details.
    b) After making connection to MDM, I need to write a query where I need to pass Lot No1 & Lot No2 from WebDynpro Java (UI) & check in a MDM table numbers of records existing and later display  the corresponding records details  (sample source code required) in the screen.
    Your inputs will be highly appreciated.
    Thanks.

    Anmol,
    Depending on what version of WAS you are on...you might have WDJ components available that you can use. Just to offer a different view on your question.
    Otherwise follow the links above or the following link to get sample code.
    Read MDM ItemDetail Record in WDJ
    You should get lots of sample code on SDN.
    Thanks,
    Praveen.

  • Use MDM java Api for saving an image to mdm image table

    Hi experts
    I want to save an image from web dynpro java to MDM image table using java Api's
    Can anyone provide a code snippet .
    I am using MDM 7.1 sp6.
    Thanks and regards
    Suresh

    Hello Suresh
    Unfortunatly, this is no possible, i mean, to load images to mdm repository through JAVA API.
    Sure you can do it directly to database ( but for that you need to do saome investigation)
    Here you can found JAVA API classes for MDM:
    http://help.sap.com/javadocs/MDM71/
    Next two classes are working with BLOBs (pdf, images, video, etc.) in MDM repository:
    com.sap.mdm.blobs
    com.sap.mdm.blobs.commands
    Regards
    Kanstantsin chernichenka
    Edited by: kanstantsin_ch on Sep 8, 2011 2:36 PM

  • National characters and new Java API

    Hi All,
    I'm looking for your experience with new java api and national characters (like: ü, &#347;, &#263;, etc.). The problem is that when record was updated using MDM Data Manager, and retrieved using new java api - national character are invalid (in java string the national character are represented incorrectly).
    It's strange due to fact that when I create or update this record from java API it's looks fine. Second finding is that old java api (MDM4J) works fine on text fields with national characters.
    Maybe I forget to set something in server configuration / repository / or on java api connection - any help appreciated...
    Regards, marcin

    While retrieving data via the Java API 2,
    you should set the Unicode Normalization after the user session is authenticated.
    I guess this is available in SP5 patch.
    The documentation for this is available at
    https://help.sap.com/javadocs/MDM/current/index.html
    Package: com.sap.mdm.commands
    SetUnicodeNormalizationCommand cmd = new SetUnicodeNormalizationCommand(connectionAccessor);
    cmd.setSession(userSession);
    <b>cmd.setNormalizationType</b>(SetUnicodeNormalizationCommand.NORMALIZATION_COMPOSED);
    cmd.execute();
    This command is used to set the Unicode normalization.  This is used for the lifetime of the session. It should be set after the session is authenticated.
    Unicode normalization is important when a text string is represented differently depending on the normalization used. The MDM server always store text strings in one normalization format. An user providing a text string to the MDM server and later on tries to retrieve back the same text string might get the text string back in a different normalization. To resolve this issue, the user can use this class to specify the normalization the user wants to work with. The MDM server will always return text strings in the normalization specified by this class.

  • How to start to work on MDM JAVA API by using webdynpro for java

    Hi all
    I have basic idea on MDM business package thru portal by using standard iViews.
    now i am planning to work on MDM JAVA APIs by using Webdynpro for Java as UI.
    1) can you please share the required documents on the same. how to start working on this by using MDM JAVA APIs in webdynpro for java
    2) what are the JARs files are required and how to integrate those jar files into webdynpro for java application.
    3)  is there any SDN help on MDM JAVA API with webdynpro for java? . can you please send the link on the same.
    4) can you please help by providing sample code on how to use JAVA APIs for retrieving,deleting,inserting and Updating the data in the database.
    if anybody helps on the same then it is the great help to me.
    points are always rewardable...
    Regards
    Suresh babu

    Hi Suresh,
    You can have the MDM JAVA API javadocs from the link
    http://help.sap.com/javadocs/MDM/SP06P2/index.html
    There you can see a package named com.sap.mdm.examples.The classes in it contains some examples using which you can start understanding the code.
    You need to have MDM JAR files for it. And these JAR files to be used at build time can be added to the project thru :-
    Right click on project-> properties->Java Build Path - > Add external JARs
    At run time you can add them the reference in
    Right click on project-> properties->web dynpro references->library reference.
    Thanks
    Namrata

  • Failed to connect to MDM via Java API

    Hi,
    I wrote a very simple application in which there is a view which
    calls the component contoller. The Component Controller
    connects to MDM Repository.
    I think I am wrong with the calling of Component from Web Dynpro view.
    As, the code resulting in no error or success.
    Please suggets something.
    public void getRepositoryConnection( java.lang.String hostName, java.lang.String repositoryName, java.lang.String userId, java.lang.String passWord )
        //@@begin getRepositoryConnection()
    //          create connection pool to a MDM server
             String serverName = "kolapon.HCLT.CORP.HCL.IN";
             ConnectionPool connections = null;
             try{
                  connections=ConnectionPoolFactory.getInstance(serverName);
             catch(ConnectionException e)
             { e.printStackTrace();
                  return;
    //          specify the repository to use
                               // alternatively, a repository identifier can be obtain from the GetMountedRepositoryListCommand
                           repositoryName = "KaushikRepo";
             String dbmsName ="MDM";
              RepositoryIdentifier reposId = new RepositoryIdentifier(repositoryName, dbmsName, DBMSType.ORACLE);
    //          get list of available regions for the repository
              GetRepositoryRegionListCommand regionListCommand = new GetRepositoryRegionListCommand(connections);
              regionListCommand.setRepositoryIdentifier(reposId);
              try{
                   regionListCommand.execute();
              catch(CommandException e)
                   e.printStackTrace();
                   return;
         RegionProperties[] regions = regionListCommand.getRegions();
    //      create a user session
          CreateUserSessionCommand sessionCommand = new CreateUserSessionCommand(connections);
          sessionCommand.setRepositoryIdentifier(reposId);
          sessionCommand.setDataRegion(regions[0]); // use the first region
         try {
                                   sessionCommand.execute();
                              } catch (CommandException e) {
                                   e.printStackTrace();
                                   return;
         String sessionId = sessionCommand.getUserSession();
    //      authenticate the user session
          String userName ="kaushikb";
          String userPassword ="taton";
          AuthenticateUserSessionCommand authCommand =
                                    new AuthenticateUserSessionCommand(connections);
          if(authCommand!=null)
               wdComponentAPI.getMessageManager().reportSuccess("Success");                          
          else{
               wdComponentAPI.getMessageManager().reportWarning("Failure");
          authCommand.setSession(sessionId);
          authCommand.setUserName(userName);
          authCommand.setUserPassword(userPassword);
          try {
                                    authCommand.execute();
                               } catch (CommandException e) {
                                    e.printStackTrace();
                                    return;
                               // the main table, hard-coded
           try{
              GetRepositorySchemaCommand getRepositorySchemaCommand = new GetRepositorySchemaCommand(connections);
              getRepositorySchemaCommand.setSession(sessionId);
              getRepositorySchemaCommand.execute();
              RepositorySchema repositorySchema;
              repositorySchema = getRepositorySchemaCommand.getRepositorySchema();
              TableId tableId= repositorySchema.getTable("MDM_BUSINESS_PARTNERS").getId();
         RecordFactory.createEmptyRecord(tableId);
         //RecordFactory.createEmptyRecord(mainTableId);
         if(tableId!=null)
              wdComponentAPI.getMessageManager().reportSuccess("It is success");
         else{
         wdComponentAPI.getMessageManager().reportWarning("Failure");     
    catch(Exception ce)
    ce.printStackTrace();     
    //  catch(SessionException se)
    //se.printStackTrace();
        //@@end
    Regards
    Kaushik Banerjee

    Hi Jitesh,
    getRepositoryConnection() is my method which does the connection.
    Now, there are methods as :
    getFields
    public FieldId[] getFields()Get array of field IDs for all populated records.
    Returns:
    array of field IDs. Empty array is returned if any field was populated
    getFieldValue
    public MdmValue getFieldValue(FieldId fieldId)
                           throws java.lang.IllegalArgumentExceptionGet value of the specified field.
    Parameters:
    fieldId - field ID
    Returns:
    field value
    Throws:
    java.lang.IllegalArgumentException - if field with specified ID does not exist or was not populated
    I want to use all these methods.
    So, I need to declare these methods in the Controller Class and these methods will call themselves so, that I can achieve the real purpose of creating records, getting values from the field and getting field Ids etc.
    Regards
    Kaushik Banerjee
    Edited by: Kaushik Banerjee on Apr 28, 2009 7:09 AM

  • Error while connecting to MDM server from Webdynpro

    Hi ,
       I am trying to connect to MDM server (5.5 SP04 no patches) through a webdynpro application . The following is the piece of code that I am using as a test .
    CatalogData CatalogData = new CatalogData();
        int resultLogin = 0;
        try {
              resultLogin = CatalogData.Login("USNOC01AQ05",2005,"Admin","Erico1234","English [US]");
        }catch(Exception e){
              wdContext.currentContextElement().setValueattr("Not Connected");
             //System.out.println("Error while establishing connection");
        if (resultLogin != RC.RC_OK){
              wdContext.currentContextElement().setValueattr("Not Connected");
             //System.out.println("Error logging to the SDM server");
             //System.exit(-1);
         wdContext.currentContextElement().setValueattr("Connected");
        //System.out.println("MDM server connected");
    The import statements are as follows
    import a2i.common.CatalogData;
    import a2i.generated.RC;
    I have put the following jar files in the java build path
    MDM4J
    mdm-admin
    mdm-common
    mdm-core
    mdm-data
    mdm-protocol
    When I deploy my application I get the following error
    java.lang.NoClassDefFoundError: a2i/common/CatalogData
    It can't be determined from the exception chain, which class loader failed to load the above class. But at least the class loader of the current application does not contain a resource with name 'a2i/common/CatalogData'.
    What do you guys think is the problem ?
    Regards
    DeepaK Singh

    Hi ,
       I found a document which says that MDM4J is the legacy API and is considered deprecated .The MDM Java API is the new one .I have both of them in the java build path . I am not sure if this is that cause of the problem .
    Now I had a look at the javadoc for the new API but I am not able to locate the class to obtain a connection to the MDM server from a custom application being built in Netweaver Developer Studio . Can someone help me out with the same ?What would be the code to obtain the connection to the MDM server with the new JAVA API ?
    Regards
    DeepaK Singh

  • Deployment Issue with MDM Java API exposed as Webservice using EJBS

    Hi Experts,
    I am implementing MDM Java APIS in Stateless session bean.Exposed that bean as Webservice and using that webservice in
    Webdynpro through Adaptive Webservice Model.
    I am facing following issue:
    Webservice works fine after deployment,after some number of execution webservice stops working and gives exception.After
    Redeployment of the Webservice, it starts working again works fine some number of execution.
    I am Using new MDMJava API.
    MDM Server Details: MDM 5.5 SP06
    I am using following code for connetion
    //////////////*************Getting Connection************///////
              ConnectionPool pool = null;
              String sessionId = null;
              try {
                   pool = ConnectionPoolFactory.getInstance("Server Ip");
              } catch (ConnectionException e1) {
                   System.out.println(e1.getMessage());
    //////////////*************Repository Session************///////
    CreateRepositorySessionCommand repSeession =
                   new CreateRepositorySessionCommand(p_pool);
              repSeession.setRepositoryIdentifier(p_repId);
              try {
                   repSeession.execute();
              } catch (CommandException e2) {
                   System.out.println(e2.getMessage().toString());
              String repIID = repSeession.getRepositorySession();
              //     Authenticate Repository
              AuthenticateRepositorySessionCommand autRepSeesion =
                   new AuthenticateRepositorySessionCommand(p_pool);
              try {
                   autRepSeesion.setSession(repSeession.getRepositorySession());
                   autRepSeesion.setUserName(p_user);
                   autRepSeesion.setUserPassword(p_Password);
                   autRepSeesion.execute();
              } catch (CommandException e3) {
                   System.out.println(
                        "RepSession Seesion" + e3.getMessage().toString());
              return autRepSeesion.getSession();
    //////////////*************user Session************///////
    GetRepositoryRegionListCommand regionListCommand =
                   new GetRepositoryRegionListCommand(p_pool);
              regionListCommand.setRepositoryIdentifier(p_repId);
              try {
                   regionListCommand.execute();
              } catch (CommandException e) {
                   System.out.println(e.getMessage().toString());
              RegionProperties[] regions = regionListCommand.getRegions();
              //                                 create a user session
              CreateUserSessionCommand UsersessionCommand =
                   new CreateUserSessionCommand(p_pool);
              UsersessionCommand.setRepositoryIdentifier(p_repId);
              UsersessionCommand.setDataRegion(regions[0]);
              // use the first region
              try {
                   UsersessionCommand.execute();
              } catch (CommandException e) {
                   System.out.println("UserSession" + e.getMessage().toString());
              String UsersessionId2 = UsersessionCommand.getUserSession();
    AuthenticateUserSessionCommand authUserCommand =
                   new AuthenticateUserSessionCommand(p_pool);
              authUserCommand.setSession(UsersessionCommand.getUserSession());
              authUserCommand.setUserName(p_userId);
              authUserCommand.setUserPassword(p_password);
              try {
                   authUserCommand.execute();
              } catch (CommandException e) {
                   System.out.println("User Seesion" + e.getMessage().toString());
              return authUserCommand.getSession();
    //////////////*************Destroy Session************///////
         DestroySessionCommand destroySessionCommand =
                   new DestroySessionCommand(p_pool);
              destroySessionCommand.setSession(p_repsession);
              try {
                   destroySessionCommand.execute();
              } catch (CommandException e) {
                   e.printStackTrace();
              destroySessionCommand.setSession(p_Uesrsession);
                   try {
                        destroySessionCommand.execute();
                   } catch (CommandException e) {
                        e.printStackTrace();
    Do we need to relase the connection pool object also?
    Can anyone help me with the code how that can be achived?
    Please Reply if anyone has come accross similar issue or know what can be the solution.
    Thanks in Advance.
    Regards Shruti
    Edited by: Shruti Shah on Dec 18, 2008 12:52 PM

    Hi Nitin,
    Thanks for the prompt Response.
    Even I am guessing that its becose of Connection pool.
    I am destroying session as follows
                   DestroySessionCommand destroySessionCommand =
                   new DestroySessionCommand(p_pool);
              destroySessionCommand.setSession(p_repsession);
              try {
                   destroySessionCommand.execute();
              } catch (CommandException e) {
                   e.printStackTrace();
              destroySessionCommand.setSession(p_Uesrsession);
                   try {
                        destroySessionCommand.execute();
                   } catch (CommandException e) {
                        e.printStackTrace();
    But I didnot find any method by which i can close realsse connection from connection pool.
    It would be great if you can help me how close or realese those connection.In MDM Console i am able to see those sessions even after destroying them.
    Regards Shruti.

  • How to access the SAP MDM destinations using mdm java api in 7.1

    hi,
    I have SAP MDM 7.1 SP11 and SAP Portal 7.3 and developing the custom webdynpro application using the  JAVA MDM API. I want configure the SAP MDM destinations in SAP Portal .
    How to access the MDM destinations in java code using API? and how to create the connection with MDM using the MDM destinations.
    Please provide the code for access the SAP MDM destinations in java code using MDM java api and creating the connection to MDM.
    Thanks

    Jun,
    Thanks for the reply and api information.
    I have got this api information from the following sap documentation. But i am looking for the code by implementing this class and creating the mdm connection.
    Creating an MDM Connection Using Java Code - SAP NetWeaver Master Data Management (MDM) - SAP Library
    if any thing can you share it.
    Thanks

  • Execute workflow for a Record in MDM thorugh Webdynpro Java

    Hello,
    I am creating a Webdynpro Java Application to listen to the Save event on the Item Edit iview through Eventing, the application is called on that event and RecordID is fetched in the code.
    Now I want to trigger the workflow for that Record being edited using the Record ID.
    How can I achieve the same using the MDM Java APIs?
    Any help would be highly appreciated.
    Thanks.

    Hello,
    I am using the following code to execute the Job for the Workflow :
    LaunchWorkflowJobCommand LWJC = new LaunchWorkflowJobCommand(connections);
    LWJC.setSession(session);
    WorkflowJobId WJID = new WorkflowJobId(wfjc.getWorkflowJobId()); // where wfjc is of Type CreateWorkflowJobCommand
    LWJC.setJobId(WJID);
    try
    LWJC.execute();
    catch (CommandException e)
    e.printStackTrace();
    return;
    but at runtime it gives me the following exception :
    com.sap.mdm.internal.protocol.manual.ServerException: Illegal value for parameter
    Please help me on why this exception is occuring .
    Any help would be highly appreciated.
    Thanks.

  • Some question about mdm java api and portal content

    Hi Gurus,
    I am new to MDM. I am going to develop some web dynpro application using mdm java api.
    My question is regarding the relationship between MDM version and NW version:
    for example
    1.MDM5.5 JAVA api can be deployed to CE 7.11 server?
    2.MDM7.1 JAVA API can be deployed to CE 7.11 server? or can only be deployed to CE server.
    the same question for the MDM portal content.
    the possible dev environment  for our company would be:
    1.MDM7.1
    2.CE7.2(do we need another EP7 server for the UWL?)
    Best regards,
    John

    Hi,
    I am using Portal 7.0. MDM version is 7.1.
    My problem is ... i am trying to connect WebDynpro (JAVA) to MDM7.1. But am unable to do so. I have a WD Frame in which i have a WD iView and the MDM iView. But i am unable to pass parameters from the WD iView to MDM Item Details iView.
    Note:
    1. I have deployed MDM JAVA API on NWDS
    2. I have specified " * " as a parameter to pass from the URL in the Item Details iView.
    Please help.
    Every help that i have read talks about CE7.1 but not NW 7.0
    -Alpana

  • MDM Java API (Creation of table)

    Hi,
    can anyone help me for  creation of tables in repository using MDM java API .
    Can u Provide sample code for this.
    Edited by: Srikanth Josyula on Jun 26, 2008 8:52 AM

    Hi Srikanth,
    Check with this code.It may be useful.
    createflattable.java
    Created on June 25, 2008, 5:08 PM
    To change this template, choose Tools | Options and locate the template under
    the Source Creation and Management node. Right-click the template and choose
    Open. You can then make changes to the template in the Source Editor.
    package tabletype;
    import com.sap.mdm.commands.AuthenticateRepositorySessionCommand;
    import com.sap.mdm.commands.CommandException;
    import com.sap.mdm.commands.CreateRepositorySessionCommand;
    import com.sap.mdm.commands.GetRepositoryRegionListCommand;
    import com.sap.mdm.data.MultilingualString;
    import com.sap.mdm.data.RegionProperties;
    import com.sap.mdm.data.RegionalString;
    import com.sap.mdm.net.ConnectionException;
    import com.sap.mdm.net.ConnectionPool;
    import com.sap.mdm.net.ConnectionPoolFactory;
    import com.sap.mdm.schema.TableProperties;
    import com.sap.mdm.schema.commands.CreateTableCommand;
    import com.sap.mdm.schema.commands.GetFieldListCommand;
    import com.sap.mdm.schema.commands.GetTableListCommand;
    import com.sap.*;
    import com.sap.mdm.server.DBMSType;
    import com.sap.mdm.server.RepositoryIdentifier;
    import java.util.Locale;
    public class createflattable {
        /** Creates a new instance of createflattable */
        public createflattable() {
            private static MultilingualString createMultilingualString(RegionProperties[] regionPropertiesList, String baseString)
            MultilingualString mlString = new MultilingualString();
            for (int i = 0; i < regionPropertiesList.length; i++)
                Locale locale = regionPropertiesList<i>.getLocale();
                //Locale locale = regionPropertiesList<i>.getLocale();
                String regionCode = regionPropertiesList<i>.getRegionCode();
                String string = baseString + "_" + locale.getLanguage() + "_" + locale.getCountry();
                RegionalString regionalstring = new RegionalString(string, regionCode);
                mlString.set(regionalstring);
            return mlString;
        private static TableProperties createFlatTable(RegionProperties[] regionPropertiesList)
            //MultilingualString tableName = createMultilingualString(regionPropertiesList, "NewTable" + System.currentTimeMillis());
    MultilingualString tableName = createMultilingualString(regionPropertiesList, "first"+System.currentTimeMillis());
    System.out.println("table is" +tableName);
            TableProperties table = new TableProperties(TableProperties.FLAT);       
            table.setName(tableName);
            table.setCode("NewCode" + System.currentTimeMillis());
            table.setKeyMappable(true);
            table.setDescription("");
            return table;
          public static void main(String[] args) {
                // System Name
         String tag = "";
        ConnectionPool connections = null;
    try {
        connections = ConnectionPoolFactory.getInstance(tag);
    catch (ConnectionException e)
    e.printStackTrace();
    return;
    //////////////// specify the repository to use
    //RepositoryName
    String repositoryName = "";
    //DataBase Name
    String dbmsName = "";
    RepositoryIdentifier  reposId = new RepositoryIdentifier(repositoryName, dbmsName, DBMSType.MS_SQL);
    /////// create a repository session
    CreateRepositorySessionCommand sessionCommand = new CreateRepositorySessionCommand(connections);
    sessionCommand.setRepositoryIdentifier(reposId);
    try {
    sessionCommand.execute();
    catch (CommandException e) {
    e.printStackTrace();
    return;
    System.out.println("Currently connected to "+reposId);
    String sessionId = sessionCommand.getRepositorySession();
    /////////// authenticate the repository session
    String userName = "";
    String userPassword = "";
    AuthenticateRepositorySessionCommand authCommand = new AuthenticateRepositorySessionCommand(connections);
    authCommand.setSession(sessionId);
    authCommand.setUserName(userName);
    authCommand.setUserPassword(userPassword);
    try {
    authCommand.execute();
    catch (CommandException e) {
    e.printStackTrace();
    return;
    //////////////////// retrieve the list of tables
    GetTableListCommand tableListCommand = new GetTableListCommand(connections);
    tableListCommand.setSession(sessionId);
    try {
    tableListCommand.execute();
    catch (CommandException e) {
    e.printStackTrace();
    return;
    // get change stamp
      // this is required when we make any kind of changes to the repository
         int changeStamp = tableListCommand.getChangeStamp();
         //////get repository regionlist
    //A command for retrieving the list of regions supported by the repository.
          // retrieve the available regions (languages) for the repository
          // we need this to set up the table name for each region
      GetRepositoryRegionListCommand gm =  new GetRepositoryRegionListCommand(connections);
       gm.setRepositoryIdentifier(reposId);
            try {
               gm.execute();
            catch (CommandException e) {
                e.printStackTrace();
                return;
       //   RegionProperties[] rs = gm.getRegions();
    RegionProperties[] regionPropertiesList = gm.getRegions();
          TableProperties newtable = createFlatTable(regionPropertiesList);
          CreateTableCommand c = new CreateTableCommand (connections);
            c.setSession(sessionId);
          c.setTable(newtable);
       c.setInChangeStamp(changeStamp);
            try {
                 c.execute();
                System.out.println("sdf");
            catch (CommandException e) {
                e.printStackTrace();
                return;

  • MDM 5.5 SP04 Java API and Web Service Documentation

    Is there documentation available that reflects the SP04 changes to the Java API, and the web services that are now available?
    As of this morning, service marketplace contained spotty SP04 docs.
    Thanks in advance,
    Mike

    Mike,
    A cookbook would be wonderful (I think our developers would throw a party)!
    An updated object model (as a preface to the user guide) for the legacy API (MDM4J.jar) AND the new "rebranded" API (mdm-*.jar) would also work.
    I've been reduced to comparing the SP3 & SP4 javadocs
    One fun approach that appears to be working for us, is to model each process using the DataManager, and try to duplicate that exactly via the corresponding API objects (e.g. the simple Connect-Find Table-Search Table-View Result Set-View Record-CheckOut/Upsert/Validate/CheckIn dance).  New features in the DataManager reveal themselves a little more readily
    Good luck,
    ...Dee

  • Inetgrating MDM Java API's with Java proxies on XI side

    Hello friends
    Can anyone help me on integrating MDM JAVA API's used for talking to MDM Server and the Javaproxies we generate from the XI side.I am having an application class inside the Java API's (it contains the main function)which triggers the functionality on the MDM side.But how to trigger it from the Java proxies side??I can get the different fields that I have to send  in the impl.java program of my generated proxy,but how to trigger the MDM Java API's from inside this.Also there is one problem I needed to pass the datatype fields from the Javaproxy(XI)side to the CRUDMAINTABLERecord program..Since importing the javaproxy package is giving me an error(I don't know why)I don't know how to pass these datatypes to the CRUD program.Please help me out on this urgently.Thank you all in advance.

    Hi Deepthi,
    I had used the below code for retrieving the workflow's id's
      RetrieveWorkflowsCommand RetriveworksFlows = new RetrieveWorkflowsCommand(connections);
    RetriveworksFlows.setSession(session);
    try{
        RetriveworksFlows.execute();
    catch(Exception e)
    WorkflowProperties[] workflowpro = RetriveworksFlows.getWorkflows();
    WorkflowId[] workflowid = new WorkflowId[workflowpro.length];
    for(int n=0;n<workflowpro.length;n++)
    workflowid[n] = workflowpro[n].getId();
    String workfloName = workflowpro[n].getLaunchType()+"";
    System.out.println("id--"workflowid"name"+workfloName);
    and for creating the workflow job id i had written the below code
    CreateWorkflowJobCommand workflowjobcommand = new CreateWorkflowJobCommand(connections);
    workflowjobcommand.setWorkflowId(workflowid[0]);
    workflowjobcommand.setRecordIds(recordId);
    workflowjobcommand.setSession(session);
    try{
        workflowjobcommand.execute();
    catch(Exception e)
    then to start the workflow what  i  have to do .
    please expain me

Maybe you are looking for