注文の更新時に SOAP メッセージで販売注文のデータを送信する MS Dynamics CRM 4.0 用の単純なプラグインを作成しようとしています。奇妙なことに、/(プラグインを実行) を保存しようとするたびにこのエラーが発生します。したがって、salesorder の (任意のフィールド) を更新してから保存すると、エラーが発生します。
The given key was not present in the dictionary.
その後すぐに再度保存すると(2回の保存の間に何も変更せずに)、正しく実行され、必要なすべてのデータが得られます。本当に毎回同じです: 最初の保存: エラー、2 回目の保存: 正しく実行されます。
これが何であるかについてのアイデアはありますか?
これは私のコードの最初の部分です。この場合、実際に salesorder のデータセットを取得する場所:
public class CompleteOrderPlugin : IPlugin
{
public void Execute(IPluginExecutionContext context)
{
DynamicEntity entity = null;
if (context.InputParameters.Properties.Contains(ParameterName.Target) &&
context.InputParameters.Properties[ParameterName.Target] is DynamicEntity)
{
entity = (DynamicEntity)context.InputParameters[ParameterName.Target];
if (entity.Name != EntityName.salesorder.ToString()) { return; }
}
else
{
return;
}
残りは、属性の値を使用して独自の変数を埋める場所です。