NetBeans创建、部署Axis2 Web 服务


一、前言

本文是依照Netbeans官网上《在 NetBeans IDE 中创建 Apache Axis2 Web 服务》一文创建基于Axis2的Web service的过程记录。

其中大部分内容与原文一致,但添加了一些细节,同时根据最新的Netbeans 7.0.1修改了部分已经不适应的内容。


二、Web service使用示例

在创建新的Web service之前,首先看下Axis2提供了一个Web service的例子。

wps_clip_image-25660

点击“Services'”,可以看到Axis提供了Version服务。

wps_clip_image-6653

点击“Version”,可以看到如下图所示:

wps_clip_image-7504

分析上图中显示的文件,我们在浏览器中提交http://localhost:8080/axis2/services/Version/getVersion测试该服务:

wps_clip_image-20102

可以看到,该Web service可以正常提供服务。


三、创建新的Web service

Netbeans中创建新的Web service并的过程如下:


1、下载 Apache Axis2 WAR 文件

可以至http://axis.apache.org/axis2/java/core/download.cgi 下载最新版本的Axis2。

由于在Tomcat中部署需要war格式文件,因此,我们下载war格式的即可


2、安装 Axis2 支持插件

由于我们是借助Axis2创建Web service,因此在创建之前,首先需要在Netbeans中安装Axis2插件。

在 IDE 中,进入“工具”菜单下的插件管理器,检查“已安装”标签下是否已经安装了 Axis2 Support 插件。如果已经安装,请检查“更新”

标签中是否有更新。对于Netbeans7以前的版本,如果未安装 Axis2 Support,请从“可用插件”标签中进行安装。而由于Netbeans7.0.1

中尚无官方发布的Axis2插件,因此我们在Netbeans官方下载6.8版本中的Axis2插件,

下载地址为:

http://updates.netbeans.org/netbeans/updates/6.8/uc/final/beta/modules/extra/org-netbeans-modules-websvc-axis2.nbm

下载完成后,我们在插件管理中从本地安装已经下载到本地的Axis2插件。依次点击“工具”->“插件”-->“已下载”-->“添加插件”,在

选择窗口中选中下载的插件后,点击“安装”即可完成安装。

wps_clip_image-20100

安装完成后,我们可以在“工具”-->“选项”中看到Axis2:

image 


3、部署Axis2

1) 将包含 axis2.war 的已下载归档文件解压缩到 Tomcat CATALINA_BASE/webapps 目录。

启动 IDE 并依次点击“工具”-->“服务”标签。在展开的“服务器”节点,右键单击 Tomcat 7.0.14..0 ,并选择“属性”。在“连接”

标签中可以看到“Catalina 基目录”位置。

image

2) 启动或重新启动 Tomcat 服务器。Tomcat 会将 axis2.war 文件解压缩到 CATALINA_BASE/webapps 中的 axis2 文件夹。

3) 从 IDE 中的顶部菜单栏中,选择“工具”>“选项”。此时将打开“选项”对话框。单击 Axis2 图标。将打开 Axis2 部署选项页。

image

将 Axis2 AAR 文件的目标位置设置 CATALINA_BASE(不是 TOMCAT_HOME)/webapps/axis2 目录。此次测试中为:

D:\Documents and Settings\XXXXX\.netbeans\7.0\apache-tomcat-7.0.14.0_base\webapps\axis2

至此,Axis2的部署完成。


4、创建Axis2 Web service

单击“新建项目”图标或者“文件”->“新建项目”。将打开“新建项目”向导。从 Java 类别下选择Java 类库项目。单击“下一步”。

wps_clip_image-29881

将项目命名为 AxisHello。检查是否使用的是想要的项目文件夹名和位置。是否共享该项目取决于。单击“完成”,则 IDE 会创建项目。

image

右键单击项目节点,选择“新建”->“其他”。打开“新建文件”向导。从“Web 服务”类别下,选择“Axis2 Service from Java”

并单击“下一步”。

wps_clip_image-18561

现在“新建文件”向导的“文件类型选择”页打开。项目中没有任何 Java 类,所以选择“Create Empty Web Service”。如果已经编

写了一个 Java 类代码,那么应该选择“从现有 Java 类创建 Web 服务”。

wps_clip_image-4477

单击“下一步”。将打开“名称和位置”页。将该 Java 类命名为 HelloAxisWorld。将包命名为 axishello。让“生成样例方法”保持

选中。这会在 Java 类中生成一个返回 "Hello, World." 的方法。

wps_clip_image-27265

单击“完成”。IDE 会在 axishello 源包中生成一个 HelloAxisWorld.java 类和反映此 Java 类的 HelloAxisWorld Axis2 Web 服务。

可以看到 Java 类和 Axis2 Web 服务都有一个 hello:String 操作,分别作为 Axis2 Web 服务的一个节点显示在“导航”标签中。


5、部署和测试Axis2 Web service

经过上面的步骤,一个简单的Axis2 Web service创建成功。下面将其部署到Tomcat上。右键单击 Web 服务的节点,选择“部署到

服务器”。

wps_clip_image-6291

部署过程中,IDE 编译 Axis2 AAR 文件,并将其复制到应用程序服务器使用的 axis2目录下。如下图中的AxisHello.aar文件:

image

如果已经启用了自动部署,则该 Web 服务会部署到服务器。如果服务器没有运行,则启动或者重新启动Tomcat服务器,Web 服务会

自动部署。要测试该服务,请展开 Web 服务节点以显示操作。右键单击 "hello:String" 节点,选择“Test Operation in Browser”。

image

测试中可能会遇到报错如下:

wps_clip_image-4622

其原因是由于Netbeans中的Tomcat默认服务端口为8084,而Web service部署的默认端口为8080。因此需要修改Tomcat的服务端口

和关闭端口分别为8080和8025以外的任意端口。(测试过程中出现了修改端口为8080后再修改为8084后,8080端口依然正常访问的情

况,干扰了对错误原因的判断,晕啊)

image

部署完成后,如果测试成功则会在打开的浏览器中看到如下页面:

http://localhost:8080/axis2/services/HelloAxisWorld/hello?name=XYZ

wps_clip_image-18642

此时,在http://localhost:8080/axis2/services/listServices中,可以看到我们已经成功创建的HelloAxisWorld 服务:

wps_clip_image-11412


6、更改 Web service的操作

要更改 Web 服务操作,请编辑项目中的 Java 文件。Web 服务中的操作会随之改变。将一个简单的 add 方法添加到 HelloAxisWorld.java,

如下所示:

public class HelloAxisWorld {

    /** Sample method

    */

    public String hello(String name) {

        return "Hello "+name;

    }

public int add(int x, int y) {

            return x+y;

    }

      }

保存 Java 文件,再次按之前的操作测试即可。 在http://localhost:8080/axis2/services/listServices页面中可以看到服务中的2个方法:

wps_clip_image-9226

posted @ 2011-11-03 22:37  涅槃小鸟  阅读(1210)  评论(2编辑  收藏  举报