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

原创 2004年03月12日 17:51:00

Java .NET 的基于 WS-SecurityWeb Services集成实现

                                         rottenapple<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

本文适用读者:

        Web Services开发人员

应具备的知识:

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

 

一:内容简介

        WS-Security描述通过消息完整性,消息机密性和单独消息认证提供保护质量的SOAP消息传递增强。适用于下列场合:

1. 客户必须能够确定消息来自哪个人并能够证实发送方就是那个发送方声称的发送方。

2. 客户必须能够确定被传送的数据没有篡改。

本文介绍了如何实现基于WS-Security协议的Java客户端程序与 .netweb services的集成调用。

二:平台及工具

        操作系统:win2000 server

        软件:VS.NET2003+WSE1.0 sp1

                    Jbuilder9

                    axis-wsse-1.0(axis实现的ws-security)

三:实现

1. 打开VS.NET2003,新建一个ASP.Net Web Services工程。增加一个名称为SumServiceWeb 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中的UsernameTokenWeb Services就基本实现了。此时建议使用.net先开发一个客户端进行测试,测试成功后再开发相应的java客户端程序。(如何开发请参见我以前写的关于WSE的文章或到微软MSDN上察看)

轻量级webservice解决方案Jax-ws(集成Spring3)

jax-ws轻量级webservice实现介绍(基于目前主流框架Spring3)
  • metecyu
  • metecyu
  • 2014年04月28日 13:32
  • 3754

基于JAX-WS的Web Service服务端/客户端

JAX-WS(Java API for XML-Based Web Services)用于简化使用Java构建WebService服务端和
  • a19881029
  • a19881029
  • 2014年06月18日 11:25
  • 22206

使用JAX-WS开发简单webservice

webservice的技术有很多,现在流行的有JAX-WS、XFile、CXF、Axis1、Axis2等。不过JAX-WS是webservice技术最轻量级的,不需要引入额外jar包。  在服务器端,...
  • w410589502
  • w410589502
  • 2016年07月07日 09:55
  • 1628

Web Service 、WS-Security、Java和.net的互通(在路上-基于SCA规范的应用服务框架成长记之四)

Web Service 、WS-Security、Java和.net的互通 和第三部分同样,这部分内容其实应该在后面才对,不过当前工作既然做了,也需要写下来分享,那么就提前插队到成长记录当中吧。看了...
  • wxyFighting
  • wxyFighting
  • 2013年05月08日 09:26
  • 1198

Expert Web Services Security in the .NET Platform

  • 2013年11月28日 09:25
  • 21.38MB
  • 下载

VC++6.0调用Web Services(可以是c#,java,vc++.net等提供的服务都可以)!

本文主要讲述VC++6.0调用Web Services的方法,其中web services可以是c#,java,vc++.net等提供的服务都可以调用!主要的大致过程如下:     需要装Soap T...
  • wsgongdehong
  • wsgongdehong
  • 2011年03月28日 19:43
  • 684

Java/.NET互操作性:Web Services 并不总是答案

原文地址:http://www.devx.com/enterprise/Article/43086/0/page/1利用Web Services 将 .NET 和 Java 技术融合很容易,但对于许多...
  • liuning800203
  • liuning800203
  • 2011年06月07日 13:55
  • 1174

jax-ws(Java API for XML Web Services)实践教程

环境: myeclipse8m1/jdk1.6 服务端 : 1.新建webService项目 2.新建一个服务类 view plaincopy to...
  • h1987983372
  • h1987983372
  • 2011年11月26日 21:22
  • 622

JWS, JAX-WS, JAX-RS, REST, Restlet, SOAP (JAVA Web Services 技术)

JWS,JAX-WS,JAX-RS,REST,Restlet,SOAP l  JWS: 是指与webservice相关的J2EE(其实现在应该叫做Java EE吧)技术叫做 JWS(全称就是 j...
  • lznsnail
  • lznsnail
  • 2012年03月04日 17:31
  • 1266

为什么我在eclipse中新建一个java web项目的时候多出了几个文件(Jax-Ws-Web Services 等等)我原先的项

视图切换java没估计原项目面搞web service 追问 能说的在详细些吗 我以前好像切换过 但我忘记怎么搞啦 回答 window菜单--->Open P...
  • baidu_18607183
  • baidu_18607183
  • 2014年10月13日 08:44
  • 1164
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java 与 .NET 的基于 WS-Security的Web Services集成实现(上)
举报原因:
原因补充:

(最多只允许输入30个字)