So this question has the exact same symptoms of my problem.
Security settings for this service require 'Anonymous' Authentication but it is not enabled for the IIS application that hosts this service.
However, I've removed the mex
endpoint from my web config and I still get the same error. My web config looks like this:
<system.serviceModel>
<services>
<service name="xxx.MessageHub.MessageHubService"
behaviorConfiguration="default">
<endpoint binding="wsHttpBinding"
contract="xxx.MessageHub.IMessageHubService" />
</service>
</services>
<behaviors>
<endpointBehaviors>
</endpointBehaviors>
<serviceBehaviors>
<behavior name="default">
<!-- 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="true"/>
<serviceAuthorization principalPermissionMode="UseWindowsGroups" />
</behavior>
</serviceBehaviors>
</behaviors>
<bindings>
<basicHttpBinding>
<binding name="credsOnly">
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Windows"></transport>
</security>
</binding>
</basicHttpBinding>
<wsHttpBinding>
<binding name="transport">
<security mode="Transport">
<transport clientCredentialType="Windows"></transport>
</security>
</binding>
</wsHttpBinding>
</bindings>
</system.serviceModel>
I'm running the application with the IIS6 compatibility add on to IIS7 (because our prod servers run IIS6 - I get the same exception when deployed to the test server).
What settings do I need to fix to make this stuff work?