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
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.:
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.
What to do when both of these are set to true and you still get the error? Here is my XML string:
Also, it didn't let me switch Single Assign: Cannot change single-assign for the property "id"
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.
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.