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. C# 一维数组 二位数组 多维数组

    什么是数组? 数组是一组变量,就是把一些变量串在一起,放在一块. 数组的作用? 假设有一堆变量,每个变量都有一些程序,那么这堆程序放在一起  程序就会混乱,处理起来有些麻烦,那么数组就是把这些变量放在 ...

  2. 洛谷 P1901 发射站

    题目描述 某地有 N 个能量发射站排成一行,每个发射站 i 都有不相同的高度 Hi,并能向两边(当 然两端的只能向一边)同时发射能量值为 Vi 的能量,并且发出的能量只被两边最近的且比 它高的发射站接 ...

  3. 单调栈2 POJ3250 类似校内选拔I题

    这个题再次证明了单调栈的力量 简单 单调栈 类似上次校内选拔消砖块 一堆牛面朝右排 给出从左到右的 问每个牛的能看到前面牛发型的个数之和 //re原因 因为在执行pop的时候没有判断empty 程序崩 ...

  4. tensorflowjs下载源文件到本地不能加载模型解决方案

    大多数情况(非源文件错误)下载源文件到本地不能加载模型,那么你可能需要搭建一个本地WEB服务器. 1.安装apache或ngnix,可以参照这个博客 2.强烈推荐一个Chrome插件Web Serve ...

  5. BCB:内存泄漏检查工具CodeGuard

    一.为什么写这篇东西 自己在使用BCB5写一些程序时需要检查很多东西,例如内存泄漏.资源是否有释放等等,在使用了很多工具后,发觉BCB5本身自带的工具―CodeGuard,非常不错,使用也挺方便的,但 ...

  6. mysql启动提示mysql.host 不存在,启动失败的解决方法

    图示: 日志: 190625 10:48:42 InnoDB: Started; log sequence number 0 130207190625 10:48:42 [ERROR] Fatal e ...

  7. common-fileupload上传文件

    文件上传在web应用中非常普遍,要在jsp环境中实现文件上传功能是非常容易的,因为网上有许多用java开发的文件上传组件,本文以commons-fileupload组件为例,为jsp应用添加文件上传功 ...

  8. shell脚本,如何监控目录下的文件内容是否被修改。

    第一种方法是通过cmp来进行比对[root@localhost bo]# ls .html .html .html .html .html .html .html .html .html cat.sh ...

  9. oracle row_number的使用

    create table studentInfo(  id number(8) primary key,  name varchar2(20) not null,  ObjectName varcha ...

  10. vue表单验证:vee-validate中文提示

    官方文档:https://baianat.github.io/vee-validate/guide/ vee-validate可用于vue项目中进行表单验证,使用方法在官方API上都可以查到: 使用过 ...