首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

在Eclipse中创设基于Axis2的web services

2012-10-24 
在Eclipse中创建基于Axis2的web services?在我们使用Axis2构建任何东西之前,我们将需要关注一些家务事。现

在Eclipse中创建基于Axis2的web services

?

在我们使用Axis2构建任何东西之前,我们将需要关注一些家务事。现在你将需要准备好你使用Axis2的环境,幸运的是,它只包括一些简单的步骤:

?????? Tomcat下载地址: http://www.apache.org/dist/tomcat/tomcat-5/v5.5.26/bin/apache-tomcat-5.5.26.zip

http://apache.mirror.phpchina.com/ws/axis2/1_4/axis2-1.4-war.zip

http://apache.mirror.phpchina.com/ws/axis2/tools/1_4/axis2-eclipse-service-archiver-wizard-1.4.zip?????????????????????? http://apache.mirror.phpchina.com/ws/axis2/tools/1_4/axis2-eclipse-codegen-wizard-1.4.zip

Eclipse+MyEclipse:

可以到官方网站下载(本文为3.2+5.0GA)

2) 将下载到的Axis2 的两个插件解压缩到Eclipse安装目录下的plug-in子目录。

<!----><!---->在Eclipse中创设基于Axis2的web services<!---->

然后启动Eclipse,并选择“File->New->Other”可以找到下面的这些Wizards, 这些将是本文中用到的很重要的工具。

<!----><!---->在Eclipse中创设基于Axis2的web services<!---->

?

?????4) 下面开始搭建WebServices的部署环境。将下载的tomcat报解压缩到一个目录。完成web container?的安装。

5) 将axis2.war包拷贝到tomcat安装目录下的webapps目录中。

6) 启动Tomcat(windows下为TOMCA_HOME/bin中的startup.bat;Linux,unix环境为startup.sh文件),打开浏览器输入并访问:http://ip:8080/axis2(或2http://localhost:8080/axis2)来查看, 如果能看到下面的页面则说明已经安装完成。

?

<!----><!---->在Eclipse中创设基于Axis2的web services<!---->

在开发环境及Axis2环境搭建好后,我们便可着手Web Services服务以及客户端的开发:

?

<!---->1. <!---->建立要发布的Web Services

?

<!---->1)? <!---->在Eclispse中添加一个用户库命名为axis2,将axis2\lib下的包均添加进来。

?

在“Package Explorer”窗口空白中单击右键,从右键快捷菜单中选择“Properties”菜单,然后在弹出的窗口中如下图示操作,最后在图中 6 所示位置处填入axis2中lib位置的路径即可;

?

这一步操作的目的是为了以后工程添加axis2所需的jar文件方便;

<!---->

<!---->2)? <!---->建立一个JavaProject命名为ws,将axis2用户库加入到buildpath中。

<!----><!---->在Eclipse中创设基于Axis2的web services<!---->

<!---->3)? <!---->现在开始编写要发布的WebSevice,在src中建包briup,建立Hello类如下

?

package briup;

public class Hello {

?? public String sayHello(String user) {

????? return "Hello, " +user;

?? }

}

?

<!---->2. <!---->发布 Web Services

?

打包要发布的Service,Eclipse中New --> File --> Other --> Axis2 wizards --> Axis2Services Archiver,按照向导选择刚建立的类编译后的class文件。

?

<!----><!---->在Eclipse中创设基于Axis2的web services<!---->

<!---->1)?????<!---->选择class文件目录,注意,不是java源文件,而是classes目录。

<!----><!---->在Eclipse中创设基于Axis2的web services<!---->

?

<!---->2)?????<!---->连按两次“Next>”,选中“Generate the service xml automatically”;

<!----><!---->在Eclipse中创设基于Axis2的web services<!---->

?

<!---->3)?????<!---->按下一步,输入service名称和类名;

?

<!----><!---->在Eclipse中创设基于Axis2的web services<!---->

?

<!---->4)?????<!---->按下一步,输入service文件的保存路径和文件名,完成。

?

<!----><!---->在Eclipse中创设基于Axis2的web services<!---->

?

这里将保存路径设为C盘,文件名为ws,按完成保存成功。这时侯切换到保存路径会发现新增一文件为ws.aar,将其拷贝到Tomcat 5.5\webapps\axis2\WEB-INF\services目录下,重新打开http://localhost:8080/axis2/services/listService就会发现AccountService已经发布成功,现在就可以应用这个Web服务了。

?

<!----><!---->在Eclipse中创设基于Axis2的web services<!---->

<!---->3. <!---->测试

?

通过WSDL文件生成CallbackHandler.java和AccountServiceStub.java:

?

<!---->1)? <!---->New --> File --> Other--> Axis2 wizards --> Axis2 Code Generator

?

<!----><!---->在Eclipse中创设基于Axis2的web services<!---->

<!---->2)? <!---->选择Generate Java source code from a WSDL file,按下一步

?

<!----><!---->在Eclipse中创设基于Axis2的web services<!---->

?

<!---->3)? <!---->按Browse选择或输入wsdl文件位置,按下一步

?

到现在为止,我们并未自行编写以及生成WSDL文件。当web service发布后即可通过访问http://localhost:8080/axis2/services/ws?wsdl就可以得到wsdl文件。既然如此,我们可以在地址栏中直接输入URL:

?

?

<!----><!---->在Eclipse中创设基于Axis2的web services<!---->

?

<!---->4)? <!---->使用默认的配置,按下一步。在弹出的新窗口中,然后选择生成文件的存放路径,完成两个Java文件的生成。

<!----><!---->在Eclipse中创设基于Axis2的web services<!---->

<!----><!---->在Eclipse中创设基于Axis2的web services<!---->

?

<!---->5)?<!---->在工程目录按F5刷新,就可以看到刚生成的文件。如图:

<!----><!---->在Eclipse中创设基于Axis2的web services<!---->

<!---->6)? <!---->编写服务测试程序WsTest.java如下:

?

package briup;

?

public class WsTest {

??? public static void main(String[] args) throws Exception {

????? WsStub stub=new WsStub("http://localhost:8080/axis2/services/ws");

??? ?? WsStub.SayHello sayHello=new WsStub.SayHello();

??? ?? sayHello.setUser("briup");

??? ?? WsStub.SayHelloResponse res=stub.sayHello(sayHello);

?????? System.out.println(res.get_return());

??? }

}

?

运行结果如下:

?

<!----><!---->在Eclipse中创设基于Axis2的web services<!---->

在执行的时侯,切记要将杀毒软件或防火墙软件关闭。否则执行时出现以下报错信息:

?

<!----><!---->在Eclipse中创设基于Axis2的web services<!---->

1 楼 liangcmwn 2008-06-20   图片都没有,不过也影响不大。 2 楼 chineseoa 2008-06-23   当前编辑博文时直接从 word 中拷贝的,图片拷贝时没了 3 楼 snowme103 2008-07-10   不知道 services.xml  是怎么得到的 4 楼 flyingbob 2008-07-21   既然是新手贴,能否将图片传上来? 5 楼 andy54321 2008-07-30   总是报错:invocationTargetException 6 楼 zhangjq 2008-11-17   看来楼主已经很久没上来看过了,我也一直在报那个错:invocationTargetException 7 楼 yuanhuiwu 2008-11-22   在axis2-1.4.1-war\axis2\WEB-INF\lib目录下,
复制backport-util-concurrent-3.1.jar和geronimo-stax-api_1.0_spec-1.0.1.jar
这两个文件至eclipse\plugins\Axis2_Codegen_Wizard\lib
下,同时要编辑eclipse\plugins\Axis2_Codegen_Wizard下的plugin.xml,
将这两个文件添加进去
(复制粘贴两项,修改jar文件名为新拷入的文件名即可).


eclipse -clean

再使用codegen插件即可正常生成代码
8 楼 a__mao 2009-01-20   zhangjq 写道看来楼主已经很久没上来看过了,我也一直在报那个错:invocationTargetException
invocationTargetException 应是插件的bug问题,换一个底版的codgen插件就OK了,此问题比较普遍,楼上的解决办法并非总是好用。

热点排行