The code inside the plugin pre-op code looks something like this:
var cloneEntity = new Entity(SPLIT_SAVINGS);
object endDate;
_parentEntity.Attributes.TryGetValue(END_DATE, out endDate);
cloneEntity.Attributes[START_DATE] = _parentEntity.Attributes[START_DATE];
cloneEntity.Attributes[END_DATE] = endDate;
cloneEntity.Attributes[RATIO] = _parentEntity.Attributes[RATIO];
Guid cloneId = service.Create(cloneEntity);
So what I'm trying to do is, during the pre-op from creating this entity, it will also clone itself (same dates and ratio attributes) to be associated with another related entity. I'm not sure what to make of the error log. The only thing I can go on is the error code, which I can't find anything about.
Does this have something to do with the fact that the Create() call is executing the pre-op again recursively? I already have conditional logic that prevents an infinite loop.
Here's the error log for reference. Thanks.
Unhandled Exception: System.ServiceModel.FaultException`1[[Microsoft.Xrm.Sdk.OrganizationServiceFault, Microsoft.Xrm.Sdk, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]: There was an error in the Plugin CRMPluginSolution.Plugins.SplitSavingsRatioProcess, and a log has been created. Please try this again later. If this issue persists contact your IT Staff. Detail:
<OrganizationServiceFault xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/xrm/2011/Contracts">
<ErrorCode>-2147220891</ErrorCode>
<ErrorDetails xmlns:d2p1="http://schemas.datacontract.org/2004/07/System.Collections.Generic">
<KeyValuePairOfstringanyType>
<d2p1:key>OperationStatus</d2p1:key>
<d2p1:value xmlns:d4p1="http://www.w3.org/2001/XMLSchema" i:type="d4p1:string">0</d2p1:value>
</KeyValuePairOfstringanyType>
<KeyValuePairOfstringanyType>
<d2p1:key>SubErrorCode</d2p1:key>
<d2p1:value xmlns:d4p1="http://www.w3.org/2001/XMLSchema" i:type="d4p1:string">-2146233088</d2p1:value>
</KeyValuePairOfstringanyType>
</ErrorDetails>
<Message>There was an error in the Plugin CRMPluginSolution.Plugins.SplitSavingsRatioProcess, and a log has been created. Please try this again later. If this issue persists contact your IT Staff. </Message>
<Timestamp>2016-12-28T23:42:10.5503562Z</Timestamp>
<InnerFault i:nil="true" />
<TraceText>
[CRMPluginSolution.Plugins: CRMPluginSolution.Plugins.SplitSavingsRatioProcess]
[77dfca7a-35cd-e611-80df-00059a3c7a00: SplitSavingsRatioProcess]
</TraceText>
</OrganizationServiceFault>
Found the problem. My Plugin Registration Tool's profiler was set to throw an exception right on the Create call so it never went past that. Once I set the profiler to use persistence, the entities were getting created.