tags:

views:

67

answers:

1

Hi there,

Why do I need to include a DnsEndpointIdentity when creating my WCF endpoints?

So when I create an endPoint like this:

EndpointAddress endpoint = new EndpointAddress(uri);

I get a SSPI authentication failed error

But when I do this it works just fine:

DnsEndpointIdentity endpointIdentity = new DnsEndpointIdentity("sadmienjfkf");
EndpointAddress endPoint = new EndpointAddress(uri, endpointIdentity);

Notice that I don't even need a specific value in the constructor, and leaving it blank works fine too.
Also note that in my Service endPoint definition I don't specify the servicePrincipalName, i.e. I don't include

<identity>
    <servicePrincipalName value="" />   
</identity>

I've been reading about DnsEndpointIdentity and servicePrincipalName put i don't really understand.
Can anyone shine some light?

A: 

What's your setup?

  • What bindings are you using?
  • Server config - what security is enabled? What other options are turned on?
  • Client config - what security is enabled?

Maybe this article here can explain more what the servicePrincipalName info tries to do?

Marc

marc_s
security mode="Message"; clientCredentialType="Windows"; NetTcp Binding; Hosting in a console app on a different server
are you doing anything with impersonation?
marc_s