Java Web 服务: Metro 服务下的 WS-Security
2010-02-02 00:00:00 来源:WEB开发网构建并运行示例代码
在调试示例代码之前,您需要在您的操作系统中下载并且安装一个最新版本的 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 的策略部分以粗体显示。
更多精彩
赞助商链接