November Happy Hour will be moved to Thursday December 5th.

How should the catalog XML be structured when adding different language values for metadata?

Vote:
 

Hi there,

I am using a PIM from InRiver and its structuring the XML metadata changes like:
<MetaField>
<Name>metadata field name</Name>
<Type>LongString</Type>
<Data language="en-us" value="us value" />
<Data language="nl-nl" value="nl value" />
</MetaField>

From reading the PIM logs it looks like it has been successful. But saw that it was also logging to another file within my solution which showed me the following:
2020-04-17 14:08:54,346 [368] ERROR inRiver.EPiServerCommerce.Eleven.Importer.InriverDataImportController: Catalog Import Failed for path - C:\InRiver\PimExport\20200417-140839.170\Catalog.xml with exception -System.ArgumentException: Must specify valid information for parsing in the string.
at System.Enum.EnumResult.SetFailure(ParseFailureKind failure, String failureMessageID, Object failureMessageFormatArgument)
at System.Enum.TryParseEnum(Type enumType, String value, Boolean ignoreCase, EnumResult& parseResult)
at System.Enum.Parse(Type enumType, String value, Boolean ignoreCase)
at Mediachase.Commerce.Catalog.ImportExport.Import.MetaDataReader.AssignMetaFieldValue(MetaObject metaObject, XElement xData, MetaField field, String fieldName, String fieldType, String baseFilePath)
at Mediachase.Commerce.Catalog.ImportExport.Import.MetaDataReader.ReadMetaFields(Dictionary`2 metaObjects, IEnumerable`1 xMetaFields, Int32 objectId, MetaClass metaClass, String baseFilePath)
at Mediachase.Commerce.Catalog.ImportExport.Import.MetaDataReader.ReadEntryMetaData(XElement xMetaData, CatalogEntryRow row, CatalogImportContext context)
at Mediachase.Commerce.Catalog.ImportExport.Import.EntriesReader.ReadMetaData(EntrySaveInfo entrySaveInfo, MetaEntry metaEntry)
at Mediachase.Commerce.Catalog.ImportExport.Import.EntriesReader.ProcessEntries(EntrySaveInfo entrySaveInfo, IList`1 metaEntries)
at Mediachase.Commerce.Catalog.ImportExport.Import.EntriesReader.Read()
at Mediachase.Commerce.Catalog.ImportExport.Import.Importer.Import(Stream stream, String sourceDirectory, Boolean overwrite)

This occurs when the PIM is using CatalogImportExport (which is an Epi method) for importing the catalog XML so none of my post published tasks get hit. Also when I go to the catalog to see if it has updated it has but the NL value has been set for both US and NL.

So my question is is that the correct way to structure the catalog XML for multiple language updates for a metadata field? And if so what could cause the above error in my XML? I have checked to see if there are any weird characters which there isnt. Mappings have been set up properly on the connector and languages have been added to system settings in PIM.

#221502
Edited, Apr 20, 2020 7:57
Vote:
 

I think your Metafield is of type enum, and the value provided can't be parsed to that enum values properly.

#221515
Apr 20, 2020 13:36
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.