I am trying to synchronize Components on a Schema that has a multi-value optional field "AAA" of type Embedded Schema "Aaa", which has a mandatory embedded text field "BBB" and another optional embedded field "CCC".
AAA - optional multi-value field on Embedded Schema 'Aaa'
+-> BBB - mandatory single-value text field
+-> CCC - optional single-value text field
When I create Components on my Schema, I don't have to enter any value for field AAA, and nothing appears in the Component XML. When I save the same Component in the CME, it saves successfully.
I have a Core Service client that executes Client.SynchronizeWithSchemaAndUpdate(tcmUri, SynchronizeOptions)
, where Client is an ICoreService
object using basicHttp binding, tcmUri is the TCMURI of the Component and SynchronizeOptions is new SynchronizeOptions { SynchronizeFlags = SynchronizeFlags.All };
The code above yields a FaultException<CoreServiceFault>
whose message reads:
{"XML validation error. Reason: The element 'AAA' in namespace 'Aaa' has incomplete
content. List of possible elements expected: 'BBB' in namespace 'Aaa'."}
It doesn't make sense why I receive this error. Field AAA is optional multi-value. Only embedded field BBB is mandatory and this error should only be thrown if optional embedded field CCC has a value and mandatory field BBB has been omitted.
So my questions are: what is going on? is this a bug? has anybody seen this error before?