Forum - IE Update Web Services: Update CMS
- This topic has 4 replies, 2 voices, and was last updated 4 years, 7 months ago by Anonymous.
- AuthorPosts
- August 10, 2018 at 12:00 pm #34921AnonymousInactive
Hi,
I’m trying to update the CMS section of the DMX by webservice, but receive an exception: “IE was not updated. Reason: No change in metadata”
Where am I:
fetching the dmx successfully:Quote:String dmx = iews.getDNX(null, pid, “CMS”);or everything
Quote:String dmx = iews.getDNX(null, pid, null);then I’m replacing the value in:
Quote:<key id=”recordId”>NEWVALUE</key>finally updating:
Quote:iews.updateDNX(null,pid, dmx);results in exception:
Quote:com.exlibris.dps.IEWSException_Exception: IE1022204 was not updated. Reason: No change in metadata.well, this message is wrong, because the metadata did change. In the apidoc there is a notice “Read-only fields are ignored”. Is the CMS Section readonly
Is it possible to update the CMS section of the DNX? Could somebody provide me with some example code?
thanks,
KonstantinAugust 12, 2018 at 6:45 am #36739AnonymousInactiveKonstantin,
The CMS section is read-only (this API is aligned with the Meditor, which likewise does not provide an option to edit CMS fields). Assigning a CMS record to an IE is not merely a matter of a DNX update – Rosetta needs to run a task that involves fetching and processing the ILS record. There is no API for this. To link an IE to a different ILS record it is necessary to unassign and reassign CMS MD. The unassignment can be done in batch as a process.
Opher
August 14, 2018 at 8:19 am #36742AnonymousInactiveHi Opher,
I don’t want to assign the whole CMS record with the API. I only want to change the recordID.
Let me describe more of our workflow:Within the preingest we are creating the ie.xml with this section:
Quote:<mets:techMD ID=”ie-amd-tech”>
<mets:mdWrap MDTYPE=”OTHER” OTHERMDTYPE=”dnx”>
<mets:xmlData>
<dnx xmlns=”http://www.exlibrisgroup.com/dps/dnx”>
<section id=”CMS”>
<record>
<key id=”system”>ZBW</key>
<key id=”recordId”>866542264</key>
<key id=”mId”>CMS866542264</key>
</record>
</section>
</dnx>
</mets:xmlData>
</mets:mdWrap>
</mets:techMD>This section holds the information about the recordId for the automated enrichment task in Rosetta which does the assignment. This is working great since years now.
But it happened, that the id (in this case 866542264) changes. So I would like to change the recordID somehow and then run the reassign CMS as a task in Rosetta again.
This would help us to automize a process, because reassigning the CMS by hand for hundreds of records is quite boring.
Unassigning and reassigning in batch wont change the recordID.
When the CMS section is readonly, do you have another suggestion how to automate this process?Konstantin
August 14, 2018 at 12:28 pm #36743AnonymousInactiveKonstantin,
At this point there’s no automated solution for what you’re trying to do. I understand the need – it’s just never come up as far as I know. I can suggest addressing this request to the Rosetta product manager.
Opher
August 15, 2018 at 7:24 am #36747AnonymousInactiveHi Opher,
that would be great.
thank you
Konstantin - AuthorPosts
- You must be logged in to reply to this topic.