`
hbkh2000
  • 浏览: 202023 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

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

阅读更多
WebService的开发模版(Axis2 1.5环境)
 
今天在做apache-cxf-2.2.2整合Spring时候,出现了包版本与JDK1.5包冲突的问题,折腾了不少时间,还是没解决。于是改为Axis2开发,暂时绕过问题,完成任务要紧。
 
Axis2已经升级到1.5了,下载地址:
 
两个包,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
服务实现类: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-15环境).docx

    【WebService的开发模版(Axis2-15环境)】文档描述的是如何在Axis2版本15环境下开发和部署一个简单的Web服务。Axis2是一个流行的Java Web服务框架,用于创建和部署SOAP(简单对象访问协议)和RESTful Web服务。 **一...

    利用Axis2实现WebService开发与部署

    总结,利用Axis2开发Web Services提供了直观和高效的方法,无论是直接使用API编程还是通过WSDL自动生成代码,都能极大地提高开发效率。理解并熟练运用这些方法,开发者可以在企业级应用中快速构建和部署健壮的Web ...

    IDEA下开发webservice(axis)文档

    ### IDEA 下开发 Webservice(Axis)的关键知识点 #### 一、概述 在现代软件开发过程中,Web服务(尤其是 SOAP 类型的服务)作为一种重要的组件模型,为不同应用间的交互提供了标准化的途径。本文将详细介绍如何在 ...

    java webservice axis2简单开发实例.docx

    2. **设置开发环境** 在本例中,使用的是MyEclipse作为开发工具。首先,在MyEclipse中新建一个Web项目,并将下载的Axis2 JAR包添加到项目的lib文件夹中。确保项目能够正确引用这些库。 #### 三、创建WebService...

    WebService开发和使用指南

    本指南将深入探讨WebService的核心概念、开发过程以及在Java环境中的应用,特别是使用Axis框架。 1. WebService核心概念: - XML:作为数据交换的标准格式,XML具有自我描述性,可以跨平台、跨语言地解析和生成。 ...

    myeclipse10 axis2 插件

    【标题】"myeclipse10 axis2 插件"涉及的是在MyEclipse 10集成开发环境中安装和使用Axis2插件的相关知识。MyEclipse是基于Eclipse的一款强大的Java EE集成开发工具,而Axis2是Apache软件基金会开发的一个Web服务框架...

    myEclipse10+axis2+tomcat6.0发布WebService.pdf

    myEclipse10是一款集成开发环境,特别适用于Java和Web应用的开发,而Axis2插件则提供了在myEclipse中便捷创建和发布Web服务的功能。 1. **Axis2的安装与配置** - 首先,需要从Apache官方网站下载适合JDK版本的Axis...

    BSN Webservice开发文档

    BSN Webservice 开发文档是针对电信CRM系统中Webservice服务构建的一份详细指南,它提供了在BSN(Basic Service Network)平台上开发Web服务的方法。BSN Webservice旨在提供高效且稳定的服务,已经在多个省级电信...

    axis2的配置以及与ssh框架结合实例

    描述中提到的“解决webservice axis2的做接口问题”,意味着在使用Axis2创建和消费Web服务时可能会遇到的问题,如接口调用失败、错误响应或通信异常等。这些问题通常可以通过正确配置Axis2服务端和客户端,以及处理...

    发布webService服务接口与spring整合教程

    请确保你的开发环境和目标运行环境都满足这个要求。 在提供的压缩包文件“webService服务接口方案”中,可能包含了具体的代码示例、配置文件和其他参考资料,这些都可以帮助你更好地理解和实践上述步骤。记得根据...

    Axis2_Codegen Axis2_Service_Archive

    Axis2是Apache软件基金会开发的一个开放源码的Web服务平台,专门用于构建和部署Web服务。这个平台基于Java,提供了一种高效、灵活且可扩展的方式来处理Web服务生命周期的各个阶段,包括创建、部署和执行。Codegen...

    axis搭建的webservice简单操作步骤

    在开始之前,确保已经安装了Java开发环境(JDK)及相应的开发工具,例如Eclipse或IntelliJ IDEA。此外,还需要下载Apache Axis及相关依赖库。 #### 二、创建Web项目 1. **打开开发工具**:启动Eclipse或IntelliJ ...

    webservice axis实现

    Axis是Apache软件基金会开发的一个开源工具,专门用于构建和部署Web服务,尤其在Java环境中广泛使用。本文将深入探讨 Axis 实现Web服务的详细过程和相关知识点。 1. Web服务基础: - SOAP(Simple Object Access ...

    WebService培训

    1. **安装JBuilder**:JBuilder是一款由Borland公司开发的Java集成开发环境(IDE),在本案例中用于创建WebService项目和服务。 2. **配置Axis库**:确保JBuilder中包含了Axis框架的所有必需库,如axis.jar、axis-...

    WebService开发(C#)+Java调用-教程.zip

    在本教程中,我们将深入探讨如何使用C#开发WebService,并且讲解如何在Java环境中调用这些服务。教程资料主要包含"JavaWebService-master"这个文件夹,我们可以推测这可能是一个项目源码或教程步骤的目录。 首先,...

    Java与.net开发webservice详解大全

    开发环境中,使用的是JDK1.6和Eclipse3.6作为Java环境,Visual Studio 2010作为.NET环境。值得注意的是,从VS2010开始,不再直接提供ASP.NET Web Services模板,但可以通过其他途径实现与VS2008相同的功能。 在实际...

    webservice测试工具

    下载并安装WebserviceStudio20后,运行该工具,界面通常会显示一个空白的SOAP请求模板。 - **配置Web服务地址** 在工具中输入Web服务的URL,这通常是WSdl文档的地址,例如`http://example.com/service?wsdl`。...

Global site tag (gtag.js) - Google Analytics