0
Fixed

Export throws null reference when attempting to update a deleted entity

Matthew Clark 10 years ago updated by anonymous 7 years ago 3

If an attempt is made to update an entity that has been deleted in Identity Broker, the following error is thrown:

System.Exception: Error occurred when attempting to save entity with distinguished name

CN=100001

Error:

Object reference not set to an instance of an object.
at Unify.Product.IdentityBroker.AdapterEntityExtensions.<>c_DisplayClass1.<ApplyChangesToAdapterEntity>b_0(KeyValuePair`2 item)
at Unify.Framework.Visitor.<>c_DisplayClass1`1.<Visit>b_0(T item, Int32 index)
at Unify.Framework.Visitor.VisitT(IEnumerable`1 visitCollection, Action`2 visitor)
at Unify.Product.IdentityBroker.AdapterEntityExtensions.ApplyChangesToAdapterEntity(IAdapterEntity adapterEntity, IAdapterEntitySaveBase adapterEntitySaveChange, Boolean removeCurrentValues)
at Unify.Product.IdentityBroker.LDIFAdapterBase.ExportChanges(ExportedLDIFForAdapter exportedLdifForAdapter)
at SyncInvokeExportChanges(Object , Object[] , Object[] )
at System.ServiceModel.Dispatcher.SyncMethodInvoker.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)
at Unify.Product.IdentityBroker.IdentityBrokerManagementAgentProxy.ExportEntry(ModificationType modificationType, String[] changedAttributes, CSEntry csentry)
at Unify.Product.IdentityBroker.IdentityBrokerManagementAgent.ExportEntry(ModificationType modificationType, String[] changedAttributes, CSEntry csentry)

The error message should indicate that the object has been deleted.

Added error message in this case. Marked as resolved, to be confirmed in testing.

Confirmed that the error message displays correctly in this case. Issue closed.