Can you post the full stack trace?
I wanted to note, since you are storing data in the Database, I would recommend you start the DataServiceTransaction with the useJTA parameter set to true.
I am using useJTA=false even to add the entry to database, that seems to work correctly.
I will try with useJTA=true…
I tried with useJTA=true and got same exception while updating item…
I tried deleteItemWithId() but same exception as updateItem(), there is something that I am doing wrong….
I played around with the parameters.. It appears the arguments – previousVersion and Changes have to be non null? If I provide valid objects for newVersion ,previousVersion and changes, then the update happens..I should be able to supply them as null as per the docs below..
From the LCDS docs....
public void updateItem(String destination,
String  changes)
Send an update event to clients subscribed to this message. Note that this method does not send the change to the adapter/assembler - it assumes that the changes have already been applied or are being applied in this JTA transaction. It only updates the clients with the new version of this data.
You must supply a destination parameter and a new version of the object. If you supply a non-null previous version, this object is used to detect conflicts on the client in case the client's version of the data does not match the previous version. You may also supply a list of property names that have changed as a hint to the client to indicate which properties should be checked for conflicts and updated. If you supply null for the changes, all properties on the client are updated. These property names do not accept any kind of dot notation to specify that a property of a property has changed. Only top level property names are allowed.
destination - Name of the Data Management Services destination that is managing the item you want to update.
newVersion - New version of the item to update. The identity of the item is used to determine which item to update.
previousVersion - If not null, this contains a version of the item you intend to update. The client can detect a conflict if its version does not match the previousVersion. If you specify the value as null, a conflict is only detected if the client has pending changes for the item being updated.
changes - Array of property names which are to be updated. You can provide a null value to indicate that all property values may have changed.
Message was edited by: RupakKhurana
You should not have to supply the previousVersion. Can you ensure that when you send in the newVersion, it has its ID property set properly?
Besides that, can you check the server log to see what exception is being logged there?
If there is nothing in the server log, in the MessageException you are getting, there should be a extendedData property of type Map. Inside that Map, there should be a List of errorMessages. Can you check what ErrorMessage is present inside of that?