• eclipse安装Axis2插件和简单的webservice发布


    Axis2与CXF是现在很主流的WebService开发框架(java6也已经支持了),项目上还都是基本上用前两种做开发,今天记录一下我安装Axis2插件在eclipse中的安装和写一个简单的测试代码。

    一、

    eclipse的版本为Luna Release (4.4.0)

    Axis2的版本是1.6.2

    下载地址为:

    1)、Axis2 Binary Distribution(1.6.2):http://mirror.bjtu.edu.cn/apache//axis/axis2/java/core/1.6.2/axis2-1.6.2-bin.zip (可执行版)

     WAR Distribution:http://mirror.bjtu.edu.cn/apache//axis/axis2/java/core/1.6.2/axis2-1.6.2-war.zip (这个是放在tomcat下可发布的war包版)

    2)、eclipse的插件

    Service Archive Wizard - Eclipse Plug-in(用来将服务代码打包成后缀名为.aar文件的插件):

    http://www.apache.org/dyn/mirrors/mirrors.cgi/axis/axis2/java/core/1.6.2/axis2-eclipse-service-plugin-1.6.2.zip(点击直接可以下载)

    Code Generator Wizard - Eclipse Plug-in(用来将服务代码生成wsdl文件以及解析将wsdl文件生成客户端代码的插件):

    http://www.apache.org/dyn/mirrors/mirrors.cgi/axis/axis2/java/core/1.6.2/axis2-eclipse-codegen-plugin-1.6.2.zip(点击直接可以下载)

    如果上面两个包下载后有问题,可以到这个里下:

    http://download.csdn.net/detail/dylan_chp/8625133

    二、

    先关闭eclipse,进入eclipse的文件中将上面下载的eclipse插件解压到dropins文件目录下(解压的时候会生成plugins文件夹,我是把里面生成的jar直接拷出来放在dropins文件夹里面),以我的为例:F:eclipsedropins。然后重启eclipse,点击File-New-Other有如下图显示,则表示安装插件成功!

    插件到此安装完成!

    三、生成aar文件:

    写一个简单的服务器代码:

    [java] view plain copy

    1. package com.hwt.glmf.webservice;  
    2. /** 
    3.  * 测试的webservice 
    4.  */  
    5. public class MyService {  
    6.       
    7.     public String sayHello (String name){  
    8.         return name+"说了:hello!";  
    9.     }  
    10.       
    11. }  

    然后File-New-Other--Axis2 Wizards-Axis2 Service Archiver(通过插件生产可发布的aar文件)

    到此步骤就能生成好名为:MyService.aar的文件了,在桌面上用压缩软件打开这个aar文件可以看到,结构与平常的war的结构很是相似。
    再将service.xml解压出来,可以看到如下代码:

    [html] view plain copy

    1. <service name="MyService" >  
    2.     <description>  
    3.         Please Type your service description here  
    4.     </description>  
    5.     <messageReceivers>  
    6.         <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only" class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" />  
    7.         <messageReceiver  mep="http://www.w3.org/2004/08/wsdl/in-out"  class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>  
    8.     </messageReceivers>  
    9.     <parameter name="ServiceClass">com.hwt.glmf.webservice.MyService</parameter>  
    10. </service>  

    这个就是配置文件,可以看到这个配置的信息:

    [html] view plain copy

    1. service name="MyService"  

    代表的是webservice发布的服务名

    [html] view plain copy

    1. <parameter name="ServiceClass">com.hwt.glmf.webservice.MyService</parameter>  

    是服务的链接的具体方法名。如果有多个webservice要发布,且是同一个项目之内的话,可以通过修改此配置文件与上面的class文件夹来达到发布一个aar包多个webservice服务,有如下配置:

    [html] view plain copy

    1. <serviceGroup>  
    2.     <service name="ManifestService" >  
    3.         <description>  
    4.             ManifestService  
    5.         </description>  
    6.         <messageReceivers>  
    7.             <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only" class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" />  
    8.             <messageReceiver  mep="http://www.w3.org/2004/08/wsdl/in-out"  class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>  
    9.         </messageReceivers>  
    10.         <parameter name="ServiceClass">com.hwt.glmf.webservice.ManifestService</parameter>  
    11.     </service>  
    12.     <service name="ManifestServiceQG" >  
    13.         <description>  
    14.             QYTG ManifestService  
    15.         </description>  
    16.         <messageReceivers>  
    17.             <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only" class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" />  
    18.             <messageReceiver  mep="http://www.w3.org/2004/08/wsdl/in-out"  class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>  
    19.         </messageReceivers>  
    20.         <parameter name="ServiceClass">com.hwt.glmf.qytgservices.ManifestServiceQG</parameter>  
    21.     </service>  
    22.     <service name="CipService" >  
    23.         <description>  
    24.             CipService  
    25.         </description>  
    26.         <messageReceivers>  
    27.             <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only" class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" />  
    28.             <messageReceiver  mep="http://www.w3.org/2004/08/wsdl/in-out"  class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>  
    29.         </messageReceivers>  
    30.         <parameter name="ServiceClass">com.hwt.glmf.externalinterface.cip.CipService</parameter>  
    31.     </service>  
    32. </serviceGroup>  

    配置web.xml中Axis2的AxisServlet

    [html] view plain copy

    1.     <servlet>  
    2.     <servlet-name>AxisServlet</servlet-name>  
    3.     <servlet-class>org.apache.axis2.transport.http.AxisServlet</servlet-class>  
    4.     <load-on-startup>1</load-on-startup>  
    5. </servlet>  
    6. <servlet-mapping>  
    7.     <servlet-name>AxisServlet</servlet-name>  
    8.     <url-pattern>/services/*</url-pattern>  
    9. </servlet-mapping>  

    我们这边就是发布上面写的一个简单的webservice接口,现在要说的是发布这个webservice接口(有放在下载的Axis2的war包中一起发布的版本,此篇文章不做介绍,就是介绍在web项目中发布webservice接口),可以将此文件放在新建的web项目的WebRoot-->WEB-INF-->services目录下,在将再下载的Axis2 Binary Distribution(1.6.2)解压,生成的文件夹下面的lib目录中将所有的jar包拷入到lib中。启动项目的时候就会将次webservice发布出去。在浏览器中输入如下地址(下面的是本机地址,如果是访问别的机子,将localhost:8080修改成对应的IP以及端口号即可):

    [html] view plain copy

    1. http://localhost:8080/QYTG/services/MyService?wsdl  

    有如下显示的则是成功了:

    到了此步骤就是Axis2的webservice接口发布成功了!因为Axis2有很多种生成客户端代码的方法,所以再开一篇介绍Axis2的客户端代码的生成。

    转载于:https://my.oschina.net/u/1018004/blog/823098

  • 相关阅读:
    js禁止鼠标右键功能
    js判断客户端是pc还是手机及获取浏览器版本
    js实现深拷贝的一些方法
    python使用requests请求的数据乱码
    PyCharm引入python需要使用的包
    几个常见用于解决nginx负载均衡的session共享问题的办法
    面试最让你手足无措的一个问题:你的系统如何支撑高并发?
    Linux/Windows 平台最容易安装 Composer教程
    Laravel一些常用命令整理
    nginx下重写隐藏index.php文件
  • 原文地址:https://www.cnblogs.com/twodog/p/12141414.html
Copyright © 2020-2023  润新知