我正在尝试将此Web服务称为 https://link.hertz.com/AuthenticationWebservice/authenticateAdmin?wsdl
据说我需要传递以下信息以便通过网络服务进行身份验证:
username => "webServiceUserName"
password => "webServicePassword"
WSS-Password Type => "PasswordDigest"
我正在使用asp.net 4.0应用程序而无法弄清楚如何将WSS-Password类型传递给我的Web服务调用。
我在asp.net应用程序中添加了这个服务url作为服务引用,我在asp.net页面中使用了以下代码:
service1.AuthenticateAdminClient myClient = new service1.AuthenticateAdminClient();
myClient.ClientCredentials.UserName.UserName = "webServiceUserName";
wsClient.ClientCredentials.UserName.Password = "webServicePassword";
myClient.authenticateAdminCredentials(myUserName, myPassword, myDomain);
提前谢谢,
哈
答案 0 :(得分:2)
我们使用了这个example,它对我们有用。我们刚刚在SecurityHeader中更改了“genericity”这个:
if (PasswordType == PasswordType.Digest)
{
writer.WriteAttributeString("Type", "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest");
writer.WriteString(ComputePasswordDigest(SystemPassword, nonce, created));
}
else if (PasswordType == PasswordType.Text)
{
writer.WriteAttributeString("Type", "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText");
writer.WriteString(SystemPassword);
}