`
375721064
  • 浏览: 14169 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论
阅读更多
WebService的开发模版(Axis2 1.5环境)

今天在做apache-cxf-2.2.2整合Spring时候,出现了包版本与JDK1.5包冲突的问题,折腾了不少时间,还是没解决。于是改为Axis2开发,暂时绕过问题,完成任务要紧。

Axis2已经升级到1.5了,下载地址:
http://apache.etoak.com/ws/axis2/1_5/axis2-1.5-bin.zip
http://apache.etoak.com/ws/axis2/1_5/axis2-1.5-war.zip

两个包,bin是开发包,war是部署包,实际上,如果只用jar包,两个里面的jar都一样用。

在IDEA环境下,Axis2的开发环境稍微麻烦些,毕竟没CXF或XFire方便。每次写build.xml脚本也挺麻烦的。这次写个项目模版,方便以后使用。

环境:
axis2-1.5
jdk1.5
idea-8.13
apache-tomcat-6.0.20
ant-1.6以上即可

一、创建项目

使用idea向导创建一个Java项目,项目结构如下图:
testaxis2
├─lib
├─resources
│    └─META-INF
└─src
        └─mytest

二、导入axis2的包

解压缩axis2-1.5-bin.zip到一个目录下,然后直接在idea中引入axis2的包即可。也可以讲axis2的包复制到lib下。

三、创建服务

axis2服务的创建过程就是写Java类,不要求有接口,有也不会错。
这里创建一个最简单的Service,作为发布对象。

package mytest;

/**
* 测试Service
*
* @author leizhimin 2009-8-4 15:46:39
*/
public interface MyService {
        String doSomething(String taskname);
}

package mytest;

/**
* 测试Service
*
* @author leizhimin 2009-8-4 15:48:13
*/
public class MyServiceImpl implements MyService {
        public String doSomething(String taskname) {
                System.out.println("MyServiceImpl is calling doSomething with " + taskname + "!");
                return taskname + "is finished!";
        }
}

四、描述服务

在项目的resources\META-INF文件夹下面,创建services.xml,内容如下:
<service name="myws" scope="application" targetNamespace="http://lavasoft.blog.51cto.com/">
        <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>
        <schema schemaNamespace="http://lavasoft.blog.51cto.com/xsd"/>
        <parameter name="ServiceClass">mytest.MyServiceImpl</parameter>
</service>

服务名:myws
命名空间:http://lavasoft.blog.51cto.com
服务实现类:mytest.MyServiceImpl

五、编写构建脚本

用Ant编写build.xml,放到项目根文件夹下。
<?xml version="1.0" encoding="UTF-8"?>
<project name="ccmws" basedir="." default="generate.service">

        <property environment="env"/>
        <property name="AXIS2_HOME" value="F:/axis2-1.5"/>
        <property name="wsdl.uri" value="./build/myws.wsdl"/>

        <property name="build.dir" value="build"/>

        <path id="axis2.classpath">
                <fileset dir="${AXIS2_HOME}/lib">
                        <include name="*.jar"/>
                </fileset>
                <fileset dir="./lib">
                        <include name="*.jar"/>
                </fileset>
        </path>

        <target name="compile.service">
                <mkdir dir="${build.dir}"/>
                <mkdir dir="${build.dir}/classes"/>
                <javac debug="on"
                             fork="true"
                             encoding="UTF-8"
                             destdir="${build.dir}/classes"
                             srcdir="${basedir}/src"
                             extdirs="**/test/**"
                             classpathref="axis2.classpath">
                </javac>
        </target>

        <target name="generate.wsdl" depends="compile.service">
                <taskdef name="java2wsdl"
                                 classname="org.apache.ws.java2wsdl.Java2WSDLTask"
                                 classpathref="axis2.classpath"/>
                <java2wsdl className="mytest.MyServiceImpl"
                                     outputLocation="${build.dir}"
                                     targetNamespace="http://lavasoft.blog.51cto.com/"
                                     schemaTargetNamespace="http://lavasoft.blog.51cto.com/xsd">
                        <classpath>
                                <pathelement path="${axis2.classpath}"/>
                                <pathelement location="${build.dir}/classes"/>
                        </classpath>
                </java2wsdl>
        </target>

        <target name="generate.service" depends="compile.service">
                <copy toDir="${build.dir}/classes" failonerror="false">
                        <fileset dir="${basedir}/resources">
                                <include name="**/*.xml"/>
                        </fileset>
                </copy>
                <jar destfile="${build.dir}/myws.aar">
                        <fileset excludes="**/Test.class" dir="${build.dir}/classes"/>
                        <fileset includes="lib/*.jar" dir="${basedir}"/>
                </jar>
        </target>

        <target name="clean">
                <delete dir="${build.dir}" />
        </target>
</project>

注意设定一些环境参数,Axis2的目录、发布服务的aar包名字,生成wsdl时候所用的服务实现类,以及命名空间等等。

六、运行build脚本打包



运行后:



七、部署服务

将下载的axis2-1.5-war.zip解开,得到一个axis2.war,将其解压缩到tomcat的默认的web发布目录webapp下面,比如,在我机器上会产生C:\apache-tomcat-6.0.20\webapps\axis2的目录,目录下面就是axis2.war里面的内容。

然后,将生成的my.aar复制到C:\apache-tomcat-6.0.20\webapps\axis2\WEB-INF\services下面。

八、启动tomcat,查看发布服务



浏览axis2的服务


点Services,查看所有的服务


在点击服务连接,就可以查看wsdl了:


经过这样的测试后,服务发布算成功了。
分享到:
评论

相关推荐

    WebService的开发模版(Axis2 1.5环境)

    在这个“WebService的开发模版(Axis2 1.5环境)”中,我们将探讨如何在Axis2 1.5框架下创建和使用Web服务。 Axis2是Apache软件基金会开发的一个Web服务引擎,它是Apache Axis1的升级版本,提供了更强大的功能和更...

    axis2-1.5.jar

    官方版本,亲测可用

    activemq-axis-1.5.jar

    官方版本,亲测可用

    axis2-1.5.3-bin.zip axis2-1.5.3-bin.zip axis2-1.5.3-bin.zip

    Apache Axis2是著名的开源Web服务框架,用于构建和部署分布式应用程序和服务。该框架基于Java语言,是Axis1的升级版,提供了更为强大的功能和性能优化。"axis2-1.5.3-bin.zip"是一个包含Apache Axis2 1.5.3版本的二...

    axis2-fastinfoset-1.5.jar

    官方版本,亲测可用

    axis2-1.5.6-bin.rar

    标题中的"axis2-1.5.6-bin.rar"指的是Apache Axis2的1.5.6版本的二进制发行版。Apache Axis2是Java平台上的一款高性能、灵活且可扩展的Web服务框架,用于创建和部署Web服务。它提供了一个强大的环境来处理SOAP消息,...

    axis2 相关代码加上书籍

    在文件列表中提到的"AXIS2 1.5"可能是指Axis2的1.5版本,这个版本可能包含 Axis2 的源码库、API文档、示例项目以及其他相关的开发资源。 学习 Axis2,你需要理解以下关键概念和知识点: 1. **Web服务基础**:了解...

    WSDL2Java及axis2-1.5-bin.zip的包

    使用axis2-1.5开发包 从最简单的开始 ,-uri 指定wsdl文件&gt; WSDL2Java -uri currencyConvert.wsdl-d 使用不同的data binding方法&gt; WSDL2Java -uri currencyConvert.wsdl -d xmlbeans-a 生成异步的方法&gt; WSDL2Java -...

    axis2-1.5源码

    这个"axis2-1.5源码"提供了对 Axis2 框架核心功能的深入了解,对于开发者来说,深入研究源码可以帮助理解其工作原理,从而更好地利用它来构建高效、可靠的Web服务。 1. **Axis2框架** Axis2是基于Apache Axis1演化...

    axis2-1.5.6完整版

    Axis2 是一个强大的 Web Service 框架,它是由 Apache 软件基金会开发的,主要用于构建和部署 Web 服务。版本 1.5.6 是 Axis2 的一个稳定版本,提供了一系列增强的功能和修复了若干已知问题,使得在 SAP 中进行 Web ...

    WEBSERVICES-AXIS2-1.5

    AXIS2-1.5 轻松部署WEBSERVICE,方便,简单,很容易学

    Developing Web Services with Apache CXF and Axis2, 3rd Edition

    1. **同时使用Apache CXF 2.2.x和Axis2 1.5.x**:通过尽可能多地利用标准API(如JAX-WS、JAX-RS)来操作这两个平台。 2. **使用缓存创建可扩展的RESTful Web服务**:介绍如何通过缓存机制提高RESTful Web服务的性能...

    axis2-1.5.3-war.zip axis2-1.5.3-war.zip

    Axis2 是一个开源的Web服务平台,用于构建和部署Web服务。版本1.5.3是Axis2的一个特定发行版,它提供了许多增强的功能和修复了之前版本中的问题。这个压缩包“axis2-1.5.3-war.zip”包含了Axis2的Web应用版本,可以...

    axis2-xmlbeans-1.5.jar

    标签:axis2-xmlbeans-1.5.jar,axis2,xmlbeans,1.5,jar包下载,依赖包

    axis2-xmlbeans-1.5.jar.zip

    标题中的"axis2-xmlbeans-1.5.jar.zip"是一个压缩文件,它包含了与Axis2框架相关的XMLBeans库的1.5版本。Axis2是一个成熟的开放源代码Web服务开发平台,广泛用于构建和部署SOAP(简单对象访问协议)和RESTful Web...

    axis2-kernel-1.5.jar

    官方版本,亲测可用

    专题资料(2021-2022年)webservice项目搭建教程.doc

    - **WebService框架**:Axis2 1.5 在开始之前,需要完成以下准备工作: 1. **下载Axis2**: - 访问官方网址:[http://ws.apache.org/axis2/](http://ws.apache.org/axis2/)。 - 下载所需的Axis2版本(本文推荐...

    org.apache.axis2.osgi-1.5.jar

    org.apache.axis2.osgi-1.5.jar

Global site tag (gtag.js) - Google Analytics