我已经使用Visual Studio 2010(我认为wsdl.exe用于此)来生成基于WSDL(不 WCF客户端)的.NET 2.0兼容Web引用。当我使用代理调用服务方法时,我得到了这个异常:
发现处理标题
时发生错误
在异常详细信息中,有一个代码 InvalidSecurity 。
我检查了Web服务的文档,并指定在SOAP标头中使用wsse:Security元素。
<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<wsse:UsernameToken>
<wsse:Username>Username</wsse:Username>
<wsse:Password>Password</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
在调用方法之前,我尝试使用以下代码添加用户名和密码:
service.Credentials = new NetworkCredential(“Username”,“Password”);
但这没有用。使用Fiddler2我发现服务调用永远不会通过网络发送。
我的问题是:我可以在代码中做些什么来满足使用wsse:Security元素调用服务的要求?