Axis2使war包发布为WebService
首先 吐槽下 Axis2的Eclipse插件。不好用,而且局限性大。并且添加包的过程。。。会及其痛苦。(懂的自然懂)
而且 发布的aar文件,不能解压缩重新打包再压缩。。。尝试过添加 jar包,但报错。
网上找资料的时候看到很多Axis2开发的webservice都是打包成arr格式附带到Axis2框架上发布,这样不能打包成war发布。
整理了一些资料了解了一种可以把Axis2开发的WebService打包成war包发布。
一、环境准备
使用 Axis 来开发 Web services 需要准备 web 服务器, Axis API 。本文使用的 Web container 是 Tomcat 6 . 0 , Axis API 采用版本 2 。
1.1 软件下载准备
Tomcat下载地址:
http://tomcat.apache.org/download-55.cgi#5.5.20
Axis 标准包:
http://apache.etoak.com/ws/axis2/1_5_1/axis2-1.5.1-bin.zip
Axis War 包:
http://apache.etoak.com/ws/axis2/1_5_1/axis2-1.5.1-war.zip
1.2 步骤
A . 将 axis2.war 包拷贝到 tomcat 安装目录下的 webapps 目录中。
B .启动Tomcat(windows 下为TOMCA_HOME/bin中的startup.bat;Linux,unix环境为startup.sh文件),打开浏览器输入并访问:http://ip:port/axis2来查看。(如果没有进行 配置 文件的修改此地址应该为 http://localhost:8080/axis2 ),如果能看到下面的页面则说明已经安装完成。

二、 例子
先从一个简单的例子开始。以便对使用 Axis 来开发 Web services 的大致流程有个了解。
2.1编写自己的应用服务端。
A .启动 MyEclipse ,新建立一个 WebApps ( File->New->Project->Web Project ) , 给 Project Name 为 Axis2Service ,其他保持不改变。
B. 我们需要一个简单的web service ,建包cc.com.mm,包下新建类 TestWebService 。代码如下:
package cc.com.mm;
public class TestWebService {
public String test(String name){
return name +" "+ "test";
}
}
C.将 Axis2 集成 到我们自己的webapp中。首先我们需要将Axis2 Servlet写到我们的web.xml中 。如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="wmf" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<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>
</web-app>
D.把tomcat 安装目录下的webapps/axis2 / axis2-web 放到项目的WebRoot下, 把tomcat安装目录下的webapps/axis2/WEB-INF下的service和conf 和moduls 文件 夹 拷至 项目 下的WEB-INF目录下 ,并修改conf目录下的axis2.xml,找到 <module ref="addressing"/> 并将其注释掉。 把lib下的jar包 也 拷 到项目的lib下 去。 结构如下:

E. 接下来,我们需要为 TestWebService 写一个部署描述。 在 services下新建Axis2Service(这个可以任取) /META-INF路径,META-INF下新建services.xml,内容如下:
<service name="ServiceTest">
<description>
Test Service Example
</description>
<parameter name="ServiceClass">
cc.com.mm.TestWebService
</parameter>
<operation name="test">
<messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
</operation>
</service>
F.把项目加载到tomcat,也可以打包成war发布到tomcat, 启动tomcat后访问http://localhost:8080/Axis2Service/services/ServiceTest?wsdl

能看到服务信息,则说明已经成功。
Axis2使war包发布为WebService的更多相关文章
- Tomcat下使用war包发布项目
Tomcat下使用war包发布项目 转自<Tomcat下使用war包发布项目 >,地址:http://blog.csdn.net/wy818/article/details/7240294 ...
- spring boot将jar包转换成war包发布
spring boot将jar包转换成war包发布步骤 将<packaging>jar</packaging>修改为<packaging>war</packa ...
- tomacat服务器上web资源访问流程、web应用打成war包发布、Context的reloadable属性、tomacat体系架构
一.web资源访问流程 二.web应用打成war包发布到服务器 好处:打成war包发布到服务器,那么服务器会自动把它拆解成文件夹 jar命令是java自带的一个命令,如果之前配置过Java编译环境就可 ...
- 将web应用打成war包发布到服务器
如何将web应用打成war应用发布到服务器步骤: (1)先有一web应用"google"在C:盘下,如图: google下目录有WEB-INF文件夹(下有classes.lib.w ...
- 使用idea创建springboot项目并打成war包发布到tomcat8上
1.将pom.xml中的打包方式修改为war <groupId>com.borya</groupId> <artifactId>Project</artifa ...
- Spring boot + Gradle + Eclipse打war包发布总结
首先感谢两位博主的分享 http://lib.csdn.net/article/git/55444?knId=767 https://my.oschina.net/alexnine/blog/5406 ...
- springboot项目打war包发布到外置tomcat
第一步:修改pom.xml 1. <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging> ...
- spring boot打war包发布
由于公司一贯的方式都是将war包布在中间件tomcat下运行 所以这次springboot项目需要打war包 how to? 第一步:pom.xml 文件中,打包方式需要修改成war <pack ...
- 使用idea创建springboot项目并打成war包发布到weblogic上
部署tomcat也是类似的,但是需要注意项目配置的路径,或者直接将项目放到webapp的ROOT目录下. 使用工具:intelliJ IDEA2016.3, jdk1.8 ,weblogic12 一 ...
随机推荐
- C3P0连接池在hibernate和spring中的配置
首先为什么要使用连接池及为什么要选择C3P0连接池,这里就不多说了,目前C3P0连接池还是比较方便.比较稳定的连接池,能与spring.hibernate等开源框架进行整合. 一.hibernate中 ...
- Add Two Numbers (c#)
You are given two linked lists representing two non-negative numbers. The digits are stored in rever ...
- 007-Scala类的属性和对象私有字段实战详解
007-Scala类的属性和对象私有字段实战详解 Scala类的使用实战 变量里的类必须赋初值 def函数时如果没参数可不带括号 2.不需要加Public声明 getter与setter实战 gett ...
- Android事件分发机制(下)
这篇文章继续讨论Android事件分发机制,首先我们来探讨一下,什么是ViewGroup?它和普通的View有什么区别? 顾名思义,ViewGroup就是一组View的集合,它包含很多的子View和子 ...
- C# lambda表达式(简单易懂)
前言 1.天真热,程序员活着不易,星期天,也要顶着火辣辣的太阳,总结这些东西. 2.夸夸lambda吧:简化了匿名委托的使用,让你让代码更加简洁,优雅.据说它是微软自c#1.0后新增的最重要的功能之一 ...
- 通过JavaScript改变HTML样式
语法:Object.style.property=new style; 基本属性表如下: 示例: 改变 <p> 元素的样式,将颜色改为红色,字号改为20,背景颜色改为蓝: <p id ...
- QImage::drawRect 和 fillRect在处理大面积区域时代价高昂
项目需要生成一张掩码图, 出于操作pixel方便的考虑采用QImage(mono), 但在实现一个类似于 cvZero的操作时发现在图片面积较大时效率很低, 提醒一下 ps: 后来是改变策略, 用偏移 ...
- 从angularJS改道Vue.js,趟过第一个坑!
vue采用 new vue()初始化,显然vue内部没有类似jquery ready函数的机制,在文档加载完成后再执行初始化. 今天新学习vue,由于vue采用es5的特殊机制更新UI,我不确定ipa ...
- winform中listview imagelist问题
参考:http://www.it165.net/pro/html/201410/23603.html 关于imagelist失真问题: 1.颜色 将ColorDepth属性设置成Depth32Bit ...
- portotype
[ portotype ] [语法] function :function Name是创建新的函数的名称 body : body可以选项,包含调用该函数时被执行的JScrtipt 代码的字符串. ...