zoukankan      html  css  js  c++  java
  • 四、 用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
    出处:
    blog:http://blog.csdn.net/IBM_hoojo
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

版权所有,转载请注明出处 本文出自:
分享道版权所有,欢迎转载,转载请注明出处,谢谢
收藏
关注
评论
查看全文
  • 相关阅读:
    常量/静态常量
    git github仓库
    内存泄漏/溢出
    console线和RJ45
    Medium
    教师群
    编程入门学习网站
    科技传播坊公众号
    科技传播坊直播课堂 Scratch
    Scratch 疑难杂症视频
  • 原文地址:https://www.cnblogs.com/hoojo/p/1985690.html
  • Copyright © 2011-2022 走看看