码迷,mamicode.com
首页 > Web开发 > 详细

Axis2使war包发布为WebService

时间:2015-06-05 13:51:53      阅读:297      评论:0      收藏:0      [点我收藏+]

标签:

首先 吐槽下 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/axis 2 ),如果能看到下面的页面则说明已经安装完成。

技术分享

     二、 例子

            先从一个简单的例子开始。以便对使用 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

标签:

原文地址:http://www.cnblogs.com/Redvelvet/p/4554394.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!