Question

I have a WCF Service hosted in IIS on DomainA. My client machine is either not joined to any domain or it is on a domain that is not trusted hence I am not able to invoke the service. (Error: There was no endpoint listening at .... that could accept this message....)

In order to work around this I used explicit user credentials when calling into the WCF service. http://blogs.msdn.com/b/sonuarora/archive/2007/04/21/setting-client-credentials.aspx

Proxy.ClientCredentials.Windows.ClientCredential.UserName = "UserA";
Proxy.ClientCredentials.Windows.ClientCredential.Password = "Pass"
Proxy.ClientCredentials.Windows.ClientCredential.Domain = "**DomainA**"
//UserA belongs to DomainA. 

I tried this from a machine on DomainA and it worked. I confirmed that UserA was used. But this does not work from client machine which is not from DomainA.

Is this because impersonation is happening on client machine? Is there a way to transport these explicit creds to IIS and on IIS machine try to impersonate ?

Was it helpful?

Solution

Ok, I found out that this was because there was no trust between the domains. Also, the impersonation happens at client side.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top