Error message when you update or delete entities by using Microsoft Dynamics CRM 3.0 SDK and impersonation support: "Server was unable to process request" (912687)



The information in this article applies to:

  • Microsoft CRM Software Development Kit, when used with:
    • Microsoft CRM 3.0
  • Microsoft CRM 3.0

SYMPTOMS

Consider the following scenario in Microsoft Dynamics CRM 3.0:
  • You create a customization that calls the Microsoft Dynamics CRM Web service and then sets credentials to request impersonation support.
  • You try to update or to delete an instance of an entity by using the methods that are outlined in the Microsoft CRM 3.0 Software Development Kit.
When you try to update or to delete the entity, the custom application returns the following SoapException error message:
Server was unable to process request.

CAUSE

The access level of the assign privilege is not sufficiently deep for the user who is specified in the impersonated credentials. Therefore, the update or the delete operation fails.

Note The impersonated user must have the appropriate access level of the assign privilege to update or to delete the entity when the following conditions are true:
  • You are updating all the attributes for this instance of the entity.
  • The ownerid attribute is included among the attributes that you are updating.

RESOLUTION

To resolve this problem, use one of the following methods:

Method 1

In the Settings area of Microsoft CRM, open the role to which the impersonated user belongs. Then raise the access level of the assign privilege for the entities that are modified programmatically by the custom application.

Method 2

Modify the custom application so that the ownerid attribute from this instance of the entity is not included in the object that is passed to the update method or to the delete method.

Note When you include the ownerid attribute, Microsoft CRM performs an internal assign operation that requires specific assign privileges. When you remove the ownerid attribute from the object that is passed to the Microsoft CRM method, the program does not perform this internal assign operation.

MORE INFORMATION

You can access additional error message information by writing code to catch the thrown exception. If you do this when you try to update or to delete this instance of the entity, the following text appears in the OuterXml property of the error message details:
Error Code: 0x80048306
Description: Not enough privilege to access the Microsoft CRM object or perform the requested operation.

Modification Type:MinorLast Reviewed:9/7/2006
Keywords:kberrmsg kbMBSMigrate kbprb KB912687 kbAudEndUser kbAudDeveloper