一:内容简介
WS-Security描述通过消息完整性,消息机密性和单独消息认证提供保护质量的SOAP消息传递增强。适用于下列场合:
1. 客户必须能够确定消息来自哪个人并能够证实发送方就是那个发送方声称的发送方。
2. 客户必须能够确定被传送的数据没有篡改。
本文介绍了如何实现基于WS-Security协议的Java客户端程序与 .net的web services的集成调用。
二:平台及工具
操作系统:win2000 server
软件:VS.NET2003 WSE1.0 sp1
Jbuilder9
axis-wsse-1.0(axis实现的ws-security)
三:实现
1. 打开VS.NET2003,新建一个ASP.NET Web Services工程。增加一个名称为SumService的Web Services页面,其核心代码如下:
[SoapRpcMethod(Action="http://www.contoso.com/Rpc",RequestNamespace=
"http://www.contoso.com/SU",ResponseNamespace="http://www.contoso.com/SU")]
[WebMethod]
public int IntAdd(int a,int b)
{
SoapContext requestContext = HttpSoapContext.RequestContext.
if (requestContext == null)
throw new ApplicationException("Only SOAP requests are permitted.").
return a b .
}
2. 使用WSE Setting Tool 设定此Asp Web Services使用WSE功能,并在“安全”选项栏中添加一个密码提供类(PasswordProvider)用来实现WS-Security的安全认证。同时,选中trace功能用以跟踪此Web Services的接收到请求SOAP信息和返回的SOAP信息。
3. 添加Microsoft.Web.Services 引用,添加一个新的class,命名为PasswordProvider,此类实现了WSE中的IPasswordProvider接口,用来提供WS-Security的用户身份验证功能。其核心代码如下:
public class PasswordProvider : IPasswordProvider
{
public PasswordProvider()
{
//
// TODO: Add constructor logic here
//
}
public string GetPassword(UsernameToken token)
{
if (token.Username == “username”)
{
return “password”.
}
相关文章
技术摘要:如何编写安全的Java代码
Hibernate3.x过滤器的高级应用
ring让LOB数据操作变得简单易行
Java与.NET的基于WS-Security的We ervices集成实现(下)
Java与.NET的基于WS-Security的We ervices集成实现(上)
Java技术在多数据库系统中的应用研究
基于AJAX的动态树型结构的设计与实现
WebLogicUDDIClientAPI实例学习(二)
WebLogicUDDIClientAPI实例学习(一)
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛