MDM4J API & SP05 Repository

Hi All
Im using MDM4J API to login into MDM 5.5 SP05 Repository using the CatalogData.Login() method.
Here it is..
catalogData.Login(server, port, user, password,"English [US]", minCon, maxCon, timeOut, logFile);
But, connection establishment is failed intermittently and following Login error is collected in logs.
java.lang.IllegalStateException: Login method has not been successfully called.
java.lang.IllegalStateException: Login method has not been successfully called.
at a2i.common.CatalogData.Preprocess(Unknown Source)
Please help. I guess we can use CatalogData.Login() method to connect to SP05 repository, which prompts the user to login  when the user to tries to connect to the repository using MDM SP05 console.
Thanks
Prakash

Thanks Dev.
Here is the version info.
Any quick thought/views ?
MDM VERSION
mds Version 5.5.42.90
        Built on 2007-Nov-15
Client Interface Version 5.5.42.04
        Interface CRC=0xb07d80e9
Console Interface Version 5.5.42.01
        Interface CRC=0xefdd91dc
Web Interface Version 5.5.42.02
        -Interface CRC=0xd7396486
MDM4J VERSION
xCat4J Version : 5.5.42.85
Web Interface Version : 5.5.42.02 [Interface CRC=0xd7396486]

Similar Messages

  • MDM4J API changes for SP05

    Hi,
    As per the SP04 MDM Upgrade guide, the following has to be followed for making changes to Java code created for SP03:
    These are two options for adapting source code created prior to SP04.
    1. Users are encouraged to adapt their source code to the code names. All literal strings for
    table names, field names and client system names must be replaced with the code
    names. All method calls to CMTableInfo.GetName, CMFieldInfo.GetName and
    ClientSystem.GetName as parameters for the MDM Java API need to be changed to
    CMTableInfo.GetCode, CMFieldInfo.GetCode and ClientSystem.GetCode.
    2. A deprecated method called CompatibilitySettings.enableReferenceByName has been
    added. Use of this method is discouraged. This method needs to be invoked before
    CatalogData.Login. No further changes are required by the users. All software executing
    on the same Java Virtual Machine will share the same settings.
    I would like to know more about point #2. We are currently adapting our source code for SP05. And the login seems to be taking more than 3 minutes to connect.
    I tried invoking the above said method before calling CatalogData.Login, but my code does not compile.
    Thanks,
    Vanessa

    The platform team looked int this, and the upgrade to 4.0 happened in April 2011.   Unfortunately, the only options are to use a cached WSDL if you have one, or upgrade to 4.0 and pull the new one.

  • Questions on SP05 repository security/Import

    1. How to reset the Admin password for the repository without logging into the repository (what if you forget the password)?
    2. I need to have three roles,
         - Role One should have authorizations to load / unload the repository only
         - Role two should be able to login to a repository and create users/ roles only
         - Role three should be able to add/modify tables and table fields
    Basically I need to have seperation in Basis/Security/developer roles. Is that possible with the current version
    3. Is it possible to end a user login session from console or by using clix or API?
    4. I read somewhere is SP05 documentation that it would allow secure logins using LDAP - does that mean we can do a SSO from portal through LDAP?
    5. SP05 allows role transports. Is there any documentation available for that. Can someone provide steps for role transports as I could not see the option anywhere.
    6. What does save update in import manager do? how is it different from save? does it impact the XML schema also if your map is based on XML schema?
    Thanks
    Harsha

    Hi Harsha,
    1. If you don't have another administrative-level account to use to login and reset the password, an MDM Consultant can reset the Admin password for you. We do not publish the procedure for obvious security reasons. In SP5 Patch2 you will be able to archive the repository without logging in to the repository and send it to support to have the Admin password reset. (You will need to have the MDS server password, if one is set, to perform this operation since you will not need to login to the repository anymore.)
    2. I don't think the Load/Unload role permission granularity was added until SP5 Patch 2. The other roles can be created in Patch 1.
    3. No, there is no way to end a user session (you can essentially boot all client users off by unloading a repository, but there's no way to do just a single user at this time). If you would like, you can submit a feature request (I guess via OSS) for us to potentially include this feature in the next major release.
    As for the last three, I am unable to address those issues. Hopefully someone else can.
    Hope this helps,
    -Cleopatra

  • Is there any way (API ?) to access the UDS repository directly ...?

    This is probably reviving some older thread from way back in 1998 when similar questions where asked ...
    I am working on a program of my own (writing it in Borland Delphi), and I would like to have access to the Repository.
    One way I could think of is through the command line tools (like FScript) that come with UDS . However, I figure that there must e an 'easier' way to access the repository and retrieving/storing information.
    In one of the old threads I saw that an API would become available in v4 ...
    Alas ... no v4 ever saw the light. Instead of v4, the boys and girls of IPlanet/Sun went straight to v5 (and renamed their product from Forte to UDS).
    I can't find the API (documentation) mentioned above ...
    Does any of you guys out there have any information or, even better, examples on how to achieve access to the repository from a non-Forte application.
    If I could get this to work it would mean a huge (and that should be written HUGE) step forward in reaching my goal ...
    Hansz

    Of course there is an API to repository objects, and the SUN/iPlanet people are using it. Also in past times Forte-partners have used it. You can see the classes when you set certain cfg. flags. The problem is, there is no documentation about that API provided by SUN. If you find an expert within the community (who is not bound by a non disclosure ), it will be rather easy to set up C++ wrappers to integrate with an external (non TOOL) application.
    We feel a need for documented access to the repository objects as well, as that would make several tasks of development automatization and integration with other development tools (Forte for JAVA e.g.) more straight forward.

  • Image upload using Java API

    Hi all,
    I am trying to upload an image into MDM repository using the Java MDM4J API. I have referred to the earlier posting in this forum for the same problem I am not able to add images into Catalog thru java API. However I am working on SP3 version of MDM software and looks like the Images table structure changed a bit and the code in the earlier posting isn't working.
    I am getting an error code <b>-5586944</b> and the message that gets printed on the console is
    <i>a2i.core.StringException: AddRecord error
         at a2i.common.CatalogData.AddRecord(Unknown Source)
         at a2i.common.CatalogData.AddRecord(Unknown Source)</i>
    Here is the code that I am using to upload the image
    String filePath = "C:\temp\Sunset.jpg";
    File file = new File(filePath);
    byte[] bytes = new byte[(int) file.length()];
    try{
         //read byte from file, and set the large data
         FileInputStream inputStream = new FileInputStream(file);
         inputStream.read(bytes);
         mdmFields.Add(new A2iField("Data ID", new Value(bytes)));
    }catch(IOException ioex){
         ioex.printStackTrace();
    int dataGroupId = 0;//Hardcoded it to 0. There is one group already in the repository
    mdmFields.Add(new A2iField("Data Group ID", new Value(dataGroupId)));
    //adding the name
    mdmFields.Add(new A2iField("Name", new Value(file.getName())));
    mdmFields.Add(new A2iField("Original Name", new Value(file.getName())));
    //adding OrigLocationId
    int origLocationId =0;
    try{
         origLocationId = catalog.AddDataLocation(filePath, 0, DataLocationType.ComputerLocation);
         System.out.println("Location id generated is " +origLocationId);
    }catch(StringException ex){
         System.out.println("Error while generating the location id");
         ex.printStackTrace();
    mdmFields.Add(new A2iField("Original Location ID", new Value(origLocationId)));
    try {
         //adding the image to the "Images" table
         int newImageId = catalog.AddRecord("Images", mdmFields, 0, 0);
    } catch (StringException e) {
         // TODO Auto-generated catch block
         System.out.println("Error while adding the image record " + e.GetErrorCode() + "  " + e.GetRCMessage(e.GetErrorCode()));
         e.printStackTrace();
    I am not able to figure out what is causing the problem. Any ideas would be greatly helpful. Thanks in advance.
    Suman.

    Hi Mausam,
    Thanks for your help. However, the problem doesn't seem to be going.
    I printed the records in the <b>Data Groups</b> table using a program to find the record ids that are already existing. My Data Groups table has 3 records. Here are the values.
    ID :1 Value :MyGroup
    ID :2 Value :Group2
    ID :3 Value :Group3
    I tried passing all the above 3 values (1,2,3) as input to the <b>Data Group ID</b> field. However, this time, I am getting a different error code this time
    Error while adding the image record -2147483647  No message for RC (0x80000001)
    a2i.core.StringException: AddRecord error
         at a2i.common.CatalogData.AddRecord(Unknown Source)
         at a2i.common.CatalogData.AddRecord(Unknown Source)
         at images.MyImageUpload.uploadImage(MyImageUpload.java:82)
    The error code <b>2147483647</b>  from the javadocs says <b>RC_BADPARAM</b>. Not able to figure out what exactly is causing the problem with Data Group ID.
    Any ideas or pointers to solve this would be greatly helpful. Thanks in advance.
    Regards
    Suman
    > Hi Suman,
    >
    > If you look at the description for the error code,
    > you get RC_CM_DATAGROUPNOTFOUND.
    >
    > Try giving some other value ( 1 worked for me ) in
    > the Data Group or try following the code given for
    > the Data Group in other forum post that you have
    > mentioned.
    >
    > Regards,
    > Mausam

  • Need SFPT Java API

    hello,
    I am looking for an SFTP Java API open source. Does Sun has this API? or anyone?
    Please help.
    Thanks,
    Arun

    Hi Developer,
    By far the easiest way of integrating MDM with the Portal is to use the MDM 5.5 SP4 out-of-the-box iViews.  These are a set of highly configurable iViews which allow for searching, viewing and updating records in any MDM repository.
    If you require functionality not provided by the MDM iView package, or if you want to develop your own custom application using Web Dynpro (or any other Java-based technology), you can use the MDM4J API which provides complete functionality for manipulating data in an MDM repository.  There is also a COM API for developers wishing to develop DotNet applications, and an ABAP API is under development too.
    Walter

  • How do I resolve connection error with Java API listener?

    I have created a listener using the new Java API (see How do I implement a listener using new MDM Java API? for background). When I run it, I get this error message
    Mar 19, 2008 3:57:58 PM com.sap.mdm.internal.net.ConnectionImpl finalize
    INFO: Disconnect was not called. Cleaning up connection in finalize.
    This message is triggered whenever I generate a data event that I would otherwise expect to be captured and handled by the listener. I have tried a number of things, including setting the connection to NO_TIMEOUT and trying SimpleConnection versus ConnectionPool, but always with the same result.
    Here is some sample code for the listener:
    public class DataListenerImpl implements DataListener {
         public void recordAdded(RecordEvent evt) {          
              System.out.println("===> Record Added Event");
              System.out.println(evt.getServerName());
         public void recordCheckedIn(RecordEvent evt) {
              System.out.println("===> Record Checked In Event");
              System.out.println(evt.getServerName());          
         public void recordCheckedOut(RecordEvent evt) {
              System.out.println("===> Record Checked Out Event");
              System.out.println(evt.getServerName());               
         public void recordModified(RecordEvent evt) {
              System.out.println("===> Record Modified Event");
              System.out.println(evt.getServerName());
    And here is the code for the Event Dispatcher:
    public void execute(Repository repository) {
         DataListener listener = new DataListenerImpl();
         try {
              EventDispatcherManager edm = EventDispatcherManager.getInstance();
              EventDispatcher ed = edm.getEventDispatcher(repository.getServer().getName());
              ed.addListener(listener);
              ed.registerDataNotifications(SystemProperties.getUserName(), SystemProperties.getPassword(),
                        repository.getIdentifier(), repository.getLoginRegion());
              ed.registerRepositoryNotifications(SystemProperties.getUserName(), SystemProperties.getPassword(),
                        repository.getIdentifier());
              ed.registerGlobalNotifications();
              while (true) {
                   Thread.yield();
                   try {
                        Thread.sleep(1500);
                   } catch (InterruptedException ex) {
                        System.out.println("Interrupted Exception: " + ex.getMessage());
         } catch (ConnectionException e) {
              e.printStackTrace();
         } catch (CommandException e) {
              e.printStackTrace();
    Has anyone else encountered this message? Could it be related to a TCP configuration on the server? Or is this a bug in the Java API?
    As I mentioned in the forum posting linked to above, I have not encountered this problem with the MDM4J API.
    Any help is greatly appreciated.

    I resolved it. We are switching over to SP6, Patch 1 and the listener code works fine with this version of the Java API.
    Just one thing to note, though: make sure that you register data notifications through MetadataManager in your initialization code:
    metadataManager.registerDataNotifications(userSessionContext, repositoryPassword);
    For information on the changes to the SP6 Java API, especially with regard to connecting to MDM with the UserSessionContext, please review Richard LeBlanc's [presentation|https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/20073a91-3e8b-2a10-52ae-e1b4a10add1c].

  • Is there any separate api to access emails in windows mobiles

    is there any separate api to access emails in windows mobiles

    Of course there is an API to repository objects, and the SUN/iPlanet people are using it. Also in past times Forte-partners have used it. You can see the classes when you set certain cfg. flags. The problem is, there is no documentation about that API provided by SUN. If you find an expert within the community (who is not bound by a non disclosure ), it will be rather easy to set up C++ wrappers to integrate with an external (non TOOL) application.
    We feel a need for documented access to the repository objects as well, as that would make several tasks of development automatization and integration with other development tools (Forte for JAVA e.g.) more straight forward.

  • Refresh repository content - Failed! Help please.

    Hi, today I tried to refresh my repository via OVM Manager 3.0.3 (OVM Servers are also 3.0.3 version) and it fails with this error message:
    Job Construction Phase
    begin()
    Appended operation 'Repository refresh' to object '0004fb0000030000944aa10331c83564 (MY_REPOSITORY)'.
    commit()
    Completed Step: COMMIT
    Objects and Operations
    +Object (IN_USE): [Repository] 0004fb0000030000944aa10331c83564 (MY_REPOSITORY)+
    Operation: Repository refresh
    Job Running Phase at 13:31 on Mon, Mar 26, 2012
    Job Participants: [35:30:37:38:36:34:43:5a:33:30:34:39:35:32:59:50 (VMSERVER3)]
    Actioner
    Starting operation 'Repository refresh' on object '0004fb0000030000944aa10331c83564 (MY_REPOSITORY)'
    Setting Context to model only in job with id=1332761490061
    Job Internal Error (Operation)com.oracle.ovm.mgr.api.exception.IllegalOperationException: OVMAPI_2007E Find object name: (0}, class: interface com.oracle.ovm.mgr.api.virtual.VirtualDisk, returned null
    Mon Mar 26 13:31:30 CEST 2012
    at com.oracle.ovm.mgr.api.manager.OvmManagerImpl.deleteObject(OvmManagerImpl.java:393)
    at com.oracle.ovm.mgr.api.manager.OvmManagerImpl.deleteObject(OvmManagerImpl.java:382)
    at com.oracle.ovm.mgr.api.virtual.RepositoryDbImpl.deleteRepositoryElement(RepositoryDbImpl.java:385)
    at com.oracle.odof.core.AbstractVessel.invokeMethod(AbstractVessel.java:247)
    at com.oracle.odof.core.AbstractVessel.invokeMethod(AbstractVessel.java:207)
    at com.oracle.odof.core.storage.Transaction.invokeMethod(Transaction.java:822)
    at com.oracle.odof.core.Exchange.invokeMethod(Exchange.java:245)
    at com.oracle.ovm.mgr.api.virtual.RepositoryProxy.deleteRepositoryElement(Unknown Source)
    at com.oracle.ovm.mgr.discover.ovm.RepositoryElementDiscoverHandler.updateVirtualDisks(RepositoryElementDiscoverHandler.java:306)
    at com.oracle.ovm.mgr.discover.ovm.RepositoryElementDiscoverHandler.process(RepositoryElementDiscoverHandler.java:148)
    at com.oracle.ovm.mgr.discover.ovm.RepositoryElementDiscoverHandler.process(RepositoryElementDiscoverHandler.java:48)
    at com.oracle.ovm.mgr.discover.ovm.DiscoverHandler.execute(DiscoverHandler.java:55)
    at com.oracle.ovm.mgr.discover.DiscoverEngine.handleDiscover(DiscoverEngine.java:442)
    at com.oracle.ovm.mgr.discover.DiscoverEngine.handleDiscover(DiscoverEngine.java:427)
    at com.oracle.ovm.mgr.discover.DiscoverEngine.discoverServer(DiscoverEngine.java:257)
    at com.oracle.ovm.mgr.op.virtual.RepositoryRefresh.action(RepositoryRefresh.java:118)
    at com.oracle.ovm.mgr.api.job.JobEngine.operationActioner(JobEngine.java:193)
    at com.oracle.ovm.mgr.api.job.JobEngine.objectActioner(JobEngine.java:264)
    at com.oracle.ovm.mgr.api.job.InternalJobDbImpl.objectCommitter(InternalJobDbImpl.java:1090)
    at com.oracle.odof.core.AbstractVessel.invokeMethod(AbstractVessel.java:247)
    at com.oracle.odof.core.AbstractVessel.invokeMethod(AbstractVessel.java:207)
    at com.oracle.odof.core.BasicWork.invokeMethod(BasicWork.java:136)
    at com.oracle.odof.command.InvokeMethodCommand.process(InvokeMethodCommand.java:100)
    at com.oracle.odof.core.BasicWork.processCommand(BasicWork.java:81)
    at com.oracle.odof.core.TransactionManager.processCommand(TransactionManager.java:751)
    at com.oracle.odof.core.WorkflowManager.processCommand(WorkflowManager.java:401)
    at com.oracle.odof.core.WorkflowManager.processWork(WorkflowManager.java:459)
    at com.oracle.odof.io.AbstractClient.run(AbstractClient.java:42)
    at java.lang.Thread.run(Thread.java:662)
    FailedOperationCleanup....etc
    Also logs on OVM Servers are ok, there's no errors, but on OVM Manager, AdminServer.log says:
    +####<Mar 26, 2012 1:54:30 PM CEST> <Info> <com.oracle.ovm.mgr.api.virtual.Repository> <localhost.localdomain> <AdminServer> <Odof Tcp Client Thread: /127.0.0.1:54321/3249124> <<anonymous>> <> <11d1def534ea1be0:-77529dd6:1333a0f43cd:-8000-00000000006c5c61> <1332762870611> <BEA-000000> <Refreshing elements on mount: 0004fb0000030000944aa10331c83564, using server: VMSERVER7>+
    +####<Mar 26, 2012 1:54:30 PM CEST> <Info> <com.oracle.ovm.mgr.discover.DiscoverEngine> <localhost.localdomain> <AdminServer> <Odof Tcp Client Thread: /127.0.0.1:54321/3249124> <<anonymous>> <> <11d1def534ea1be0:-77529dd6:1333a0f43cd:-8000-00000000006c5c61> <1332762870612> <BEA-000000> <Discovering [REPOSITORY_ELEMENTS] data from server [VMSERVER7] address [11.180.24.27]>+
    +####<Mar 26, 2012 1:54:30 PM CEST> <Info> <com.oracle.ovm.mgr.action.ActionEngine> <localhost.localdomain> <AdminServer> <Odof Tcp Client Thread: /127.0.0.1:54321/3249124> <<anonymous>> <> <11d1def534ea1be0:-77529dd6:1333a0f43cd:-8000-00000000006c5c61> <1332762870613> <BEA-000000> <Sending command: [dispatch https://?uname?:[email protected]:8899/api/1 discover_repositories  0004fb0000030000944aa10331c83564 ], to server: VMSERVER7, via virtual IP: 11.180.24.37>+
    +####<Mar 26, 2012 1:54:30 PM CEST> <Info> <com.oracle.ovm.mgr.discover.ovm.DiscoverHandler> <localhost.localdomain> <AdminServer> <Odof Tcp Client Thread: /127.0.0.1:54321/3249124> <<anonymous>> <> <11d1def534ea1be0:-77529dd6:1333a0f43cd:-8000-00000000006c5c61> <1332762870784> <BEA-000000> <Processing live repository information.>+
    +####<Mar 26, 2012 1:54:30 PM CEST> <Info> <com.oracle.ovm.mgr.discover.ovm.DiscoverHandler> <localhost.localdomain> <AdminServer> <Odof Tcp Client Thread: /127.0.0.1:54321/3249124> <<anonymous>> <> <11d1def534ea1be0:-77529dd6:1333a0f43cd:-8000-00000000006c5c61> <1332762870787> <BEA-000000> <VirtualDisk: HELPDISKTEST, is no longer in repository: MY_REPOS. Removing from db.>+
    +####<Mar 26, 2012 1:54:30 PM CEST> <Error> <com.oracle.ovm.mgr.api.job.InternalJob> <localhost.localdomain> <AdminServer> <Odof Tcp Client Thread: /127.0.0.1:54321/3249124> <<anonymous>> <> <11d1def534ea1be0:-77529dd6:1333a0f43cd:-8000-00000000006c5c61> <1332762870866> <BEA-000000> <Job Internal Error (Operation)OVMAPI_2007E Find object name: (0}, class: interface com.oracle.ovm.mgr.api.virtual.VirtualDisk, returned null+
    Mon Mar 26 13:54:30 CEST 2012
    com.oracle.ovm.mgr.api.exception.IllegalOperationException: OVMAPI_2007E Find object name: (0}, class: interface com.oracle.ovm.mgr.api.virtual.VirtualDisk, returned null
    Mon Mar 26 13:54:30 CEST 2012
    at com.oracle.ovm.mgr.api.manager.OvmManagerImpl.deleteObject(OvmManagerImpl.java:393)
    at com.oracle.ovm.mgr.api.manager.OvmManagerImpl.deleteObject(OvmManagerImpl.java:382)
    at com.oracle.ovm.mgr.api.virtual.RepositoryDbImpl.deleteRepositoryElement(RepositoryDbImpl.java:385)
    at sun.reflect.GeneratedMethodAccessor42077.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.oracle.odof.core.AbstractVessel.invokeMethod(AbstractVessel.java:247)
    at com.oracle.odof.core.AbstractVessel.invokeMethod(AbstractVessel.java:207)
    at com.oracle.odof.core.storage.Transaction.invokeMethod(Transaction.java:822)
    at com.oracle.odof.core.Exchange.invokeMethod(Exchange.java:245)
    at com.oracle.ovm.mgr.api.virtual.RepositoryProxy.deleteRepositoryElement(Unknown Source)
    at com.oracle.ovm.mgr.discover.ovm.RepositoryElementDiscoverHandler.updateVirtualDisks(RepositoryElementDiscoverHandler.java:306)
    at com.oracle.ovm.mgr.discover.ovm.RepositoryElementDiscoverHandler.process(RepositoryElementDiscoverHandler.java:148)
    at com.oracle.ovm.mgr.discover.ovm.RepositoryElementDiscoverHandler.process(RepositoryElementDiscoverHandler.java:48)
    at com.oracle.ovm.mgr.discover.ovm.DiscoverHandler.execute(DiscoverHandler.java:55)
    at com.oracle.ovm.mgr.discover.DiscoverEngine.handleDiscover(DiscoverEngine.java:442)
    at com.oracle.ovm.mgr.discover.DiscoverEngine.handleDiscover(DiscoverEngine.java:427)
    at com.oracle.ovm.mgr.discover.DiscoverEngine.discoverServer(DiscoverEngine.java:257)
    at com.oracle.ovm.mgr.op.virtual.RepositoryRefresh.action(RepositoryRefresh.java:118)
    at com.oracle.ovm.mgr.api.job.JobEngine.operationActioner(JobEngine.java:193)
    at com.oracle.ovm.mgr.api.job.JobEngine.objectActioner(JobEngine.java:264)
    at com.oracle.ovm.mgr.api.job.InternalJobDbImpl.objectCommitter(InternalJobDbImpl.java:1090)
    at sun.reflect.GeneratedMethodAccessor33223.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.oracle.odof.core.AbstractVessel.invokeMethod(AbstractVessel.java:247)
    at com.oracle.odof.core.AbstractVessel.invokeMethod(AbstractVessel.java:207)
    at com.oracle.odof.core.BasicWork.invokeMethod(BasicWork.java:136)
    at com.oracle.odof.command.InvokeMethodCommand.process(InvokeMethodCommand.java:100)
    at com.oracle.odof.core.BasicWork.processCommand(BasicWork.java:81)
    at com.oracle.odof.core.TransactionManager.processCommand(TransactionManager.java:751)
    at com.oracle.odof.core.WorkflowManager.processCommand(WorkflowManager.java:401)
    at com.oracle.odof.core.WorkflowManager.processWork(WorkflowManager.java:459)
    at com.oracle.odof.io.AbstractClient.run(AbstractClient.java:42)
    at java.lang.Thread.run(Thread.java:662)
    Everything is working just fine, and to be honest I didn't refresh my repository for some time. Before, repository refresh worked ok. What could be the problem?
    Thanks in advance.

    I've had the same issue... and I did resolve it with: setting up LD_LIBRARY_PATH $ORACLE_HOME/lib directory
    You also should have a Grant Create View for the repository schema owner (besides the grant Resource).
    Good luck.
    Antonio
    BExpert, Brazil

  • Callable objects using ABAP API

    hi,
    Is it possible to develop Callable objects for MDM using ABAP APIs?
    Regards
    Nisha

    Hi Nisha,
    As far as I know, itu2019s not possible. You can use just RFC/BAPI as external services CO or ABAP Web Dynpro (this CO is limited regarding output parameters).
    MDM offers two APIS for Java development:
    1) MDM4J API, which is an old API and will be discontinued from MDM 7.1
    2) MDM Java API that is recommended
    With this API you can create Java Libraries or/and Web Services to re use into your CO.
    Best Regards,
    Pedro Nunes

  • NumberFormatException while Updation using MDM4J

    Hi All,
    We are trying to perform Update functionality using MDM4J APIs, but not able to move furthur as we are getting an exception in the code.
    Following is the code we are using:
    try {
                A2iFields a2iFields = new A2iFields();
                A2iField statusField = new A2iField("Current_Status");
                Value statusVal = new Value(wdContext.currentVn_Status_changeElement.getVa_Changed_Curr_status());
                statusField.SetValue(statusVal);
                a2iFields.Add(statusField);
                A2iField SubstatusField = new A2iField("Current_SubStatus");
                Value SubstatusVal = new Value(wdContext.currentVn_Status_changeElement ().getVa_Changed_SubSts());
                 SubstatusField.SetValue(SubstatusVal);
                 a2iFields.Add(SubstatusField);
                 A2iField ProstatusField = new A2iField("Proposal_status");
                 Value ProstatusVal = new Value(wdContext.currentVn_Status_changeElement().getVa_Changed_Curr_status());
                  ProstatusField.SetValue(ProstatusVal);
                  a2iFields.Add(ProstatusField);
                 A2iField ProSubstatusField = new A2iField("Proposal_SubStatus");
                 Value ProSubstatusVal = new Value(wdContext.currentVn_Status_changeElement().getVa_Changed_SubSts());
                  ProSubstatusField.SetValue(ProSubstatusVal);
                  a2iFields.Add(ProSubstatusField); 
                  A2iIntArray recIds = new A2iIntArray();
                  int recID = wdThis                    .wdGetCO_Resource_Availibility_CheckController()                         .getRecordID(
                    "Resource_Availibility_Check","Satyam_ID",associateID);
                 recIds.Add(recID);
                 ResultSetDefinition rsd = new ResultSetDefinition("Resource_Availibility_Check");
                 A2iResultSet rs = catalog.GetRecordsById(rsd, recIds);
                 int updateResult = catalog.UpdateRecord("Resource_Availibility_Check",
                                             recID,rs.GetChangeStampAt(0),a2iFields);
    On executing getting the following exception:
    java.lang.NumberFormatException: For input string: "Others"
         at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
         at java.lang.Integer.parseInt(Integer.java:468)
         at java.lang.Integer.parseInt(Integer.java:518)
         at a2i.core.Value.ConvertToType(Unknown Source)
         at com.a2i.xcat.internal.conversion.StructsToStructsUtil.ConvertFieldsToModifiedFields(Unknown Source)
         at a2i.common.CatalogData.UpdateRecord(Unknown Source)
         at a2i.common.CatalogData.UpdateRecord(Unknown Source)
         at com.satyam.rf.rac.view.VW_Associate_Selection.onActionShadow(VW_Associate_Selection.java:2032)
    Line 2032 is teh line of the UpdateRecord method.
    Please suggest what could be the problem in this code.
    Thanks in Advance,
    Becky.

    Hi Becky,
    Issue seems to be with the below code:
    A2iIntArray recIds = new A2iIntArray();
    int recID = wdThis .wdGetCO_Resource_Availibility_CheckController() .getRecordID(
    "Resource_Availibility_Check","Satyam_ID",associateID);
    recIds.Add(recID);
    I think you must initialize an int array and put the record Id at index 0 and then try adding.
    You can also try commenting the above code and then try to update the record.
    Cheers,
    Arafat

  • Connection pool -  api

    Hi,
    the following code try to connect mdm with connection pool :
    <i>
    Context ctx = new InitialContext();
    IConnectionFactory connFactory =
       (IConnectionFactory) ctx.lookup("deployedAdapters/MDM Factory/shareable/MDM Factory");
    IConnectionSpec spec = connFactory.getConnectionSpec();
    spec.setPropertyValue("UserName", Consts.MDM_USER);
    spec.setPropertyValue("Password", Consts.MDM_PASS);
    spec.setPropertyValue("Server", Consts.MDM_SERVER);
    spec.setPropertyValue("Port", Integer.toString(Consts.MDM_PORT));
    spec.setPropertyValue("RepositoryLanguage", Consts.MDM_REGION);
    connection = connFactory.getConnectionEx(spec);
    INative nativeInterface = connection.retrieveNative();
    return (CatalogData) nativeInterface.getNative(CatalogData.class.getName());
    </i>
    my catalogData is null and i see in logs:
    <b>failed to connect server mgnt278 due to:Could not open minimum connections.</b>
    Can You Help ?
    Thanks!

    Hi BenAmram,
    I have not faced this problem before but one thing that I would like to sugesst is to put a check at each step using "try/catch" like, when you get ConnectionFactory object, when you set the ConnectionSpec, when you get INative ojbect etc.
    It may help if you go
    MDM Java Connector : connection problem forum post.
    Just check the compatibility of the MDM4J APIs and the MDM Server you are trying to connect.
    Regards,
    Mausam

  • Web API - Playlist metrics

    Hello Spotify dev team. I've for a long time looked for either a tool or something that could give me some insights to my playlists thats getting a lot of traction regarding followers. And in that regard i would like to ask if (since i havent been able to find a tool, or see it in your API), is it possible for you to open up for some play list metrics, like the your spotofy dashboard you made last year. Interesting stuf could be such as:
    Follower(s):
    How many follower's (Already there just no open)
    Avg. Follower a day over pas 24 hrs, 1 week 1 month 1 year?
    How many drop's / unsubscribes.Timeline view of subscribers when are they mostly listening to your playlist.
    Tracks:
    Witch track gets the most plays?
    Witch gets the least plays?
    Are songs being added to a new playlist of a follower it self, if so how many re-adds / name of new playlist.
    Some of thoes could be interesting to look into. Just a small idea from a dev who would love to work with your api more :)

    Updated: 2015-07-02
    Hello!
    As mentioned, please submit your Feature requests to the Web API Github repository, https://github.com/spotify/web-api/issues/new.
    Thanks.

  • MDM APIs in NWDI

    Hi,
    I am working on Web dynpro java in which I need to call MDM Java APIs SP05. I am developing application in NWDI.
    Does it require any software component to be present in the development track?
    Thanks,
    Deepti

    You need to create a development component of type library , add all the jar files and create public parts in your library component so that external components can access these library(.jar) files.
    Other than that, you need to do nothing special.
    Regards,
    Subramanian V.

  • MDMEErrorCode: -5635583

    Hello
    We are using MDM SP03 on Linux and using MDM4J APIS to pull product info
    We received the following MDM Err code in the application logs.
    "Unable to connect to the Product Catalog on amusboclqa2i01.security.ge.com:2000 MDMEErrorCode: -5635583"
    Where can I obtain the Error code description?
    Also, I tried to connect the application to repository running on 2010 and there was not error.
    Please help.
    Thanks
    Prakash

    Hi,
    Please check the following thread:
    Cannot  MDM Server
    Regards.
    Rajat

Maybe you are looking for