我正在使用 IIS V5.1。集成 Windows 身份验证
我有以下网络配置:
<system.serviceModel>
<bindings>
<wsHttpBinding>
<binding name="wsHttpEndpointBinding">
<security mode="Transport" />
</binding>
</wsHttpBinding>
</bindings>
<services>
<service behaviorConfiguration="DXDirectory.Service1Behavior"
name="DXDirectory.DXDirectoryService">
<endpoint address="" binding="wsHttpBinding" bindingConfiguration="wsHttpEndpointBinding"
name="wsHttpEndpoint" contract="DXDirectory.IDXDirectoryService" />
<endpoint address="mex" binding="mexHttpsBinding" bindingConfiguration=""
name="MexHttpsBindingEndpoint" contract="IMetadataExchange" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="DXDirectory.Service1Behavior">
<serviceMetadata httpGetEnabled="false" httpsGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
当我选择在浏览器中查看 svc 文件时,它会显示以下错误:
例外:
此服务的安全设置需要“匿名”身份验证,但托管此服务的 IIS 应用程序未启用它。
当我删除 Mex 端点时,此错误被删除。
但是当我尝试在客户端应用程序中添加服务引用时,会出现以下错误:
URL http://localhost/DXDirectory/DXDirectoryService.svc处的文档未被识别为已知文档类型。
来自每种已知类型的错误消息可能会帮助您解决问题:
- 来自“ http://localhost/DXDirectory/DXDirectoryService.svc ”的报告是“无法识别文档格式(内容类型为 'text/html; charset=UTF-8')。”。
- 来自“DISCO 文档”的报告是“下载时出错” https://hes-ashu.abc.com/DXDirectory/DXDirectoryService.svc?disco '.'。
- 底层连接已关闭:发送时发生意外错误。
- 身份验证失败,因为远程方已关闭传输流。
- 来自“WSDL 文档”的报告是“无法识别文档格式(内容类型为 'text/html; charset=UTF-8')。”。
- 来自“XML Schema”的报告是“无法识别文档格式(内容类型为 'text/html; charset=UTF-8')。”。元数据包含无法解析的引用:“ http://localhost/DXDirectory/DXDirectoryService.svc ”。
HTTP 请求未经客户端身份验证方案“匿名”授权。从服务器收到的身份验证标头是“协商,NTLM”。
远程服务器返回错误:(401) Unauthorized。
如果在当前解决方案中定义了服务,请尝试构建解决方案并再次添加服务引用。