This discussion is archived
5 Replies Latest reply: Jul 19, 2013 6:53 AM by be6d2b55-d317-4796-bfb1-b8bc3b3bc8be RSS

MDEX unique property error

be6d2b55-d317-4796-bfb1-b8bc3b3bc8be Newbie
Currently Being Moderated

I am trying to write to the MDEX and I'm receiving this error:

exception encountered while executing external function 'ingest-internal:update', caused by error endeca-err:MDEX0001 : Invalid input : An assignment from a unique property was not found on record: <ns1:record xmlns:ns="http://www.endeca.com/MDEX/ingest/1/0" xmlns:ns1="http://www.endeca.com/MDEX/XQuery/2009/09" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"

 

What unique property assignment am I supposed to be setting? Thank you

  • 1. Re: MDEX unique property error
    Frank Explorer
    Currently Being Moderated

    The record spec property for each record. Also known as the primary key. This is the "Spec Attribute" field in the Integrator record-loading components (like Bulk Add/Replace).

    Each record is identified by an assignment from a property that is single-assign and unique; i.e.:

    mdex-property_IsSingleAssign=true

    mdex-property_IsUnique=true

    This is how the Dgraph can identify a given record.

    Note that it is up to you to select which property you are going to use, to configure the property, and then to make sure that there is a unique assignment for that property for each record.

  • 2. Re: MDEX unique property error
    be6d2b55-d317-4796-bfb1-b8bc3b3bc8be Newbie
    Currently Being Moderated

    What to do when both of these are set to true and you still get the error?  Here is my XML string:

     

     

    <mdex:record xmlns=""><mdex-property_Key>id</mdex-property_Key><mdex-property_DisplayName>id</mdex-property_DisplayName><mdex-property_Type>mdex:string</mdex-property_Type><system-navigation_Sorting>lexical</system-navigation_Sorting><mdex-property_IsUnique>TRUE</mdex-property_IsUnique><mdex-property_IsPropertyValueSearchable>FALSE</mdex-property_IsPropertyValueSearchable></mdex:record>

     

    Also, it didn't let me switch Single Assign:  Cannot change single-assign for the property "id"

  • 3. Re: MDEX unique property error
    SamueleS. Newbie
    Currently Being Moderated

    Hi,

    if your record spec property is id the property description record is ok.

    When you ingest new records, you have to assign a value for the property id; if you don't do this, the system throws an error message.

    Please check if you are assigning a value for the id property for each record you are ingesting and let me know if the problem persists.

    Hope this helps.

     

    Best Regards,

    Samuele Scattolini

  • 4. Re: MDEX unique property error
    Frank Explorer
    Currently Being Moderated

    Three things:

     

    1. I noticed that your XML string does not have: <mdex-property_IsSingleAssign>true</mdex-property_IsSingleAssign>

    If that's missing, then the system will assign the system default setting to that property. You didn't say which version of the MDEX you are running, but from the Ingest WS version number (ingest/1/0), I"m guessing you're running MDEX 7.4. In 7.4, the default for mdex-property_IsSingleAssign is "false". This means that if you really didn't set the property, then you would get IsSingleAssign=false (which I believe would cause your error). Note that in MDEX 7.5, the default for IsSingleAssign was changed to "true".

     

    2. In both 7.4 and 7.5, you cannot change the value of IsSingleAssign once the PDR has been created (i.e., the PDR for the "id" standard attribute). The only way to chang it is to delete the PDR and then re-create it with the correct properties.

     

    3. Assuming you have a SOAP tool like soapUI, you can use the getProperties operation of the MDEX config web service to get all the settings of the id standard attribute.

  • 5. Re: MDEX unique property error
    be6d2b55-d317-4796-bfb1-b8bc3b3bc8be Newbie
    Currently Being Moderated

    These were some very helpful responses.   After further analysis though the problem was a null value in my data for a required fied.   Thank you Samuele and Frank.

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points