Dynamics CRM in the Field

Information from the Microsoft Dynamics CRM PFE team working in the field

CRM 2011 Email Router – NullReferenceException error

CRM 2011 Email Router – NullReferenceException error

  • Comments 0

Lately I’ve been working with a customer on re-configuring their CRM Email Router, which also means addressing a few issues they currently are running into. 

- Issue -

In this case, the customer is using the “Email Router” configuration for incoming emails, meaning that users have their “E-mail access type – Incoming” set to E-mail Router.  If you need an Email Router refresher, the Dynamics CRM Support Blog has a good FAQ.

The problem this particular customer was running into was that intermittently, messages from certain mailboxes would not be promoted into CRM and an error similar to the following would be generated in the application event log:

System.NullReferenceException: Object reference not set to an instance of an object. at Microsoft.Crm.Tools.Email.Providers.ExchangeWSConnector.RetrieveMessage(ArrayList ids, Int32 index, ServiceLogger serviceLogger) at Microsoft.Crm.Tools.Email.Providers.ExchangePollingMailboxProvider.RetrieveNextMessageInternal() at Microsoft.Crm.Tools.Email.Providers.CrmPollingMailboxProvider.RetrieveNextMessage() at Microsoft.Crm.Tools.Email.Providers.CrmPollingMailboxProvider.Run()

In addition, when tracing was enabled for the Email Router as described here, the following error was captured:

#27938 - An error occurred while checking for e-mail messages to process in mailbox test@contoso.com. System.NullReferenceException: Object reference not set to an instance of an object.

   at Microsoft.Crm.Tools.Email.Providers.ExchangeWSConnector.RetrieveMessage(ArrayList ids, Int32 index, ServiceLogger serviceLogger)

   at Microsoft.Crm.Tools.Email.Providers.ExchangePollingMailboxProvider.RetrieveNextMessageInternal()

   at Microsoft.Crm.Tools.Email.Providers.CrmPollingMailboxProvider.RetrieveNextMessage()

   at Microsoft.Crm.Tools.Email.Providers.CrmPollingMailboxProvider.Run()

- Resolution -

After further research, this error was traced back to an issue that was fixed in Update Rollup 14 for CRM 2011.  In this case, this issue was occurring because the email did not have a From field, or it was a Null value.  However, this can also occur if other fields are missing such as Subject, To, CC…etc.  In addition, if this issue is generated, other emails in the mailbox after the problem message may not be processed.  After applying UR14, this issue was fixed and the messages began to flow properly.

If installing UR14 (or greater) is not an option right now, a workaround may be to delete the problematic emails from the user mailbox.  However, while you may be able to identify the mailbox where the issue is happening by enabling tracing for the Email Router, it may not be easily apparent which message in particular is causing the problem.  To capture more detailed information, use Fiddler to capture a trace and review messages there.  Remember that in order for Fiddler to capture Email Router traffic, you will need to change the account the Email Router service is running under to a domain account, and then log into the server with that account.

A simpler option may be just to log into the mailbox and review messages there for any missing fields as well.  Those messages could either be deleted or moved to another folder.

As always our CRM PFE and CRM Support teams are ready to help if you need the assistance.  In addition, we have a plethora of other services we offer such as developer training, admin workshops, and code reviews.  If you would like to have another Microsoft PFE or I visit your company and assist with the ideas presented on our blog, contact your Microsoft Premier Technical Account Manager (TAM) for booking information.  For more information about becoming a Microsoft Premier customer email PremSale@microsoft.com, tell them CRMInTheField or I sent you.

Thanks!

Ryan Anderson @PFEDynamics

Microsoft Premier Field Engineer

Leave a Comment
  • Please add 1 and 3 and type the answer here:
  • Post