Solution :
I did not have the control over my security configuration for a service I was calling into, but got a same error. I was able to fix my client as shown below :
1.In your config, set up the security mode as shown below :
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Windows" proxyCredentialType="None" realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
2.In your code, set up the proxy class to allow impersonation (I have added the reference to a service called customer) as shown below :
Customer_PortClient proxy = new Customer_PortClient();
proxy.ClientCredentials.Windows.AllowedImpersonationLevel = System.Security.Principal.TokenImpersonationLevel.Impersonation;