【IT168技术文档】
设置环境
开始编写代码之前,必须确保您有所有必要的软件,并且保证正确设置服务器。
安装软件
开始之前,需要在计算机上安装如下软件:
注册服务器
在可以与 web 服务协作之前,必须注册一款 Sun Java System Application Server。如果安装了 NetBeans IDE 5.0/SJS Application Server 资源包,则自动注册本地 Sun Java Application Server。
- 如果想部署不同的服务器(如,Jboss Application Server 或 Tomcat Web 服务器),则选择 Help > Help Contents 并阅读相关的帮助主题。
- 从主窗口选择 Tools > Server Manager。
- 单击 Add Server。选择服务器并为该服务器实例命名。然后单击 Next。
- 指定应用服务器的安装目录(如 C:\Sun\Appserver),选择 Register local default domain 单选按钮,并单击 Next。
- 从 Location 组合框选择应用服务器本地实例的位置。
- 另外,单击 Next 并输入管理员用户名和密码。如果不想在 IDE 用户目录存储用户名和密码,则可以不填这些字段。IDE 将在每次需要信息时提示您。
注意:Sun Java System Application Server 的默认管理员密码是 adminadmin。 - 单击 Finish。
- 单击 Runtime 窗口并展开 Servers 节点。新的服务器实例即被列出。
- 右键单击应用服务器的节点并选择 Start Server。
开发 Web 服务
为 web 服务编码很方便。IDE 为您管理所有实现详细信息,所以您可以集中精力编码 web 服务的业务逻辑。
创建项目
- 决定是从 web 应用程序还是从会话 bean 公开 web 服务。
- 选择 File > New Project (Ctrl-Shift-N),并且根据上一步做出的决定进行以下操作之一:
- 在 Categories 下选择 Web。在 Projects 下选择 Web Application。单击 Next。
- 在 Categories 下选择 Enterprise。在 Projects 下选择 EJB Module。单击 Next。
- 命名项目 HiWS,将 Project Folder 更改到计算机上的任一文件夹,并确保在 Server 下拉式列表中选择您选择的服务器。
- 单击 Finish。
创建 Web 服务
- 右键单击项目节点并选择 New > Web Service。命名 web 服务 HiWS,在 Package 字段键入 org.me.hi,并单击 Finish。
创建和编译 web 服务时,请等候几秒钟。在 Source Editor 中开启称作 HiWSImpl.java(在 web 应用程序中)的实现类或称作 HiWSBean.java(在 EJB 模块中)的会话 bean。
- 在 Projects 窗口中,展开 Web Services 节点,右键单击 HiWS web service 节点,并选择 Add Operation。在 Name 字段键入 sayHi,在 Type 下拉式列表中键入 String。单击 Add 并定义类型 java.lang.String 的命名为 s 的参数。单击 OK。单击 OK。
- 在 Add Operation 对话框中单击 OK,以创建操作框架。
展开 Source Packages 节点和 org.me.hi 节点。双击 HiWSSEI.java 节点,注意观察在接口类中声明的操作,并且注意是否抛出了 java.rmi.RemoteException 异常。
- 在 Source Editor 中,在实现类或会话 bean 中填写操作框架。此类可以是 HiWSImpl.java(在 web 应用程序中),也可以是 HiWSBean.java(在 EJB 模块)。在 sayHi 操作的主体部分,通过用以下代码替换 "return null;" 完成此操作:
新的 sayHi 方法现在应该与以下方式一样:return "Hi " + s + "!";public java.lang.String sayHi(java.lang.String s) throws java.rmi.RemoteException { return "Hi " + s + "!"; }
生成和配置用于日志记录的 SOAP 消息处理程序
另外,您可以用 SOAP 消息处理程序提供的功能丰富 web 服务。在此可选部分中创建一个 logger。
- 右键单击项目节点并选择 New > File/Folder。在 Categories 下选择 Web Services。在 File Types 下,选择 Message Handler。单击 Next。
- 命名消息处理程序 HiWSLogger,在 Package 下拉式列表中选择 org.me.hi,并单击 Finish。
在 Source Editor 中创建并打开称作 HiWSLogger.java 的实现类。无需添加或更改代码,现在就有了一个 logger,因为 IDE 的消息处理程序模板提供的默认代码提供了完整的 logger 功能。
- 在 Projects 窗口中,展开 Web Services 节点,右键单击 HiWS 节点并选择 Configure Handlers。在 Configure SOAP Message Handlers 对话框中,单击 Add 并浏览 HiWSLogger 类。单击 OK。
即可在对话框中列出消息处理程序类。
- 单击 OK,以完成配置 SOAP 消息处理程序。
展开 Configuration Files 节点。双击 webservices.xml 节点并注意观察声明处理程序的情况。
公开 Web 服务
公开 Web 服务时,使它可供客户端使用。可以将 IDE 用作客户端,以便在部署之后进行测试。
部署 Web 服务
根据您实现 web 服务的方法,完成以下操作之一:
- 对于作为 web 应用程序实现的 web 服务,执行以下操作:
- 选择 Tools > Options 并从 Web Browser 下拉式列表中选择您的浏览器。单击 OK。
- 在 Projects 窗口中右键单击 HiWS 项目节点,并选择 Properties。在 Project Properties 对话框中,选择 Run 窗格。在 Relative URL 文本框中键入 /HiWS?WSDL。该 Relative URL 文本框即指定与上下文路径相关的 URL,以充当应用程序的入口点运行。单击 OK。
- 在 Projects 窗口中右键单击 HiWS 项目节点,并选择 Run Project。
启动服务器并部署 web 服务。应该看到在您的浏览器中显示的 web 服务的 WSDL 文件。该 WSDL 文件发布了 web 服务的端点,所以负责创建 Web 服务客户端的开发人员可以知道 Web 服务可以提供哪种功能。
- 对于作为会话 bean 实现的 web 服务,在 Projects 窗口中右键单击 HiWS 项目,并选择 Deploy Project。启动服务器并部署 web 服务。注意,会话 bean 不在浏览器中显示。
Web 服务必须保持部署状态,以便能够在 "Consuming the Web Service" 部分创建 web 服务客户端。
注册和测试 Web 服务
- 在 Projects 窗口中,展开 Web Service 节点,右键单击 HiWS web 服务节点,并选择 Add to Registry。
您可能收到与以下形式类似的错误消息:
Unable to add web service to registry. Make sure it has been deployed, the server is running, and the correct WSDL URL was entered.如果收到此错误消息,则要确保部署了 web 服务,然后再次选择 Add to Registry。
即出现一个带有建议的用于注册 web 服务的 URL 的对话框。
- 记下该 URL,因为您需要在稍后创建 web 服务客户端时使用。单击 OK。
- 在 Runtime 窗口 (Ctrl-5) 中,展开 Web Services 节点并且持续展开节点,直到到达 sayHi 节点。右键单击 sayHi 节点并选择 Test Operation。在 Test Web Service Operation 对话框中,在 Value 文本框中键入 "John" 并单击 Submit。结果 "Hi John!" 即显示在对话框的底部。单击 Close。
- 查看服务器日志,可以看到由消息处理程序生成的日志消息。例如,如果使用的是 Sun Java System Application Server,则要展开 Runtime 窗口下的 Servers 节点,右键单击该服务器的节点,并选择 View Server Log。该 server.log 文件即显示,并在结尾处出现类似于以下形式的消息:
|Log message:Wed Sep 07 10:47:45 CEST 2005--sayHi String_1:John |#]这是您在前一部分创建的 SOAP 消息处理程序生成的日志消息。
既然测试了操作,并且对 web 服务的工作及可能对其他操作有用的情况感到满意,您可以部署它,以便让需要它的客户端使用。