新客网WWW.XKER.COM:致力做中国最专业的网络学院!
学院: 操作系统 - 网络应用 - 服务器 - 网络安全 - 工具软件 - 办公软件 - Web开发 - 数据库 - 网页设计 - 图形图像 - 媒体动画 - 硬件学堂 - 存储频道 - QQ专区
您的位置:首页 > 软件开发 > .Net开发 > Asp.net教程 > 正文:Java 与 .NET 的基于 WS-Security的Web Services集成实现(上)

Java 与 .NET 的基于 WS-Security的Web Services集成实现(上)

新客网 XKER.COM 2004-05-14 来源: 收藏本文


Java 与 .NET 的基于 WS-Security的Web Services集成实现

rottenapple

本文适用读者:

Web Services开发人员

应具备的知识:

使用过VS.NET2003 +WSE开发过Web Services,会使用Jbuilder9开发简单的java应用程序。



一:内容简介

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”;

}

else

{

return "love";

}

}

}

至此,一个实现了WS-Security中的UsernameToken的Web Services就基本实现了。此时建议使用.net先开发一个客户端进行测试,测试成功后再开发相应的java客户端程序。(如何开发请参见我以前写的关于WSE的文章或到微软MSDN上察看)
收藏】 【评论】 【推荐】 【投稿】 【打印】 【关闭
发表评论
要记得去论坛讨论,点击注册新会员匿名评论
评论内容:不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
阅读排行
随机推荐
实用信息推荐