Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

Error message in the Workflow Monitor when you use a callout to programmatically run a workflow rule that sends an e-mail message in Microsoft Dynamics CRM 3.0: "0X800404cc"


Symptoms

When you use a callout to programmatically run a workflow rule that sends an e-mail message in Microsoft Dynamics CRM 3.0, the workflow rule is run as expected. However, the e-mail message is not sent, and you receive the following error message in the Workflow Monitor:
0X800404cc
For more information, see the example in the "More Information" section later in this article.

↑ Back to the top


Cause

This issue may occur if one or more of the following conditions are true:
  • The Microsoft CRM Workflow Service is running under the Local System account or under the Network Service account. When the Microsoft CRM Workflow Service is configured under either of these accounts, permission to send e-mail messages is based on the user. When this issue occurs, the account does not have permissions to send e-mail messages in Microsoft Dynamics CRM 3.0.
  • The CRMAppPool application pool and the Microsoft CRM Workflow Service are running under two different accounts. When you pass credentials from a callout to the workflow rule, both the CRMAppPool application pool and the Microsoft CRM Workflow Service should be running under the same account.
  • The account that is running the CRMAppPool application pool and the Microsoft CRM Workflow Service is not a member of the following groups:
    • The Local Administrator group on the Microsoft Dynamics CRM server
    • The IIS_WPG group on the Microsoft Dynamics CRM server
    • The CRM_WPG group on the Microsoft Dynamics CRM server
    • The PrivUserGroup in Active Directory
    • The SQLAccessGroup group in Active Directory

↑ Back to the top


Resolution

To resolve this issue, follow these steps. Complete these steps when there is no activity on the server because users will lose connectivity to the Microsoft Dynamics CRM 3.0 server. You must complete all the steps before you log on to Microsoft Dynamics CRM because you may receive error messages between the steps.

Step 1: Start the Microsoft CRM Workflow Service as a Microsoft Dynamics CRM user who has a System Administrator role

  1. Click Start, click Run, type services.msc in the Open box, and then click OK.
  2. Right-click Microsoft CRM Workflow Service, and then click Properties.
  3. Click the Log On tab.
  4. Click This account, and then type the credentials for an administrator account in Microsoft Dynamics CRM 3.0.
  5. Click OK to close the Microsoft CRM Workflow Service Properties dialog box.
  6. Restart the Microsoft CRM Workflow Service.

Step 2: Set the CRMAppPool application pool to run under the same account that is running the Microsoft CRM Workflow Service

  1. Click Start, point to All Programs, point to Administrative Tools, and then click Internet Information Services (IIS) Manager.
  2. Expand the Microsoft Dynamics CRM 3.0 server name.
  3. Expand Application Pools.
  4. Right-click CRMAppPool, and then click Properties.
  5. Click the Identity tab.
  6. Click Configurable, and then type the credentials for the user who is running the Microsoft CRM Workflow Service.
  7. Click OK to close the CRMAppPool Properties dialog box.

Step 3: Add the user who is running the CRMAppPool application pool and the Microsoft CRM Workflow Service

You must add the user who is running the CRMAppPool application pool and the Microsoft CRM Workflow Service to the following groups:
  • The Local Administrator group on the Microsoft Dynamics CRM server
  • The IIS_WPG group on the Microsoft Dynamics CRM server
  • The CRM_WPG group on the Microsoft Dynamics CRM server
  • The PrivUserGroup in Active Directory
  • The SQLAccessGroup group in Active Directory
To do this, follow these steps:
  1. On the Microsoft Dynamics CRM server, click Start, right-click My Computer, and then click Manage.
  2. Expand Local Users and Groups, and then click Groups.
  3. Double-click the Administrators group, and then add the administrator account as a member.
  4. Double-click the IIS_WPG group, and then add the administrator account as a member.
  5. Double-click the CRM_WPG group, and then add the administrator account as a member.
  6. Click Start, click Run, type iisreset, and then click OK.
  7. On the domain controller, click Start, click Run, type dsa.msc in the Open box, and then click OK.
  8. Right-click the PrivUserGroup group, and then click Properties.
  9. Click the Members tab.
  10. Click Add, add the user who is running the Microsoft CRM Workflow Service and the CRMAppPool application pool, and then click OK.

    Note If the user already exists, go to the next step.
  11. Right-click the SQLAccessGroup group, and then click Properties.
  12. Click the Members tab.
  13. Click Add, add the user who is running the Microsoft CRM Workflow Service and the CRMAppPool application pool, and then click OK.

    Note If the user already exists, no changes are necessary. If there are multiple domain controllers, it may take some time for the changes to replicate to all the servers.
Note When you log on to Microsoft Dynamics CRM, you may receive the following error message:
You are not authorized to view this page. HTTP Error 401.1 - Unauthorized: Access is denied due to invalid credentials.
If you receive this error message, complete the steps in Microsoft Knowledge Base article 917818. For more information, click the following article number to view the article in the Microsoft Knowledge Base:
917818 Error message when you try to access the Microsoft Dynamics CRM Web site: "You are not authorized to view this page"

↑ Back to the top


More information

Example

Microsoft provides programming examples for illustration only, without warranty either expressed or implied. This includes, but is not limited to, the implied warranties of merchantability or fitness for a particular purpose. This article assumes that you are familiar with the programming language that is being demonstrated and with the tools that are used to create and to debug procedures. Microsoft support engineers can help explain the functionality of a particular procedure. However, they will not modify these examples to provide added functionality or construct procedures to meet your specific requirements.

This issue may occur when you have a callout that runs a workflow rule that resembles the following example.
// Set up the CRM Service.
CrmService service = new CrmService();
service.Credentials = System.Net.CredentialCache.DefaultCredentials;

// Create the request.
ExecuteWFProcessRequest request = new ExecuteWFProcessRequest();
request.ProcessId = new Guid("{8DC95CE2-1A27-4CEA-9E6A-8F6BCC4B658D}");
request.EntityMoniker = new Moniker();
request.EntityMoniker.Id = createdId;
request.EntityMoniker.Name = EntityName.account.ToString();

// Execute the request.
ExecuteWFProcessResponse response = (ExecuteWFProcessResponse) service.Execute(request);

↑ Back to the top


Keywords: KB932476, kbprb, kbmbsmigrate, kbmbsworkflow, kberrmsg, kbtshoot, kbmbscrm40no, kbarchive, kbnosurvey

↑ Back to the top

Article Info
Article ID : 932476
Revision : 4
Created on : 1/16/2015
Published on : 1/16/2015
Exists online : False
Views : 117