I build the ECL connector to get content from Rest Services as SDL Tridion components. As usual each ECS component created has two metadata section (external with rest service data and custom as defined in SDL Trdion Schema).
I am able to save the values in custom metadata if not visiting/clicking to external metadata tab. It is bit strange but if I am clicking to external metadata tab and saving after then it is not allowing me to save ECL component and throwing following error.
One or more errors occurred. Specified method is not supported. at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification) at Tridion.ExternalContentLibrary.Service.EclService2012.SaveItem(String itemUri, String deltaXml, Boolean doneEditing) at SyncInvokeSaveItem(Object , Object[] , Object[] ) at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs) at Tridion.ExternalContentLibrary.Service.TransactionSupportInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs) at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc) at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc) at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc& rpc) at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)
Just to add more detail we also have event system code for ecl components but error remain same even after disabling event system as well.
Please suggest what could cause that issue. Any help or clue would be much appreciated.
Added dummy code
public IContentLibraryItem Save(bool readback)
{
return readback ? this : null;
}
public bool CanGetViewItemUrl
{
get { return false; }
}
public bool CanUpdateMetadataXml
{
get { return false; }
}
CanUpdateTitle
also returningfalse
?CanUpdateMetadataXml
andCanUpdateTitle
both returning false, theSave
method should not be called in my opinion, so I would need more details to understand what is going on. Have you checked the ECL log for further details, or tried debugging your provider?