C# HTTP请求未经PBBI的客户端身份验证授权
我试图通过web服务连接我的dev PBBI服务器以验证地址。看起来我对身份验证有问题。我没有这方面的文件。若你们有任何关于验证服务的线索,我有什么方法来验证 例外情况C# HTTP请求未经PBBI的客户端身份验证授权,c#,asp.net,web-services,C#,Asp.net,Web Services,我试图通过web服务连接我的dev PBBI服务器以验证地址。看起来我对身份验证有问题。我没有这方面的文件。若你们有任何关于验证服务的线索,我有什么方法来验证 例外情况 <system.serviceModel> <bindings> <basicHttpBinding> <binding name="ValidateAddressSoapBinding" > <secu
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="ValidateAddressSoapBinding" >
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Basic"/>
</security>
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://webserviceURL:8080/soap/ValidateAddress"
binding="basicHttpBinding" bindingConfiguration="ValidateAddressSoapBinding"
contract="PBBIWebService.ValidateAddress" name="ValidateAddressPort" />
</client>
</system.serviceModel>
mscorlib.dll中发生类型为“System.ServiceModel.Security.MessageSecurityException”的未处理异常
其他信息:HTTP请求未经客户端身份验证方案“Ntlm”授权。从服务器接收的身份验证标头为“Basic realm=“DCGRealm””
代码
var validateClient = new ValidateAddressClient("ValidateAddressPort");
validateClient.ClientCredentials.UserName.UserName ="Admin";
validateClient.ClientCredentials.UserName.Password = "ADMIN";
var address1 = new input_portAddress
{
AddressLine1 = "1825B Kramer Lane",
AddressLine2 = "Suite 100",
PostalCode = "78758",
City = "Austin",
StateProvince = "Texas"
};
var addresses = new input_portAddress[2];
addresses[0] = address1;
var options = new options {OutputCasing = OutputCasing.M};
output_portAddress[] results =
validateClient.ValidateAddress(options, addresses);//Exception happening here.
配置
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="ValidateAddressSoapBinding" >
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Basic"/>
</security>
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://webserviceURL:8080/soap/ValidateAddress"
binding="basicHttpBinding" bindingConfiguration="ValidateAddressSoapBinding"
contract="PBBIWebService.ValidateAddress" name="ValidateAddressPort" />
</client>
</system.serviceModel>
如何解决此问题?对于配置,请更新此部分
system.serviceModel>bindings>basicHttpBinding
<basicHttpBinding>
<binding name="ValidateAddressSoapBinding" >
<security mode="Transport">
<transport clientCredentialType="Basic"/>
</security>
</binding>
</basicHttpBinding>