Forum - IE Update Web Services: Update CMS

Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
    Posts
  • #34921
    Anonymous
    Inactive

    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,
    Konstantin

    #36739
    Anonymous
    Inactive

    Konstantin,

    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

    #36742
    Anonymous
    Inactive

    Hi 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”&gt;
    <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

    #36743
    Anonymous
    Inactive

    Konstantin,

    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

    #36747
    Anonymous
    Inactive

    Hi Opher,

    that would be great.

    thank you
    Konstantin

Viewing 5 posts - 1 through 5 (of 5 total)
  • You must be logged in to reply to this topic.