I have a schema as follows:
As you can see it has some embedded fields which are optional (Select List, for example). Some fields inside those embedded fields are mandatory.
The component you are looking at, saves successfully via the CME. Now when I try to content port the component, Content Porter complains as follows:
ERROR [2015-10-13 16:19:02,717] DTAPTools:124: Error - 10/13/2015:4:19:01 PM - Tridion.ContentManager.InvalidXmlException: XML validation error. Reason: The element 'selectList' in namespace 'http://www.sdl.com/web/schemas/core' has invalid child element 'options' in namespace 'http://www.sdl.com/web/schemas/core'. List of possible elements expected: 'key' in namespace 'http://www.sdl.com/web/schemas/core'.
Obviously, my first thought was to synchronize the component and so I did:
Base.CoreServiceBase sh = new Base.CoreServiceBase();
try
{
var options = new Core.SynchronizeOptions
{
SynchronizeFlags = Core.SynchronizeFlags.All
};
sh.OpenSession();
sh.Session.SynchronizeWithSchemaAndUpdate(schemaId, options);
}
catch (Exception ex)
{
Console.Write(ex.Message);
}
finally
{
sh.CloseSession();
}
That code, gives me the same error as Content Porter. It seems like a bug to me since, if I fill in the mandatory fields within the optional embedded field, then the sync process runs just fine. Then If I removed them again (keep in mind that the CME lets me save the component as expected) and run the syn process again, it fails with the same error once again.
Have you encounter anything similar? Am I missing a hotfix?
Thanks,