none
FIM Service - Problems with Exchange Mail Listener RRS feed

  • Question

  • I have a lab environment with Exchange 2010 (exchange) and FIM 2010 R2 (fimserver), both running on Windows Server 2008 R2 Std SP1. My problem is that the Exchange Mail Listener in the FIM Web Services is throwing exceptions and unable to poll or send mail. The exception is always "System.InvalidOperationException: Client found response content type of '', but expected 'text/xml'."

    Versions:

    FIM Service: 4.1.3419.0

    Exchange 2010: 14.01.0218.013

    The FIM service is ran under a service account "Domain\fimservice", and has an Exchange 2010 mailbox fimservice@domain.com. The "Microsoft.ResourceManagement.Service.exe.config" is defined as following:

     <appSettings>
        <!-- Setup adds entries -->
        <add key="mailServer" value="https://exchange.domain.com/ews/exchange.asmx" />
        <add key="isExchange" value="1" />
        <add key="sendAsAddress" value="FIMService@domain.com" />
        <add key="synchronizationServerName" value="fimserver.domain.com" />
      </appSettings>

    On the FIMServer I can run IE under the FIMService account and successfully get to https://exchange.domain.com/ews/exchange.asmx without any certificate errors or authentication prompts. I can also access OWA and send and recieve mail from the fimservice account.

    Turning on additional logging on the web services I see the following messages:

    Microsoft.ResourceManagement Verbose: 0 : The Exchange Mail Listener is marking Microsoft Exchange "Read" messages as "Unread".
        ThreadId=11
        DateTime=2013-12-03T19:45:31.5391601Z
    Microsoft.ResourceManagement Verbose: 0 : The mail listener is looking for items that match this search expression: Find Item:
    	(((((exists(ilmStatus) and (ilmStatus is equal to 'Read'))) and (((((((ItemClass is equal to 'IPM.Note.IdentityManagement.AddToGroups') or (ItemClass is equal to 'IPM.Note.IdentityManagement.RemoveFromGroups'))) or (ItemClass is equal to 'IPM.Note.IdentityManagement.ApprovalResponseApproved'))) or (ItemClass is equal to 'IPM.Note.IdentityManagement.ApprovalResponseRejected')))) and ((not(exists(ilmApprovalEndpoints)) or (
        ThreadId=11
        DateTime=2013-12-03T19:45:31.5470841Z
    Microsoft.ResourceManagement Error: 3 : System.Web.Services: System.InvalidOperationException: Client found response content type of '', but expected 'text/xml'.
    The request failed with an empty response.
       at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
       at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
       at Microsoft.ResourceManagement.WebServices.Mail.Exchange.ExchangeServiceBinding.FindItem(FindItemType FindItem1)
       at Microsoft.ResourceManagement.WebServices.Mail.Exchange.MailChannel.ExchangeMailChannelListener`1.ExchangeMailListener.<OnPollTimerExpired>b__0(Boolean findUnreadItems)
       at Microsoft.ResourceManagement.WebServices.Mail.Exchange.MailChannel.ExchangeMailChannelListener`1.ExchangeMailListener.OnPollTimerExpired(Object state)

    Here is another instance:

    Microsoft.ResourceManagement Verbose: 0 : The Exchange Mail Binding is creating binding elements.
        ThreadId=14
        DateTime=2013-12-03T19:45:32.7624276Z
    Microsoft.ResourceManagement Error: 3 : System.Web.Services: System.InvalidOperationException: Client found response content type of '', but expected 'text/xml'.
    The request failed with an empty response.
       at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
       at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
       at Microsoft.ResourceManagement.WebServices.Mail.Exchange.ExchangeServiceBinding.FindItem(FindItemType FindItem1)
       at Microsoft.ResourceManagement.WebServices.Mail.Exchange.MailChannel.ExchangeMailChannelListener`1.ExchangeMailListener.<OnPollTimerExpired>b__0(Boolean findUnreadItems)
       at Microsoft.ResourceManagement.WebServices.Mail.Exchange.MailChannel.ExchangeMailChannelListener`1.ExchangeMailListener.OnPollTimerExpired(Object state)
        ThreadId=4
        DateTime=2013-12-03T19:45:32.7644086Z

    Any suggestions?

    Wednesday, December 4, 2013 4:32 PM

Answers

  • David,

    Thanks for the suggestion. The account didn't have any e-mails. I eventually found the issue was with the exchange server itself and not related at all to FIM. Even though I could access OWA and the EWS asmx page the product wasn't fully functional due to a missing DLL from another .NET update. So I thought exchange was working properly, but it wasn't.

    After installing this hotfix (KB2637518) on the exchange box, the product was working and therefore FIM was working as expected. 

    More details can read on this technet blog, (at the very bottom labelled UPDATE)

    Friday, January 3, 2014 2:41 PM

All replies

  • Paul,

    I would recommend stopping the FIM Service, logging in as the FIMService account and opening the mailbox. Look for a message that doesn't belong. You may need to delete all items in the mailbox


    David Lundell, Get your copy of FIM Best Practices Volume 1 http://blog.ilmbestpractices.com/2010/08/book-is-here-fim-best-practices-volume.html

    Thursday, January 2, 2014 6:25 PM
  • David,

    Thanks for the suggestion. The account didn't have any e-mails. I eventually found the issue was with the exchange server itself and not related at all to FIM. Even though I could access OWA and the EWS asmx page the product wasn't fully functional due to a missing DLL from another .NET update. So I thought exchange was working properly, but it wasn't.

    After installing this hotfix (KB2637518) on the exchange box, the product was working and therefore FIM was working as expected. 

    More details can read on this technet blog, (at the very bottom labelled UPDATE)

    Friday, January 3, 2014 2:41 PM