参考:转自:https://blog.csdn.net/wangchangpen62/article/details/45171001

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

一、环境

1、eclipse:64位     Eclipse Java EE IDE for Web Developers. Version: 1.3.1.20100916-1202 Build id: 20100917-0705

2、jdk:1.6  64位

3、Axis2的版本是1.6.2

4、eclipse的Axis2插件

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

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

二、

先关闭eclipse,解压axis2-eclipse-codegen-plugin-1.6.2.zip和axis2-eclipse-service-plugin-1.6.2.zip,把得到的两个jar包放入eclipse目录下的\plugins\中,重启eclipse。放置后,打开Eclipse,打开File—New—Other,若能看到如图,说明插件配置成功

若是高版本的eclipse或myeclipse的方法(没有测试过):进入eclipse的文件中将上面下载的eclipse插件解压到dropins文件目录下(解压的时候会生成plugins文件夹,我是把里面生成的jar直接拷出来放在dropins文件夹里面),以我的为例:F:\MyEclipse-8.6\dropins。然后重启eclipse,点击File-New-Other有如下图显示,则表示安装插件成功!若不行,试试在dropins目录下添加axis2.link文件,内容是

path=myeclipse的安装目录\\dropins(例如:我的文件内容为:path=E:\\MyEclipse-8.6\\dropins);

插件到此安装完成!

三、生成aar文件:

写一个简单的服务器代码:注意里面的方法参数不能传jsonObject,不然用插件打包时看不到下一步下一步的内容或者没反应。

package com.tongwei.remoteproxy;import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;import net.sf.json.JSONArray;
import net.sf.json.JSONObject;import com.tongwei.remoteproxy.db.ConnectionManager;
import com.tongwei.remoteproxy.util.Log;/*** * 打aar包时需要注意:java内的方法参数最好用String 或String[],不能用jsonObect,不然打包向导无法正常打包**/
public class SyncDataService {public static String requestService(String param) {StringBuffer logStr = new StringBuffer();// 写入字符String curDate = Log.GetNowDate("yyyy-MM-dd HH:mm:ss");// 当前时间yyyy-MM-ddJSONArray jsonArray = JSONArray.fromObject(param);String result_str = "";int cnt_suss = 0;int cnt_fail = 0;try {Log.CreateLog(curDate + " 输入参数-----------------" + param + "\r\n");logStr.append("解析推送设备信息共【").append(jsonArray.size()).append("】条:\r\n");result_str = "解析推送设备信息共【" + jsonArray.size() + "】条";for (int i = 0; i < jsonArray.size(); i++) {// 可能多个JSONObject object = jsonArray.getJSONObject(i);         String type = object.getString("operatortype");      String ws_id = object.getString("serialno");//System.out.println(type);String tempstr = "";String temp_result = saveCardRecord(object.toString());//保存数据,参数只能是string类型,不然打不了aar包}} catch (Exception e) {e.printStackTrace();return "1-" + e.getMessage();}//System.out.println("测试=" + logStr);return "0-" + result_str;}public static void main(String[] args){String str = "[{\"cardno\": \"ic卡号111\",\"username\": \"张三\",\"employeeno\": \"C01\",\"serialno\": \"1001\",\"operatorname\": \"控制器名称1\",\"doorname\": \"门禁点名称1\",\"opentime\": \"2018-01-11 04:52:48\",\"operatortype\":\"doorInout\",\"eventtype\":\"1\"}," + " {\"cardno\": \"ic卡号111\",\"username\": \"张三\",\"employeeno\": \"C01\",\"serialno\": \"1111\",\"costmoney\": \"6\",\"equipmentname\": \"设备名称1\",\"merchant\": \"商户1\",\"consumetime\": \"2018-01-11 12:52:48\",\"balance\":\"57\",\"operatortype\":\"consumeRecord\"}]";String result = requestService(str);System.out.println( result);}/*** 连数据库,保存数据* * @param param* @return* @throws SQLException*/public static String saveCardRecord(String param ) throws SQLException {//JSONObject objectConnection conn = null;try {conn = ConnectionManager.getConnection();// 打开数据库连接} catch (Exception e) {e.printStackTrace();return "1-" + e.getMessage();} finally {if (conn != null) {conn.close();}}return "0";}}

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

选择class文件的目录,下一步

点击【完成】

到此步骤就能生成好名为:SyncDataService.aar的文件了,在桌面上用压缩软件打开这个aar文件可以看到,结构与平常的war的结构很是相似。

再将service.xml解压出来,可以看到如下代码:

<service name="SyncDataService" ><description>Please Type your service description here</description><messageReceivers><messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only" class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" /><messageReceiver  mep="http://www.w3.org/2004/08/wsdl/in-out"  class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/></messageReceivers><parameter name="ServiceClass">com.tongwei.remoteproxy.SyncDataService</parameter>
</service>

如果有多个webservice要发布,且是同一个项目之内的话,可以通过修改此配置文件与上面的class文件夹来达到发布一个aar包多个webservice服务,有如下配置(来自参考):

<serviceGroup>  <service name="ManifestService" >  <description>  ManifestService  </description>  <messageReceivers>  <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only" class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" />  <messageReceiver  mep="http://www.w3.org/2004/08/wsdl/in-out"  class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>  </messageReceivers>  <parameter name="ServiceClass">com.hwt.glmf.webservice.ManifestService</parameter>  </service>  <service name="ManifestServiceQG" >  <description>  QYTG ManifestService  </description>  <messageReceivers>  <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only" class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" />  <messageReceiver  mep="http://www.w3.org/2004/08/wsdl/in-out"  class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>  </messageReceivers>  <parameter name="ServiceClass">com.hwt.glmf.qytgservices.ManifestServiceQG</parameter>  </service>  <service name="CipService" >  <description>  CipService  </description>  <messageReceivers>  <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only" class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" />  <messageReceiver  mep="http://www.w3.org/2004/08/wsdl/in-out"  class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>  </messageReceivers>  <parameter name="ServiceClass">com.hwt.glmf.externalinterface.cip.CipService</parameter>  </service>
</serviceGroup>  

配置web.xml中Axis2的AxisServlet

<servlet>  <servlet-name>AxisServlet</servlet-name>  <servlet-class>org.apache.axis2.transport.http.AxisServlet</servlet-class>  <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>  <servlet-name>AxisServlet</servlet-name>  <url-pattern>/services/*</url-pattern>
</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以及端口号即可):

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

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

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

Axis2创建web service(一) - eclipse安装Axis2插件相关推荐

  1. axis2创建web service

    学习: http://www.javaeye.com/topic/284387

  2. 使用Axis2调用Web Service

    本文作为使用Axis2创建Web Service的后篇,主要介绍如何使用Axis2调用Web Service.有关准备工作详情请参考前篇的内容. 在Eclipse的Packge Explorer中右键 ...

  3. 基于Tomcat5.0和Axis2开发Web Service应用实例

    本文将介绍如何使用Tomcat5.0和Apache Axis2开发.部署及测试一个简单的Web Service应用.<?xml:namespace prefix = o ns = "u ...

  4. 基于Tomcat5.0和Axis2开发Web Service代码详解

    本文将详细介绍HelloWorld中使用的server和client端代码.阅读之前,你应该首先了解SOAP1.1协议.<?xml:namespace prefix = o ns = " ...

  5. 1、eclipse安装Axis2插件

    eclipse安装Axis2插件 eclipse版本: neon axis2版本:1.7.9 插件下载地址: eclipse版本: neon 测试时还使用版本eclipse-jee-2019-03-R ...

  6. SAP创建Web Service以及用ABAP调用

    如果运行 soamanager 打不开,网页显示 devaix .zhongpin.com ,打开 C :\WINDOWS\system32\drivers\etc, 用记事本打开 hosts 文件 ...

  7. Spring boot调用及创建Web Service接口

    首先,使用idea创建一个spring boot项目,这里为演示方便只默认包含spring web.        然后从这个网站Apache CXF -- Download 下载apache-cxf ...

  8. Eclipse安装SVN插件的两种方式

    登录 | 注册 收藏成功 确定 收藏失败,请重新收藏 确定 查看所有私信查看所有通知 暂没有新通知 想要绕过微信小程序开发中的坑吗?不妨来听这个,今晚8点,1小时帮你搞定! 23小时以前 CSDN日报 ...

  9. Eclipse 安装Gradle插件

    http://www.cnblogs.com/simoncook/archive/2013/02/28/2937939.html 一.介绍 1. Gradle 是什么 Gradle 官方对其描述是:能 ...

  10. 关于svn的安装配置开启服务过程和 eclipse安装SVN插件的方法

    eclipse安装SVN插件的方法链接:https://www.cnblogs.com/alamps/p/6155963.html svn的安装配置开启服务相关过程: 安装一直下一步cmd中:echo ...

最新文章

  1. python怎么读取列表-详解Python如何获取列表(List)的中位数
  2. oracle绑定变量赋值,Oracle教程之绑定变量
  3. 树莓派 使用读卡器修改WIFI连接配置
  4. lipo 制作通用版本 静态库
  5. 【鬼网络】之Linux网络设置
  6. java BIO NIO AIO 理论篇
  7. 一文搞清楚 Spark RDD到底是什么?
  8. jquery梳理之常用选择器
  9. Js捕获地址栏信息,根据地址栏信息来判断是否要显示页面中的信息
  10. tuxedo linux 安装
  11. springboot-aop
  12. Ubuntu下的Hadoop安装
  13. macOS Catalina 10.15.7 ISO/CDR 虚拟机镜像下载
  14. 激活Windows10,激活软件被报出,软件存在威胁或者恶意程序?
  15. 基于移动通信数据的城市可视分析研究
  16. hdu6832(2020hdu多校6t6)
  17. 苹果市值破万亿,iPhone 会涨价吗?
  18. DB2下将16进制转为十进制
  19. LightOJ - 1406 Assassin`s Creed【状压DP】
  20. 视频格式与编码压缩标准 mpeg4,H.264.H.265 有什么关系?

热门文章

  1. 图论(七)哥尼斯堡七桥问题
  2. ubuntu的初始密码
  3. Matlab计算质心
  4. 桌面虚拟化 VMware Horizon_view 7 安装及管理手册
  5. 【论文阅读】Whisper: Robust Speech Recognition via Large-Scale Weak Supervision
  6. 数据挖掘学习:站在巨人的肩膀上
  7. 【思想感悟】站在巨人的肩膀上
  8. php easyui filebox,easyui fileBox 获取文件名和添加下拉框
  9. CARLA 笔记(05)— Actors and blueprints(创建和修改 Blueprint、生成 Spawning、使用 Handling、销毁 Destruction)
  10. 解决因cocosStudio发布的csb文件过大导致的加载游戏界面卡的问题