views:

947

answers:

4

hi guys, I try to call my custom web service which deployed as part of CRM4 and receive the following error:

Client found response content type of 'text/html; charset=utf-8', but expected 'text/xml'.
The request failed with the error message:
--

    <html>
        <head>
            <title>No Microsoft Dynamics CRM user exists with the specified domain name and user ID</title>
            <style>
    ...
            </style>
        </head>

        <body bgcolor="white">

                <span><H1>Server Error in '/RecurrenceService' Application.<hr width=100% size=1 color=silver></H1>

                <h2> <i>No Microsoft Dynamics CRM user exists with the specified domain name and user ID</i> </h2></span>

    ...

    <table width=100% bgcolor="#ffffcc">
                   <tr>
                      <td>
                          <code><pre>

    [CrmException: No Microsoft Dynamics CRM user exists with the specified domain name and user ID]
       Microsoft.Crm.Authentication.WindowsAuthenticationProvider.Authenticate(HttpApplication application) +895
       Microsoft.Crm.Authentication.AuthenticationStep.Authenticate(HttpApplication application) +125
       Microsoft.Crm.Authentication.AuthenticationPipeline.Authenticate(HttpApplication application) +66
       Microsoft.Crm.Authentication.AuthenticationEngine.Execute(Object sender, EventArgs e) +513
       System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +92
       System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +64
    </pre></code>

                      </td>
                   </tr>
                </table>

                <br>

                <hr width=100% size=1 color=silver>

                <b>Version Information:</b> Microsoft .NET Framework Version:2.0.50727.1433; ASP.NET Version:2.0.50727.1433

                </font>

        </body>
    </html>
    <!-- 
    [CrmException]: No Microsoft Dynamics CRM user exists with the specified domain name and user ID
       at Microsoft.Crm.Authentication.WindowsAuthenticationProvider.Authenticate(HttpApplication application)
       at Microsoft.Crm.Authentication.AuthenticationStep.Authenticate(HttpApplication application)
       at Microsoft.Crm.Authentication.AuthenticationPipeline.Authenticate(HttpApplication application)
       at Microsoft.Crm.Authentication.AuthenticationEngine.Execute(Object sender, EventArgs e)
       at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
       at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
    -->
    --.

There are some additional data:
code for calling my web service:

RecurrenceService serv = new RecurrenceService(); serv.Credentials = System.Net.CredentialCache.DefaultCredentials; string result = serv.UpdateSeries();

CRM4 url: "http://cw-dev-5/loader.aspx"
custom service url: "http://cw-dev-5/RecurrenceService/RecurrenceService.asmx"
the following code snippet System.Security.Principal.WindowsIdentity.GetCurrent().Name return: NT AUTHORITY\NETWORK SERVICE (I suppose it's a cause of error)

Could someone suggest me any solution to resolve my issue?

A: 

Is this calling it from an ASP.Net site? You may need to change the application pool identity to a domain user that has access to the CRM site (it's currently trying to use NT AUTHORITY\NETWORK SERVICE)

Steven Robbins
I try to call my service from plugin.
A: 

yep the webservice that is calling the CRM Services

custom service url: "http://cw-dev-5/RecurrenceService/RecurrenceService.asmx"

That needs to be logged on as a crm user as set up in the CRM user admin.

If you are calling from a plugin - that too needs to be the identity which has a user setup in CRM

A: 

Maybe you are running a non-english operating system?

Somehow, for whatever reasons, the login name for the network service is sometimes localized when the OS is translated into other languages.

Now a lot of programs expect the login name to be hard coded to "NT AUTHORITY\NETWORK SERVICE" - in a German version of Windows for example the name of the account is "NT-AUTORITÄT\NETZWERKDIENST". So your program is looking for the english name, can't find it, and shows an error.

Not sure if this applies to your problem, but it might be worth checking!

Sam
A: 

If your CRM server has multiple orgs on it, you'll need to put the org name in your URL:

http://cw-dev-5/SomeOrgName/RecurrenceService/RecurrenceService.asmx

You have to do this if the web application is in the CRM website because CRM will authenticate the user and see if they exist in that org. If you leave the org off, it uses the default org.

Here's some MSDN documentation on how that works: Using Microsoft Dynamics CRM URLs.

ZombieDev