.net – WCF error: The caller was not authenticated by the service


I am trying to access my WCF service on a server from my client console application for testing. I am getting the following error:

The caller was not authenticated by
the service

I am using wsHttpBinding. I'm not sure what kind of authentication the service is expecting?

    <behavior name="MyTrakerService.MyTrakerServiceBehavior">
      <!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
      <serviceMetadata httpGetEnabled="true"/>
      <!-- To receive exception details in faults for debugging purposes, set the value below to true.  Set to false before deployment to avoid disclosing exception information -->
      <serviceDebug includeExceptionDetailInFaults="false"/>

It works if I change my binding to <endpoint "basicHttpBinding" ... /> (from wsHttpBinding)
on the IIS 7.0 hosted, windows 2008 server

Best Solution

If you use basicHttpBinding, configure the endpoint security to "None" and transport clientCredintialType to "None."

        <binding name="MyBasicHttpBinding">
            <security mode="None">
                <transport clientCredentialType="None" />
    <service behaviorConfiguration="MyServiceBehavior" name="MyService">

Also, make sure the directory Authentication Methods in IIS to Enable Anonymous access