我正在使用Windows应用程序中的WSDL来使用Web服务。当我尝试使用方法时,我收到以下错误: -
HTTP请求未经授权使用客户端身份验证方案 '匿名'。从服务器收到的身份验证标头是“”
{“远程服务器返回错误:(401)未经授权。”}
我有用户凭据但不知道如何使用Windows应用程序中的c#代码传递它。
我正在使用Windows应用程序中的WSDL来使用Web服务。当我尝试使用方法时,我收到以下错误: -
HTTP请求未经授权使用客户端身份验证方案 '匿名'。从服务器收到的身份验证标头是“”
{“远程服务器返回错误:(401)未经授权。”}
我有用户凭据但不知道如何使用Windows应用程序中的c#代码传递它。
以下是它如何为我工作: -
配置文件设置如下所示: -
<configuration>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="bindingName" >
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Basic" proxyCredentialType="None" realm=""/>
<message clientCredentialType="UserName" algorithmSuite="Default"/>
</security>
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://10.10.10.10:1880/testpad/services/Testwebservice"
binding="basicHttpBinding" bindingConfiguration="bindingName"
contract=testService.GetData" name="test_Port1" />
</client>
</system.serviceModel>
</configuration>
在这里,我传递用户凭据: -
var ser = new GetDataClient();
ser.ClientCredentials.UserName.UserName = "userid";
ser.ClientCredentials.UserName.Password = "Pa$$word1";
您可以尝试使用上述方法生成服务客户端代理 这里。获得WCF客户端代理的实例后,它将具有属性 ClientCreditials
你可以根据需要填写。
希望这可以帮助。