WebService环境搭建.docx

上传人:b****8 文档编号:9273461 上传时间:2023-02-03 格式:DOCX 页数:22 大小:621.81KB
下载 相关 举报
WebService环境搭建.docx_第1页
第1页 / 共22页
WebService环境搭建.docx_第2页
第2页 / 共22页
WebService环境搭建.docx_第3页
第3页 / 共22页
WebService环境搭建.docx_第4页
第4页 / 共22页
WebService环境搭建.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

WebService环境搭建.docx

《WebService环境搭建.docx》由会员分享,可在线阅读,更多相关《WebService环境搭建.docx(22页珍藏版)》请在冰豆网上搜索。

WebService环境搭建.docx

WebService环境搭建

WebService环境搭建<此文是按照网友张涛的博文加以修改而来,使用工具版本区别较大>

                                                    作者:

icer2012-3-1记

axis2创建webservice

(一)

axis2是新一代的webservice开发工具,它会让你的webservice开发变得轻松,快捷。

下面让我们以一个实际的例子来体验一下。

1.首先,工欲善其事,必先利其器。

就让我们先做好一些必备的准备工作吧。

Axis21.6.1二进制包和war包下载地址分别是:

Tomcat7.0.26下载地址:

Eclipsejee版本下载地址:

2.把下载后的war放入tomcat的webapps目录里,然后启动tomcat,这样war包就会自动解压为目录axis2;启动tomcat,在浏览器中输入http:

//localhost:

8080/axis2/ ,如果一切正常你会看到下面的画面。

3,就开始准备一下axis2的eclispe的插件了。

axis2的eclispe插件分为2个,一个是帮助我们生成aar文件的,另一个是帮我们用wsdl文件生成stub代码的。

PS:

axis21.6.1版本插件与eclipse各版本都不兼容,目前无法直接集成。

下面介绍一种非常规的集成方式(可能会有版本问题)

1.6.1版本eclipse插件下载地址是

http:

//www.apache.org/dyn/mirrors/mirrors.cgi/axis/axis2/java/core/1.6.1/axis2-eclipse-service-plugin-1.6.1.zip

http:

//www.apache.org/dyn/mirrors/mirrors.cgi/axis/axis2/java/core/1.6.1/axis2-eclipse-codegen-plugin-1.6.1.zip

1.3.0版本eclipse插件下载地址是

http:

//archive.apache.org/dist/ws/axis2/tools/1_3/axis2-eclipse-codegen-wizard.zip

http:

//archive.apache.org/dist/ws/axis2/tools/1_3/axis2-eclipse-service-archiver-wizard.zip

 

Add1.3.0插件到plugins

Add1.6.1插件到dropins

重启eclipse,出现2个,用第二个应该就是1.6.1版本的了。

这样准备工作就都做好了,接下来就是正式开发了。

axis2创建webservice

(二)

工具都已经准备齐全了。

我们来动手做一个小例子来小试牛刀!

这一节我们先利用axis2来发布一个webservice的服务,然后在下一节我们做一客户端来调用这个服务。

我们的服务很简单的,就是输入一个字符串,然后打印出一段字符串。

代码很简单,主要是测试用。

主要的过程就是如何利用axis2的eclispe插件来发布这个服务啦。

1.在eclispe的packageExplorer中点击右键,在菜单中选择New→other→Axis2ServiceArchiver。

(PS:

下面的为1.6.1版本)

2.然后点击next进入了类选择页面,在这个页面中的Class FileLocation选择框中选择类所在的文件夹。

(这里填写的主要是经过编译后的java类,即java.class文件所存放位置的根目录,比如E:

\workspaceForEclipse\Myservice\bin,Myservice是我的项目名,可以根据创建的是webproject项目,还是javaproject项目实际情况填写。

写这个路径是为了下面操作,来寻找java类)

3.点击next之后进入了选择wsdl文件,这里我们选择skipwsdl。

4.点击next之后,进入的是选择jar文件的页面,这里我们没有外部的jar,所以点击next直接跳过这个页面。

5.点击next之后,进入的是选择xml页面,这里我们选择的是自动生成xml,也就是勾选Generatetheservicexmlautomatically这一项

6.点击next之后,进入的是生成xml文件的页面,在servicename里填写这个服务所起的名字,这里我起名为Myservice,然后在classname中填写要发布的类,这里一定要写全路径,写好后就可以点击load按钮,如果一切ok的话,你会看到如下画面

7.点击next后,进入的是输出artiver文件的页面,先要在outputFile location中选择要输出的路径,

在output FileName中输入artiver文件的名称。

我起的名字是Myservice。

8.点击finish,如果看到如下的画面,恭喜你,服务发布成功啦。

9.接下来,我们就可以把这个aar文件放入tomcat中发布,首先把生成的aar文件拷贝到tomcat目录中的axis2项目的service目录中位置如图。

10.接下来启动tomcat,在地址栏中输入http:

//localhost:

8080/axis2 ,你会看到axis2的欢迎画

11.点击Service连接,你会看到发布的服务列表。

这里面就能看到我们发布的Myservice。

12.点击我们的服务simpleServer的连接,我们会看到。

至此,服务发布成功。

axis2创建webservice(三)

这节我们就来写一个客户端来调用一下这个服务。

主要关注一下如何用elispe的axis2的插件来生成stub代码;首先在eclipse中创建一个新的空项目simpleClient。

1.在eclispe的packageExplorer中点击右键,在菜单中选择新建→other→Axis2CodeGenerator

2.点击next,进入下一个页面,选择从wsdl文件来产生java文件。

3.点击next,然后选择wsdl文件,注意此处要填写上一节我们创建的服务

4.点击next,进入设置页面,这里我们就用默认的设置。

(Codegenoption选择custom,PortName选择simpleServerHttpEmdpoint)

5. 点击next,选择输出文件的路径。

(这里据说点击finish,MyEclipse6.5会报错,Anerrorocurredwhilecompletingprocess

-java.lang.reflect.InvocationTargetException,解决办法是:

1.关闭Eclipse

2.copy %AXIS2_HOME%\lib\下的

backport-util-concurrent-3.1.jar和geronimo-stax-api_1.0_spec-1.0.1.jar

复制到MyEclipse6.5\eclipse\plugins\Axis2_Codegen_Wizard_1.3.0\lib文件夹下。

3.注册此jar包:

修改MyEclipse6.5\eclipse\plugins\Axis2_Codegen_Wizard_1.3.0\plugin.xml文件

內加入下面的字串

   

      

  

   

        

   

到plugin.xml文件中,保存后重新启动Eclipse即可。

6.点击finish,如果看到这个页面,恭喜你已经生成代码成功。

7.在packageExplorer中刷新一下项目,然后你发现出现多出一些新的文件。

并且项目报错,著名的小红叉一个接一个的(报错,是因为没有引用jar包,最直接的方法是把axis2-1.6.1\lib目录下所有的jar包都引用到项目中)

这是因为没有axis2的类包。

我们可以在下载的axis2-1.4.1-bin中找到lib包,把其中的jar都加入我们的工程中。

然后重新编译一下工程,这时我们发现个别文件还是有几个小红叉。

这个是因为这个插件有个小bug。

生成的代码没有实现序列化方法。

我们可以自己来加上,在小红叉上点一下,弹出一个小菜单,选择

Addunimplementedmethods.

8.让我们来调用一下服务吧。

/**

*调用发布的服务

*@authorAdministrator

*

*/

publicclassSimpleClient{

publicstaticvoidmain(String[]args)throwsException{

//初始化桩文件

SimpleServerStubstub=newSimpleServerStub();

//初始化SimpleMethod方法

SimpleMethodrequest=newSimpleMethod();

//调用simpleMethod的setName方法

request.setName("zt");

System.out.println(stub.simpleMethod(request).get_return());

}

}

 

如果一切正常,你就会看到结果

log4j:

WARNNoappenderscouldbefoundforlogger(org.apache.axis2.description.AxisOperation).

log4j:

WARNPleaseinitializethelog4jsystemproperly.

ztSaythisisaSimplemethod^-^

调用服务成功。

这是个简单的例子,下节我们再做一个复杂一点的例子,来更好的学习axis2

 

axis2创建webservice(四)

上节我们做了一个简单的例子,调用的服务里的方法只是简单返回一个字符串,这次我们要做一个复杂点的例子,调用服务里的方法返回一个javaBean对象。

1.首先做一个简单的javabean,代码如下

2.做一个服务,里面只发布一个方面,这个方法返回这个bean。

3.按照第二节的做法,把这个服务发布出来。

4.同样按照第三节的方法,用这个wsdl来生成stub代码。

5.然后我们开始做一个方法来调用一下这个服务。

publicclassBeanClient{

publicstaticvoidmain(String[]args)throwsException{

//初始化桩文件

BeanServerStubstub=newBeanServerStub();

//初始化TestMethod方法

TestMethodrequest=newTestMethod();

//设置bean的属性值

request.setName("delta");

request.setAge(20);

System.out.println("Thenameis:

"+stub.testMethod(request).get_return().getName());

System.out.println("Theageis:

"+stub.testMethod(request).get_return().getAge());

}

}

6.如果按照这里说的做的话,你会看到

log4j:

WARNNoappenderscouldbefoundforlogger(org.apache.axis2.description.AxisOperation).

log4j:

WARNPleaseinitializethelog4jsystemproperly.

Thenameis:

delta

Theageis:

20

 

PS:

如果遇到aar文件无法生产时,可是尝试换下eclipse的工作空间,希望可以帮助你!

GoodLuck!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1