我试图消费使用证书的Java Web服务。我可以生成代理,添加服务参考。问题是:它需要基本的HTTP授权标头。 它需要引用用户/密码并将它们传递到标题中。使用.NET客户端消费Java Web服务
谢谢。
我试图消费使用证书的Java Web服务。我可以生成代理,添加服务参考。问题是:它需要基本的HTTP授权标头。 它需要引用用户/密码并将它们传递到标题中。使用.NET客户端消费Java Web服务
谢谢。
这取决于您使用的.NET版本。
如果您可以使用WCF,您只需更改绑定,传递凭据并让框架完成工作。
你可以在这里找到配置说明(你只需要客户端配置下半场):
Transport Security with Basic Authentication - MSDN
否则,您可以下载Web Service Extensions (WSE) 3.0和使用,对于简单的身份验证。
Implementing Direct Authentication with UsernameToken in WSE 3.0
这听起来像Java的Web服务使用SSL,TLS协议,而不是老派的SSL协议。您不需要“在标题中加密证书用户名和密码”。我现在不在你听到的那个地方。如果它的一个常规证书是Java默认cacerts密钥库的一部分,那么Java已经拥有内置的密码。
如果我是自签名证书(在Web服务端),您可能需要以某种方式告诉C#信任自签名证书。另外,您所指的“凭证”不是用户名+密码,而是仅仅是私钥有效负载。
感谢您的WCF解决方案。在客户端(Windows窗体)中使用ServiceModel组件进行工作。对于授权,我只是启用绑定以使用基本安全性,并传入客户端证书。 – Erup 2010-04-17 22:24:13