我有一个在.net之外运行的Web服务,我需要从.NET客户端调用。
我得到了一个用Visual Basic编写的.NET客户端来测试。
.NET客户端可以使用basicHttpBinding
使用明文SOAP消息访问Web服务。
我可以为外部Web服务配置策略/绑定,以使用Kerberos令牌进行消息级别保护和身份验证。我可以通过修改配置文件来使用wsHttpBinding
来从.NET客户端访问此Web服务。
现在,要求是仅使用Kerberos令牌进行身份验证,而不是对SOAP消息进行签名/加密。也就是说,我只需要SOAP标头中的标签。我有这个配置在外部Web服务上工作,但现在我想修改配置文件,以便.NET客户端只发送和不签署/加密SOAP消息的任何部分。
是否可以修改.net客户端的.config文件来执行此操作?
我的理解是basicHttpBinding
无法修改为使用Kerberos令牌(仅限UserName / Certificate)。
我尝试通过“defaultProtectionLevel = Sign / SignEncrypt / None”这样的属性禁用wsHttpBinding
中的签名/加密,但这在wsHttpBinding
中不可用(或者我不能找到它)。我只能通过。
我还尝试构建customBinding
,但无法禁用签名/加密,只能使用Kerberos令牌进行身份验证。
有没有人有解决方案或一些技巧可以指出我正确的方向来解决上述问题?