[JavaWebService-axis]-环境搭建
一、准备
1.下载环境需要的zip包
JDK
Eclipse
axis(http://axis.apache.org/axis2/java/core/download.html)(axis2-1.7.0-bin.zip,axis2-1.7.0-war.zip,axis2-eclipse-codegen-plugin-1.7.0.zip,axis2-eclipse-service-plugin-1.7.0.zip)
omcat
2.安装axis插件(试错)
将axis2-eclipse-codegen-plugin-1.7.0.zip,axis2-eclipse-service-plugin-1.7.0.zip下载下来后,解压后是2个jar包,放在MyEclipse安装目录的plugins下后,重启后并没有如下图2:
File-》new-》other

3.重新下载插件包(http://archive.apache.org/dist/ws/axis2/tools/)
在这个地址下面可以下载到相应的包

你可以进入1_4_1,如下图:

下载这2个包后,解压。然后放在MyEclipse安装目录的dropins文件夹下(Eclipse是在plugins文件夹中),如下图:

然后重启MyEclipse,就可以了。再次重复File-》new-》other就有了图2中的,这里也可以用link文件配置试试。
二、配置
1.配置Tomcat 中WebService解析容器
在上面下载的axis2-1.7.0-war.zip解压后,会有一个axis2.war文件,需要把该文件放入Tomcat目录下面的webapps文件夹下面。(浏览器运行会自动将war文件解压出来一个文件夹axis2 包含axis2-web、META-INF、org、WEB-INF)
2.启动Taomcat后,就可以访问http://localhost:8080/axis2/ ,如下图:

三、编写Java版的Webservice
1.新建一个Web项目,如下图:

2.新建一个上述的实体类,如下:

3.把tomcat 安装目录下的webapps/axis2/中的axis2-web放到项目的WebRoot下(这步可不弄)
4. 把tomcat安装目录下的webapps/axis2/WEB-INF下的services和conf 和moduls 文件夹拷至项目下的WEB-INF目录下
5.修改conf目录下的axis2.xml,找到 <module ref=”addressing”/> 并将其注释掉
6.把lib下的jar包也拷到项目的lib下去。
以上4步操作,如下:

7.为该项目写一个部署描述。
在services下新建 Axis2Service(这个可以任取) /META-INF路径,META-INF下新建services.xml,内容如下:
<service name="ServiceTest" > //这个名字随意
<description>
Test Service Example
</description>
<parameter name="ServiceClass">
cn.homily.action.FisrtDemo //这个必须是这个服务的类路径
</parameter>
<operation name="getStr"> //这个是这个服务的方法名
<messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" /> //这个应该是接收数据的配置
</operation>
</service>
这样Webservice的配置工作基本上就好了
四、结果
1.部署项目 启动tomcat
2.访问http://localhost:8080/WebserviceDemo/services/ServiceTest?wsdl(WebserviceDemo-项目名,services-是WEB-INF/services对应,ServiceTest-是上面7中的服务名),结果如下图:

3.编写Java调用方法
新建如下图,Java项目

4.编写调用Webservice的代码
package cn.homily.action; import javax.xml.namespace.QName;
import javax.xml.rpc.ServiceException; import org.apache.axis.client.Call;
import org.apache.axis.client.Service; public class InterfaceUserTest { public static void main(String[] args) {
String url = "http://localhost:8080/WebserviceDemo/services/ServiceTest?wsdl";
String xmlData= "www.homily.cn";
try {
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(url);
call.setOperationName(new QName("http://action.homily.cn", "getStr"));
call.setTimeout(new Integer(5000));
String retu = "";
try {
retu = (String) call.invoke(new Object[] { xmlData});
} catch (Throwable e) {
e.printStackTrace();
}
} catch (ServiceException e) {
e.printStackTrace();
}
}
}
5.执行Run As,结果如下图:

五、问题
1.The ServiceClass object does not implement the required method in the following form: OMElement getDocSummary(OMElement e)

加个这个即可:mep=”http://www.w3.org/2004/08/wsdl/in-out”
六、参考资料
http://www.tuicool.com/articles/BjUNrq
http://blog.csdn.net/a491057947/article/details/19356731
http://www.blogjava.net/tianchijiaozi/archive/2013/03/15/396452.html
http://www.cnblogs.com/hoojo/archive/2010/12/20/1911363.html
http://www.blogjava.net/xcp/archive/2010/08/18/329244.html
http://blog.csdn.net/xumengxing/article/details/13093573
http://clq9761.iteye.com/blog/976029/
http://www.cnblogs.com/newsouls/p/3799760.html
http://www.cnblogs.com/leslies2/archive/2012/09/07/leslies2Blog_java_axis.html
http://blog.sina.com.cn/s/blog_6d187d270101cd3c.html
http://blog.csdn.net/xiang520jl/article/details/15504175
http://bbs.csdn.net/topics/230021916
http://blog.csdn.net/kunga0814/article/details/42775331
http://bbs.csdn.net/topics/220018567
http://blog.csdn.net/fengyun111999/article/details/6057862
http://www.hongxuejing.com/java/article-62.html
http://www.blogjava.net/tianchijiaozi/archive/2013/03/15/396452.html
七、项目文件
1.Webservice服务
http://pan.baidu.com/s/1hrU0KNq
2.调用方法
http://pan.baidu.com/s/1kUCJJy3
需要密码请联系本人
[JavaWebService-axis]-环境搭建的更多相关文章
- 基于Axis1.4的webservice接口开发(环境搭建)
基于Axis1.4的webservice接口开发(环境搭建) 一.环境搭建: 1.搜索关键字“Axis1.4”下载Axis1.4相关的jar包. 下载地址:http://download.csdn.n ...
- Sklearn环境搭建与常用包
开发环境搭建 直接安装Anaconda IPython IPython是公认的现代科学计算中最重要的Python工具之一.它是一个加强版的Python交互命令行工具,有以下几个明显的特点: 1. 可以 ...
- 黑马eesy_15 Vue:04.Vue案例(ssm环境搭建)
黑马eesy_15 Vue:02.常用语法 黑马eesy_15 Vue:03.生命周期 黑马eesy_15 Vue:04.Vue案例(ssm环境搭建) 黑马eesy_15 Vue:04.综合案例(前端 ...
- .NET Core系列 : 1、.NET Core 环境搭建和命令行CLI入门
2016年6月27日.NET Core & ASP.NET Core 1.0在Redhat峰会上正式发布,社区里涌现了很多文章,我也计划写个系列文章,原因是.NET Core的入门门槛相当高, ...
- Azure Service Fabric 开发环境搭建
微服务体系结构是一种将服务器应用程序构建为一组小型服务的方法,每个服务都按自己的进程运行,并通过 HTTP 和 WebSocket 等协议相互通信.每个微服务都在特定的界定上下文(每服务)中实现特定的 ...
- rnandroid环境搭建
react-native 环境搭建具体步骤这个大家已经玩烂了,这个主要是记录下来自己做win7系统遇到的坑 1.com.android.ddmlib.installexception 遇到这个问题,在 ...
- python开发环境搭建
虽然网上有很多python开发环境搭建的文章,不过重复造轮子还是要的,记录一下过程,方便自己以后配置,也方便正在学习中的同事配置他们的环境. 1.准备好安装包 1)上python官网下载python运 ...
- springMVC初探--环境搭建和第一个HelloWorld简单项目
注:此篇为学习springMVC时,做的笔记整理. MVC框架要做哪些事情? a,将url映射到java类,或者java类的方法上 b,封装用户提交的数据 c,处理请求->调用相关的业务处理—& ...
- 【定有惊喜】android程序员如何做自己的API接口?php与android的良好交互(附环境搭建),让前端数据动起来~
一.写在前面 web开发有前端和后端之分,其实android还是有前端和后端之分.android开发就相当于手机app的前端,一般都是php+android或者jsp+android开发.androi ...
- Nexus(一)环境搭建
昨天,成功搭建了自己的 Maven 环境(详见:Maven(一)环境搭建),今天就来研究和探讨下 Nexus 的搭建! 使用背景: 安装环境:Windows 10 -64位 JDK版本:1.7 Mav ...
随机推荐
- POJ1459 Power Network(网络最大流)
Power Network Time Limit: 2000MS Memory Limit: 32768K Total S ...
- 使用CURL下载远程文件保存到服务器
比如微信公众平台开发,下载用户的头像到服务器上: /** * 使用CURL获取远程文件保存到服务器 *@param $image=$oJSON->headimgurl; 获取到的微信返回的头像U ...
- 套接字I/O模型-WSAAsyncSelect
利用这个异步I/O模型,应用程序可在一个套接字上接收以Windows消息为基础的网络事件通知.WSAAsyncSelect和WSAEventSelect提供读写数据能力的异步通知,但它们不提供异步数据 ...
- MySQL DBA的个人修养
做为一个MySQL DBA,必须具有以下的素质: 一, 身体素质 DBA必须接收和处理各种报警,不论是中午在吃饭或者凌晨三点已经进入深度睡眠.接到报警需要立即进入应急状态,找到电脑,联上网络,快速定位 ...
- 自然语言处理1——语言处理与Python(内含纠错)
学习Python自然语言处理,记录一下学习笔记. 运用Python进行自然语言处理需要用到nltk库,关于nltk库的安装,我使用的pip方式. pip nltk 或者下载whl文件进行安装.(推荐p ...
- HTTP头详解
HTTP 头部解释 1. Accept:告诉WEB服务器自己接受什么介质类型,*/* 表示任何类型,type/* 表示该类型下的所有子类型,type/sub-type. 2. Accept-Chars ...
- WCF入门教程三[WCF的宿主]
一.WCF服务应用程序与WCF服务库 我们在平时开发的过程中常用的项目类型有“WCF 服务应用程序”和“WCF服务库”. WCF服务应用程序,是一个可以执行的程序,它有独立的进程,WCF服务类契约的定 ...
- 基于window.onerror事件 建立前端错误日志
QA不是万能的,用户的浏览环境非常复杂,很多情况无法靠测试用例去覆盖,所以最好建立一个前端错误日志,在真实用户端收集bug. try&catch是一个捕获前端错误的常见方法,比如: { //给 ...
- @include与jsp:include的区别
1.可以使用一个JSP指令或者一个标准行为,在JSP页面中引入其他的页面片段. 2. include指令:在翻译阶段(将JSP页面转换成servlet的阶段),JSP的include指令会读入指定的页 ...
- 在svg里面画虚线
使用stroke-dasharray="3 2" 属性,其中3和2分别表示画的长度和间隙的长度 比如 <line x1="0" y1="5&q ...