四、 用axis2的辅助工具发布、调用WebService

简介:

这次我们编辑一个返回User对象、List<User>、Map<String, User>、User[]的形式,并且用axis2的工具完成发布WebService。不再复制class到axis2的工程目录下。

下面看看服务器端WebService代码:

代码

A、下面用axis2的工具生成aar文件,然后完成发布WebService。

1、 点击工作空间WorkSpace,右键New选择Other

clip_image002

2、 选择Axis2 Service Archiver,点击Next

clip_image004

3、 然后点击Browser选择你当前的工程的classes目录

clip_image006

点击Next

4、 没有WSDL,选择第一项,点击Next,然后再Next一次

clip_image008

5、 不用设置service.xml,直接Next

clip_image010

6、 最关键一步,填写WebService的Name,设置class路径点击Load你就可以看到当前class的方法

clip_image012

勾中的方法表示将会被暴露到客户端可以调用的方法,然后点击Next

7、 设置aar文件的名称和保持的目录

clip_image014

点击Finish你可以看到提示successfully的提示。

8、 刷新当前工程可以看到ManangerUserService.aar文件了

clip_image016

9、 下面我们在浏览器中访问这个地址:http://localhost:8080/axis2/

clip_image018

点击Admin这个链接,可以看到要输入用户名和密码,用户名和密码在

Tomcat_Home\webapps\axis2\WEB-INF\conf下的axis2.xml中可以找到

<parameter name="userName">admin</parameter>

<parameter name="password">axis2</parameter>

10、 输入密码进入管理页面后可以看到

clip_image020

下面介绍下上面常用的功能

Upload Service当然是上传aar的文件,完成发布WebService的工具了

Available Service是查看当前发布的Service详细信息

Available Service Groups是Service组

Global Chains是可以用的全局的Chain

Operation Specific Chains是某个具体操作的chain

Deactivate Service 是取消某个Service

Activate Service 是将取消发布的Service再发布出去

Edit Parameters是修改WebService类的参数

11、 我们这里用Upload Service这个工具,然后选择我们刚才用axis2的工具生成aar文件。

clip_image022

其实这一步我们可以直接将ManagerUserService.aar文件copy到

tomcat-home\webapps\axis2\WEB-INF\services这个目录下。

12、 然后点击Available Service就可以看到ManagerUserService这个Service了

clip_image024

B、现在我们要用axis2的工具生成wsdl文件

1、点击WorkSpace,右键New选择Other。然后选择客户端代码生成工具

clip_image026

2、点击Next,你可以看到让你选择wsdl。选择第一个,然后点击Next

clip_image028

上面是根据Java class代码生成wsdl文件

3、填写你的WebService的classpath,然后选择你当前class所在工程的class目录

clip_image030

然后点击Add Folder选择你的工程的classes 或 bin目录,也就是你填写的class所在的目录,然后点击Test 测试是否正确。

clip_image032

点击Next继续下一步

4、可以看到即将发布的WebService名称和命名空间

clip_image034

5、继续Next,选择wsdl文件保存目录

clip_image036

这样services.wsdl文件就生成了。

C、用axis2的工具生成客户端调用的代码

1、右键workspace,点击New选择Other,然后选择aixs2的生成代码工具

clip_image026[1]

2、选择第一项,根据wsdl文件生成Java代码,然后Next

clip_image038

3、然后选择刚才上面生成好的wsdl文件

clip_image040

如果你有向tomcat中发布过你的WebService,那么你可以通过WebBrowser访问

http://localhost:8080/axis2/

点击Services链接,就可以看到你的WebService。点击你的WebService

clip_image042

样你也可以看到wsdl内容

clip_image044

这样你也可以在上面的WSDL file location中填写:

clip_image046

http://localhost:8080/axis2/services/ManagerUser?wsdl

这个地址也是可以的

4、点击Next,就可以看到你要生成指定方法的代码的选项了

clip_image048

注意的是在选择PortName的时候,不同的选项将会生产不同的调用代码。其调用方式也略有不同。但你可以看生成的源代码进行详细的了解。

5、点击Next,选择代码输出保存的目录,然后点击Finish

clip_image050

刷新目录后发现多了2个文件

clip_image052

D、 编写客户端代码

代码

运行后发现不支持Map、List,不能读取数据类型。Wsdl文件中是anyType,可能需要自己用配置描述返回类型。【有待跟进、解决】






本文转自hoojo博客园博客,原文链接:http://www.cnblogs.com/hoojo/archive/2011/03/16/1985690.html,如需转载请自行联系原作者
目录
相关文章
|
XML 测试技术 数据安全/隐私保护
【SoapUI、Postman、WebServiceStudio、Jmeter】接口测试工具结合测试webservice接口(发送XML格式参数)
【SoapUI、Postman、WebServiceStudio、Jmeter】接口测试工具结合测试webservice接口(发送XML格式参数)
231 0
|
网络架构
java-工具-Webservice wsdl解析
原文链接:http://www.cnblogs.com/coshaho/p/5689738.html wsdl解析 首先必然是理解第三方webservice的接口描述,也就是解析wsdl文件。
2079 0
|
Java
通过wsdl2java工具生成客户端段代码(wsdl2java -p cn.com.css.misps.graph.webservice.impl -d F:\src -all http://10.)
首先当前是从官网下载cxf组件. Java代码 http://cxf.apache.org/download.html  http://cxf.apache.org/download.html 下载后解压,在这里主要是用到解压后的bin目录中的wsdl2java.bat该批处理文件. 可以直接进入bin目下,运行wsdl2java,需要注意的他
1691 0
|
6天前
|
XML Java 应用服务中间件
WebService - Axis2基于JAX-WS开发WebService并发布多个WebService
WebService - Axis2基于JAX-WS开发WebService并发布多个WebService
39 0
|
6天前
|
Java 应用服务中间件 Spring
WebService - Axis2使用services.xml进行开发server与client(未与Spring整合)
WebService - Axis2使用services.xml进行开发server与client(未与Spring整合)
56 0
|
6天前
|
Java 应用服务中间件 Spring
WebService - CXF开发Server和Client(main方法测试)
WebService - CXF开发Server和Client(main方法测试)
42 0
|
Java Android开发
哇!eclipse+webservice开发实例居然这样写(有源码可用)
哇!eclipse+webservice开发实例居然这样写(有源码可用)
109 0
哇!eclipse+webservice开发实例居然这样写(有源码可用)
|
Java 应用服务中间件 Apache
webservice开发不得不知的细节,Error creating bean with name ‘org.apache.cxf.jaxws.EndpointImpl---1987203924‘
webservice开发不得不知的细节,Error creating bean with name ‘org.apache.cxf.jaxws.EndpointImpl---1987203924‘
128 0
|
缓存 应用服务中间件 数据库
python web service开发
记录第一个web python服务
9821 0
python web service开发