Java 与 .NET 的基于 WS-Security的Web Services集成实现(上)
来源:互联网 发布:js中window的方法 编辑:程序博客网 时间:2024/04/30 21:23
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上察看)
- Java 与 .NET 的基于 WS-Security的Web Services集成实现(上)
- Java 与 .NET 的基于 WS-Security的Web Services集成实现(下)
- Web Service 、WS-Security、Java和.net的互通
- Web services security (WS-Security)
- Axis2+Rampart(WSS4J)实现UsernameToken认证方式的WS-Security(基于SOAP的Web安全调用机制)
- 基于SOAP的Web安全调用机制-----Axis2+Rampart(WSS4J)实现UsernameToken认证方式的WS-Security【未试验】
- Java与.NET 的Web Services相互调用(二)
- .Net调用Java端带有WS-Security支持的Web Service各方案实战
- Web Service 、WS-Security、Java和.net的互通(在路上-基于SCA规范的应用服务框架成长记之四)
- Web Service 、WS-Security、Java和.net的互通(在路上-基于SCA规范的应用服务框架成长记之四)
- Java Web 服务: WS-Security 的大开销
- Java Web 服务: WS-Security 的大开销
- Java Web 服务: Metro 服务下的 WS-Security
- Configuring WS-Security with PeopleSoft Web Services
- WCF 与网络服务安全WS-Security (Web Services Security, short WSS)
- 利用 WAS V6.1 开发安全可靠的 Web Services, 第 1 部分:开发基于 JAX-WS 的 Web Services
- 利用WSDL2JAVA实现JAVA调用.Net的Web Services(1)
- Java与.NET 的Web Services相互调用
- 一条 sql 语句搞定数据库分页
- 来,开拓国产软件的新思维(上)
- WSE使用总结
- 对WSE使用总结的补充
- Java与.NET 的Web Services相互调用
- Java 与 .NET 的基于 WS-Security的Web Services集成实现(上)
- Java 与 .NET 的基于 WS-Security的Web Services集成实现(下)
- InstallShield内部库函数之1 库函数综述
- InstallShield内部库函数之2 用户界面函数
- InstallShield内部库函数之3 信息函数
- InstallShield内部库函数之4 内部对话框函数
- InstallShield内部库函数之5 Sd对话框函数
- InstallShield内部库函数之6 自定义对话框函数
- InstallShield内部库函数之7 组件函数