Axis2服务端研究好几个小时,终于解决了

需要下载:

地址1:

可以从镜像站下载: 上海大学开源镜像站

地址2:

链接:从百度网盘下载;

密码:8nwu

其中第二个可以不用下;

解压后

将3,4解压后的jar放到D:\eclipse\plugins,也就是安装目录的PLUGINS文件夹下;

在eclipse里面设置axis2运行时环境:

Windows-preferences-web services-axis2 preferences-axis2 runtime:

选择路径后确定

然后在eclipse里面新建一个dynamic web project;(我这里是XA)写你的用于服务的java类,如图:

此方法就是传4个参数,然后返回一个xml格式字符串;

然后建立webservice:

右键左边项目资源浏览器里面的刚才新建的服务类:SyncData.java,-web service-create webservice;

注意将configuration中第二项改成 axis2;然后一路下去生成webservice;

此时左侧项目自动生成相应文件如下图:

可以看到生成了很多新的文件;

打开WEB-INF的lib,发现里面自动导入了很多jar包,但这里缺少一个(可能是eclipse版本的问题)需要手动导入;

打开F:\java库\axis2-1.7.7\axis2-1.7.7-bin\axis2-1.7.7(文章开头下载后的解压路径),

打开lib,复制里面的xmlschema-core-2.2.1.jar这个jar包到eclipse里面左侧XA项目中的WEB-INF/lib;(重要);

并且删除项目lib中的XmlSchema-1.4.7.jar(相当于用xmlschema-core-2.2.1.jar替换掉XmlSchema-1.4.7.jar)

Jar包导入后,现在修改:

双击项目中的services.xml:

<service name="SyncData" >

<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" locked="false">com.ams.webService.SyncData</parameter>

</service>

上方是原内容,注意红色字,现在修改为:

<service name="SyncData" >

<Description>

Please Type your service description here

</Description>

<messageReceivers>

<messageReceiver mep="http://www.w3.org/ns/wsdl/in-only" class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" />

<messageReceiver  mep="http://www.w3.org/ns/wsdl/in-out"  class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>

</messageReceivers>

<parameter name="ServiceClass" locked="false">com.ams.webService.SyncData</parameter>

</service>

至此,修改完毕;webservice服务端可正确发布;

通过spring配置数据源时必看:

如果提示报错找不到javax/ws/rs/Produces ;

复制F:\java库\axis2-1.7.7\axis2-1.7.7-bin\axis2-1.7.7中的jsr311-api-1.1.1.jar到项目lib中;

在webservice的类中取得spring的bean:

此方法并没有将AXIAS2集成到spring中,在webservice服务类中无法通过Autowired来装载spring的bean,必须通过spring的xml配置文件来查找自动状态的bean;

public static ApplicationContext ac=new ClassPathXmlApplicationContext(new String[]{"/applicationContext.xml"});

public  ABSDao absDao = (ABSDao) ac.getBean(ABSDao.class);

第一行取得ApplicationContext,第二行通过ApplicationContext来取得需要的bean,注意,这个bean没有直接配置在xml文件中,而是通过自动扫描对应包的方式配置到xml中的,因此,这个bean没有name,id等属性,所以这里只能通过xxx.class的方式来getbean

eclipse中AXIS2发布过程的更多相关文章

  1. Eclipse中Axis2发布WebService

    介绍:Axis是apache下一个开源的webservice开发组件. l  开发工具下载: 1.  eclipse的Java EE版本.下载地址:http://www.eclipse.org/dow ...

  2. eclipse中tomcat发布失败(Could not delete May be locked by another process)原因及解决办法

    在eclipse中tomcat发布项目时,偶尔出现了以下情况: publishing to tomcat v7.0 services at localhost has encountered a pr ...

  3. 在eclipse中部署发布web项目 和 更改eclipseweb项目发布的路径

    我的工作空间:d:workspaceweb项目名称:xxx在eclipse配置完tomcat后,发布到的路径是 d:\workspace\.metadata\.plugins\org.eclipse. ...

  4. Eclipse + Apache Axis2 发布RESTful WebService(二)配置开发环境

    1. 下载axis2相关软件地址:http://axis.apache.org/axis2/java/core/download.html 2. 安装插件:将axis2-eclipse-codegen ...

  5. Eclipse + Apache Axis2 发布RESTful WebService(三)第一个程序Hello Axis2 !(未成功)

    此路不通 Axis2发布SOAP WebService非常简单,建一个Dynamic Web Project,然后为它建一个Axis的Web Service(Tomcat7+JDK),就会生成Clas ...

  6. Eclipse + Apache Axis2 发布SOAP WebService(三)第一个程序Hello Axis2 SOAP!

    因为Axis2同时支持SOAP和RESTful的WebService开发. 我的目标主要是RESTful,这里简单记录一个SOAP的小例子: 原文地址:https://jingyan.baidu.co ...

  7. Eclipse + Apache Axis2 发布RESTful WebService(一)基础知识

    1.什么是WebService 学习 WebService 第一步:体系结构.三元素SOAP/WSDL/UDDI 2.什么是Axis2 Axis2是Apache一套崭新的WebService引擎(框架 ...

  8. 在eclipse中maven web项目部署到tomcat,访问不了

    修改eclipse中tomcat发布路径后,能正常访问

  9. eclipse中build path与Web Deployment Assembly的作用,区别

    转自:https://blog.csdn.net/heart_mine/article/details/79402792 以下内容只为做个笔记记录已下,有问题可以留言,欢迎补充. 今天在eclipse ...

随机推荐

  1. UVA 11324 The Largest Clique (强连通分量,dp)

    给出一个有向图,求一个最大的结点集合,任意两个点u,v.u可到达v或v可到达u. 一个强连通分量肯定一起选的.而且只能在一条路径上. 所以先找出所有scc,然后缩点找一条最大权的路径,按拓扑序跑DAG ...

  2. JS中的事件、事件冒泡和事件捕获、事件委托

    https://www.cnblogs.com/diver-blogs/p/5649270.html https://www.cnblogs.com/Chen-XiaoJun/p/6210987.ht ...

  3. caffe的调试技巧 和 使用split层

    1.网络中的layer层的输出,只要没有作为其他层的输入,caffe的日志就会把这个top输出(如果你用那个网站画网络结构图,你也会发现这种情况的层的颜色是不一样的,是紫色的) 2.如果你想看某一层在 ...

  4. Bootstrap教程简介

    Bootstrap,来自Twitter,是目前最受欢迎的前端框架. Bootstrap是基于HTML. CSS. JAVASCRIPT的,它简洁灵活,使得Web开发更加便捷. 为什么要使用Bootst ...

  5. JavaScript设计模式基础之闭包(终)

    对于前端程序员来说闭包还是比较难以理解的, 闭包的形成与变量的作用域以及变量的生产周期密切相关,所以要先弄懂变量的作用域和生存周期. 1.变量作用域 变量的作用域,就是指变量的有效范围,通常我们指的作 ...

  6. 51nod 1135 原根 (数论)

    题目链接 建议与上一篇欧拉函数介绍结合食用. 知识点:1.阶:a和模m互质,使a^d≡1(mod m)成立的最小正整数d称为a对模m的阶(指数)   例如: 2^2≡1(mod3),2对模3的阶为2; ...

  7. sublime text 3143 最新激活方法

    1)输入激活码 —– BEGIN LICENSE —– TwitterInc 200 User License EA7E-890007 1D77F72E 390CDD93 4DCBA022 FAF60 ...

  8. Java--容器/集合类(Collection)理解和使用

    .数组和集合的比较 数组:长度固定,用来存放基本类型的数据 集合:长度不固定,用来存放对象的引用 二.集合类的基本概念 1.java.util包中提供了一些集合类,这些集合类也被称为容器. 常用的集合 ...

  9. Linux 中 MySQL 授权远程连接

    说明:当别的机子(IP )通过客户端的方式在没有授权的情况下是无法连接 MySQL 数据库的,如果需要远程连接 Linux 系统上的 MySQL 时,必须为其 IP 和具体用户进行授权.一般 root ...

  10. The eleven Day

    库操作 一 系统数据库 information_schema: 虚拟库,不占用磁盘空间,存储的是数据库启动后的一些参数,如用户表信息.列信息.权限信息.字符信息等 performance_schema ...