快速业务通道

Java Web 服务: Axis2 WS-Security基础 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-14
根据需要对消息作出修改 ,从而完成工作。

安装 Rampart

Rampart 附带了一些 .jar 文件(在发行版的 lib 目录中),以及一对 .mar 模块文件(位于 dist 目录中)。您必须将 .jar 文件添加到类路径中才能对 Axis2 使用 Rampart,并且必须将 .mar 文件添 加到类路径或 Axis2 库结构中。

处理 Rampart .jar 和 .mar 文件的最简单方法是将它们添加到 Axis2 安装中。可以从 Rampart lib 目录中直接将 .jar 文件复制到 Axis2 lib 目录,从 Rampart dist 目录中直接将 .mar 文件复制到 Axis2 库/模块目录中。(还可以使用 Ant build.xml 在 Rampart 样例目录中将文件复制给 Axis2 安装 。只需要将 AXIS2_HOME 环境变量设置为 Axis2 安装目录并从打开 Rampart 样例目录的控制台运行 ant )。

对于众多 WS-Security 特性,您还需要向 JVM 安全配置添加 Bouncy Castle 安全提供程序,向 Axis2 安装添加 Bouncy Castle .jar。本系列后续文章中涉及的其他安全特性(不包括本文将介绍的 UsernameToken)需要使用这一步骤。由于某些安全算法涉及专利问题,Bouncy Castle .jar 可以从 Rampart 独立下载(见 参考资料)。为您的 Java 运行时下载合适的 .jar 版本,并向 Axis2 lib 目录 添加 .jar。您随后需要修改 Java 安装的安全策略来使用 Bouncy Castle 代码,需要向 Java 运行时的 lib/security 目录中的 java.security 文件添加一行代码。查找文件中具有不同 security.provider 行的部分,然后添加以下代码行:

security.provider.99=org.bouncycastle.jce.provider.BouncyCastleProvider

security.provider 行在文件中的顺序并不重要,但是最好将其添加到实现预定义安全提供程序的代 码行的后面。

要在 Axis2 服务器安装中使用 Rampart 代码,需要创建一个新的 axis2.war 文件,其中包括新添加 的 Rampart .jar 和 .mar 文件。可以使用 webapp 目录中提供的 Ant build.xml 来创建 axis2.war, 假设您做了一处修改:删除文件末尾的 <exclude name="axis2-codegen*.jar"/> 行。然后在控制 台中打开 Axis2 webapp 目录并运行 ant。运行完 build.xml 后,会发现创建的 axis2.war Web 应用程 序出现在 Axis2 安装的 dist 目录中。

样例应用程序

示例代码中提供的应用程序(见 下载)基于我在 “Axis2 数据绑定” 中用于演示 Axis2 数据绑定 方法的示例。对于本文以及有关 Axis2 WS-Security 支持的后续文章,我将这个示例精简到三个操作: getBook、addBook 和 getBooksByType。为了保持简单性,只提供了 Axis Data Binding (ADB) 版本的 代码,但是这并不是在 Axis2 中使用 WS-Security 的必需要求 — Rampart 可以独立于代码使用的数据 绑定技术实现 WS-Security,因此它可以处理 Axis2 支持的所有形式的数据绑定。

示例代码的根目录为 jws04code。在该目录内部,将找到 Ant build.xml 和 build.properties 文件 ,以及为示例应用程序提供服务定义的 library.wsdl 文件,用于配置客户端登录的 log4j.properties 文件,以及一些属性定义 XML 文件(全部命名为 XXX-policy-client.xml 或 XXX-policy-server.xml) 。build.properties 文件配置示例应用程序的操作。清单 2 展示了这个属性文件的附带版本:

Java Web 服务: Axis2 WS-Security基础(3)

时间:2011-10-02 ibm Dennis Sosnoski

清单 2. 附带的 build.properties 文件

# set axis-home to your Axis2 installation directory axis- home=PATH_TO_AXIS2_INSTALLATION # set the connection protocol to be used to  access services (http or https) protocol=http # set the name of the service  host host

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号