保护WebLogic Server上WebServices
本文首先概述了消息完整性、消息机密性和身份验证,简短讨论了怎样通过策略注释加以实现。接着实例指导如何构建一个基本服务,添加消息完整性、机密性和授权……
配置WTP
就本教程而言,我们将采用广泛应用的开源Eclipse IDE,利用Web Tools Platform(WTP)插件。如果您还没有这些软件,请从这里下载 http://download.eclipse.org/webtools/downloads/。
注意,本教程假定读者熟悉WTP/Eclipse。如果不是这样,建议读者先看一下Eclipse WTP的帮助文档。
这里使用WTP是随意的。您可以选择使用任何IDE(如若不然,还可采用一个基于文本编辑器和命令行的环境,虽然基于文本的环境不允许检查消息流——为此需要一个额外的工具)。本文选择WTP的原因只是它得到了广泛应用,而且是开源的(即,可以免费下载和使用),还因为它支持TCP/IP监视器功能,允许我们察看被发送的实际的受保护消息。
安装WTP通常包括获得包含该产品的ZIP文件,然后将它解压缩到文件系统里。之后,运行解压缩后的文件。出现提示后,选择新的workspace目录(如C:\workspaces)。本教程中,这个目录简称为WORKSPACE_DIR。
启动WTP之后,您需要将默认的JVM改换成WebLogic Server附带的JVM。切换到Java 透视图(除非它已经是当前活动的透视图)。在菜单中选择Window | Preferences。在左边的窗格中展开Java,然后在它下面选择Installed JREs。我们需要添加BEA提供的JDK。在右边的窗格中,单击Add...。再单击Browse...按钮,然后找到您的BEA JDK的主目录(通常是C:\bea\jdk150_04),单击OK。如果出现提示要求您重建,则单击Yes。
至此,配置完WTP,可以启动监视器了。
启动TCP/IP监视器
为了测试安全措施是否按要求工作,我们将启动WTP的TCP/IP监视器功能。这将允许我们截取和检查客户端与服务器间正在交换的消息。为此,我们必须定义一个从 WTP内部指向WebLogic Server的服务器实例。首先,停止所有当前运行的WebLogic Server实例(使用 stopWebLogic.cmd 脚本)。
在WTP中,打开Servers视图。在视图任意位置右击,选择New | Server。在弹出的菜单中,展开BEA Systems,选择Generic BEA WebLogic Server v9.2。单击Next。在JRE下拉菜单中选择jdk150_04,然后单击Next。
修改Domain Directory指向DOMAIN_DIR。修改Start Script字段和Stop Script字段,指向DOMAIN_DIR/bin中的对应的启动/停止脚本(startWebLogic.cmd脚本和stopWebLogic.cmd脚本)。将Password改成password,然后单击Finish。回到Servers视图,在新出现的Generic BEA WebLogic Server v9.2上右击,然后选择Monitoring | Properties。此时会弹出Monitoring Ports窗口,单击Add...。在弹出菜单上单击OK。现在应该看到列出了一个新的监视器端口(7001/7002)。选择它,单击Start。单击OK。
此时,所有发往端口7002的业务都将传递给监视器,在转发给(正确的)服务器端口 7001之前由显示器显示出来,以便我们检查传入和发出的流量。
构建、生成和部署一个简单的Hello World服务
现在我们要创建一个基本的 Web Services JWS。它是一个非常简单的服务。传入一个字符串,它就会返回适当的问候。下面来构建和部署这个服务。
在WTP中创建一个名为WSTest的新Java项目。在这个项目中创建一个名为com.test.HelloWorldService的新Java类。
现在我们要给项目添加BEA weblogic.jar库,以便我们的代码可以正确的编译。右键单击WSTest项目,选择Properties。出现 Properties 窗口。单击左边窗格中的Java Build Path。单击右边窗格中的Libraries。单击Add External JARs。在出现的JAR Selection窗口中找到您的WebLogic Server库文件夹,选择weblogic.jar(通常类似于C:\bea\weblogic92\server\lib\weblogic.jar)。单击Open。现在,应该会看到weblogic.jar列于Libraries中。单击OK。
- 本文关键词:

