我有一个ASP.NET MVC 3项目,其任务是实现一些UI控件。我需要调用一些Web服务并将数据绑定到UI控件。问题是Web服务主机(我们无法控制它们)要求我首先实现UsernameToken
类(WSE 2.0)来验证用户并生成安全令牌。据我所知,WCF在2006年取代了WSE 2.0。我不想切换回VS 2005以便能够使用WSE 2.0。我有什么选择?
感谢您的帮助!
答案 0 :(得分:0)
只需向ASP.NET MVC应用程序添加Service Reference
并将其指向Web服务WSDL即可。这将生成一个与WSE兼容的强类型WCF客户端。这里的an article涵盖了不同的互操作性方案
答案 1 :(得分:0)
我担心Darin Dimitrov的方法不起作用。我最终完成的是安装了WSE 2.0,然后添加了对WSE安装目录中找到的Microsoft.Web.Services2.dll
的dll引用(c:\ Program Files(x86)\ Microsoft WSE \ v2.0 \ Microsoft.Web.Services2.dll )。我还修改了服务的Reference.cs文件以继承Microsoft.Web.Services2.WebServicesClientProtocol
。我能够找到UsernameToken
类并能够成功进行身份验证。
我不是这方面的专家,所以我不确定这是否是正确的做法,但它仍然有效。