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