Update Managed Metadata Column in SharePoint List Using Nintex workflow and Web Service

  • 27 October 2016
  • 6 replies
  • 223 views

Badge +2

To Update manage metadata column in SharePoint list we need two thing:

1. Label of manage metadata

2. Term ID of the manage metadata.

Scenario: I want to update "Europe" in manage metadata column in SharePoint List. I have only label with me which is present in Team store.But I cannot update manage metadata column directly using action "Update Item" as I also need the termid for same.

Solution:

1.We have to first select the termsetID from which the "termid" need to be taken and save in variable

example: "Country" is TermSet and need to get its ID from "Term Store management".

2.Using Taxonomy webservices "<siteurl>_vti_bin/TaxonomyClientService.asmx" in Action "CallWebservices" and user Method as "GetTermsByLabel"

Once we get the SOAP Editor details , modify the below Web Service as :

 

 

3. We get Result in XML then using "Query XML" get the TermID based on the TermStoreID

 

4. Once we get the TermID and the update list item using "UpdateListItem" with "label | TermID"

example: "Europe|TermID"


6 replies

Badge +2

Hi Levona,

Error message you are getting is due to unable to get correct "TermID" when you are updating.

from site setting-->Site Settings--> Term Store management, you can get the label and termID for particular metadata.

try to update same using nintex workflow and then see if you logic to getting the termID is correct.

Badge +3

your solution is working only when you have unique labels for all your terms and this is almost never the case. Am I wrong ?

Badge +1

I was able to set it using the regular workflow actions and just set the field value to Text using this syntax:

-1;#FieldName_0

so if your Managed Metadata field is 'DocType' it would be:

-1;#DocType_0

My terms are not unique and it is still working. It does not work to null out a field though if the source is null and you want the destination to be null you have to handle that differently.

Badge +3

@Aarti Shaw

I have followed same steps as mentioned above. But When i querying the XML I am not getting correct value from the xml. It always give as shown in the image. 

IN Workflow 

Out put of above value

XML OUt out is :

Kindly let me know What will be xpath to get the country name as "india" (Line no 6)

Kotresh 

Badge +3

Hi, 

I am able to resolve this issue . we need to use XPAth Builder from the action. In the source paste the xml result and select the proper xpath from xml .

It works great!!

Reply