我在visual studio 2013中有一个asp.net网站。我添加了一个web服务。我需要将身份验证参数(用户名和密码)作为SOAP标头发送。但它无法找到属性RequestSoapContext。
我添加了使用Microsoft.Web.Services3;在我的代码中。
CCWS.Service proxy = new CCWS.Service();
UsernameToken userToken = new UsernameToken("", "", PasswordOption.SendPlainText);
proxy.RequestSoapContext.Security.Tokens.Add(token);
有些论坛说要在reference.cs文件中更改引用类型。但我在我的解决方案中找不到任何此类文件。 有人可以帮忙吗?
答案 0 :(得分:8)
这个问题相当陈旧但在搜索之后,似乎解决方案是手动修改生成的代理代码以继承Microsoft.Web.Services3.WebServicesClientProtocol
而不是System.Web.Services.Protocols.SoapHttpClientProtocol
。
答案 1 :(得分:1)
使用WseWsdl3.exe生成代码 找到作为wse 3.0的一部分下载的WseWsdl3.exe并执行以下命令: C:\ samples \ wse> WseWsdl3.exe C:\ samples \ wse \ us.wsdl /out:c:\samples\wse\myProxyClass.cs / protocol:SOAP / type:webClient
我想这可能会对你有所帮助。