我正在用.NET核心重写一个控制台应用程序,该应用程序调用一个外部web服务。
我目前正在收到以下错误:
发生了一个或多个错误。( HTTP请求是未经授权的客户端身份验证方案“匿名”。从服务器接收到的身份验证头是'NTLM,协商‘)。
通过更新App.config,我能够在旧版本的应用程序中解决这个问题,如下所示:
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="EmployeeSoap" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647" maxBufferPoolSize="2147483647">
<security mode="Transport">
<transport clientCredentialType="Ntlm" />
<message clientCredentialType="Certificate" algorithmSuite="Default" />
</security>
</binding>
<binding name="EmployeeSoap1" />
</basicHttpBinding>
<customBinding>
<binding name="EmployeeSoap12">
<textMessageEncoding messageVersion="Soap12" />
<httpsTransport />
</binding>
</customBinding>
</bindings>
<client>
<endpoint address="https://..." binding="basicHttpBinding" bindingConfiguration="EmployeeSoap" contract="TEST.EmployeeSoap" name="EmployeeSoap" />
</client>
</system.serviceModel>我似乎找不到任何好的资源来展示如何在.NET核心中完成这一任务。我希望有人能指出正确的方向。
提前谢谢。
发布于 2021-01-08 17:57:25
让System.ServiceModel.BasicHttpBinding在.NET核心5中正确地解决与此相关的问题。
在尝试向Microsoft WCF Web服务参考提供程序添加新的连接服务后,此操作纠正了Connected Services中的问题。在设置终结点并生成连接引用后,References.cs无法生成。添加此包解决了问题。
https://stackoverflow.com/questions/50898978
复制相似问题