快速业务通道

Java Web服务: Metro服务下的WS-Security - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-16
ean validate(Request request) throws PasswordValidationException  {      PasswordValidationCallback.PlainTextPasswordRequest ptreq         = (PasswordValidationCallback.PlainTextPasswordRequest)request;      return "libuser".equals(ptreq.getUsername()) &&        "books".equals(ptreq.getPassword());    } }

Metro 策略工具

Metro/WSIT 要求您向 WSDL 文件添加配置信息,就像使用 Axis2/Rampart 一样。这个系列中此前介 绍 Axis2/Rampart 的文章在构建过程中使用了一种特殊的策略工具来根据需要生成经过修改的 WSDL 文 件。本文的示例代码 下载 部分包含一种相似的工具,它根据 Metro/WSIT 的需要而设计。

这个工具就是 com.sosnoski.ws.MergeTool 应用程序,在示例代码的 mergetool 目录中。MergeTool 用于将数据合并到目标 XML 文件中,匹配嵌套的 XML 元素,找到需要合并的数据并在目标文档中确定数 据的合并点。示例程序的 build.xml 使用 MergeTool 将客户端或服务器的 WSIT 配置信息添加到服务的 WSDL 中。如果愿意,您也可以在自己的应用程序中使用 MergeTool — mergetool/readme.txt 文件包含 一些基础的使用说明,您也可以在提供的构建中看到 MergeTool 的使用方法。

如果没有 <wsss:ValidatorConfiguration>,Metro 将使用您的 Web 应用程序容器(提供 servlet 的 Web 服务器)所提供的授权机制。

Java Web服务: Metro服务下的WS-Security(5)

时间:2011-07-25 IBM Dennis Sosnoski

构建并运行示例代码

在调试示例代码之前,您需要在您的操作系统中下载并且安装一个最新版本的 Metro。您还需要对解 压后的示例代码 下载 根目录下的 build.properties 文件进行一些编辑,把 metro-home 属性值改成您 的 Metro 安装路径。如果您还打算测试一个不同操作系统或端口上的服务器,那么您需要修改 host- name 和 host-port。

要使用已提供的 Ant build.xml 构建示例应用程序,需要对下载代码的根目录和 ant 类型打开控制 台。这将首先调用 JAX-WS wsimport 工具(包含在 Metro 发行版中),然后构建客户端和服务器,最后 把服务器端代码打包为一个 WAR(这个过程将生成包含客户端与服务器 WSIT 配置信息的服务 WSDL 的独 立版本)。注意,包含在 Metro 1.5 中的 wsimport 版本会弹出一条警告信息(因为该工具在处理 WSDL 中嵌套的模式时有一个怪癖):src-resolve: Cannot resolve the name ''tns:BookInformation'' to a (n) ''type definition'' component。

这时您可以将 metro-library.war 文件部署到您的测试服务器中,然后在控制台上输入 ant run 来 运行示例客户端。示例客户端将向服务器发送一系列请求,并输出每个请求的简单结果。

在 Metro 中签名与加密

UsernameToken 的简洁性使其成为一个不错的起点,但这并不是 WS-Security 的典型应用。在大多数 情况下,您可能会使用签名,或者加密,或者两者都使用。清单 6 展示了一个修改过的、同时使用签名 与加密的 WSDL 示例(基于 “Axis2 WS-Security 签名和加密” 中的示例 — 请参考那篇文章了解关于 WS-Security 签名与加密技术的详细信息)。WSDL 的策略部分以粗体显示。

清单 6. 签名/加密 WSDL

<?xml version="1.0" encoding="UTF-8"?> <wsdl:definitions targetNamespace="http://ws.sosnoski.com/library/wsdl"    xmlns:wns="http://ws.sosnoski.com/library/wsdl"    xmlns:tns="http://ws.sosnoski.com/library/types"    xmlns:wsdl="http://sch

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号