使用WCF实现WSSecurity / PasswordText身份验证

时间:2012-02-16 01:05:41

标签: c# .net wcf wcf-security wse

我需要连接到用Java编写的实现WSSecurity / PasswordText身份验证的服务。我在Visual Studio 2008程序集中实现WSSecurity时遇到了困难。

我尝试了很多不同的方法来做到这一点。这是在服务开发人员实现WSSecurity之前的工作原理:

        var binding = new BasicHttpBinding();
        var endpoint = new EndpointAddress(serviceEndpoint); 

        myServiceClient nw = new myServiceClient(binding, endpoint);


        nw.ClientCredentials.UserName.UserName = userName;  
        nw.ClientCredentials.UserName.Password = password;  

        var _nwEndpoint = nw.ChannelFactory.CreateChannel();
        _nwEndpoint.DoStuff();

每次使用的时间或方法,我最终都会看到来自服务的陷阱错误 - 用户未经过身份验证。

我已将绑定类型更改为WSHttpBinding,但该服务不会通过SSL运行,因此无效。我也尝试了许多ClientCredentialTypes,其中任何一个都不起作用。我也尝试在我的app.config文件中添加带有用户名和密码的WSSE头信息,但它们似乎没有被读取或有任何效果。每次我得到相同的“用户未经过身份验证”的例外。

一位同事将这与WSE分成几行;这不是一个选择。我错过了什么?

0 个答案:

没有答案