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环境)】文档描述的是如何在Axis2版本15环境下开发和部署一个简单的Web服务。Axis2是一个流行的Java Web服务框架,用于创建和部署SOAP(简单对象访问协议)和RESTful Web服务。 **一...
总结,利用Axis2开发Web Services提供了直观和高效的方法,无论是直接使用API编程还是通过WSDL自动生成代码,都能极大地提高开发效率。理解并熟练运用这些方法,开发者可以在企业级应用中快速构建和部署健壮的Web ...
### IDEA 下开发 Webservice(Axis)的关键知识点 #### 一、概述 在现代软件开发过程中,Web服务(尤其是 SOAP 类型的服务)作为一种重要的组件模型,为不同应用间的交互提供了标准化的途径。本文将详细介绍如何在 ...
2. **设置开发环境** 在本例中,使用的是MyEclipse作为开发工具。首先,在MyEclipse中新建一个Web项目,并将下载的Axis2 JAR包添加到项目的lib文件夹中。确保项目能够正确引用这些库。 #### 三、创建WebService...
本指南将深入探讨WebService的核心概念、开发过程以及在Java环境中的应用,特别是使用Axis框架。 1. WebService核心概念: - XML:作为数据交换的标准格式,XML具有自我描述性,可以跨平台、跨语言地解析和生成。 ...
【标题】"myeclipse10 axis2 插件"涉及的是在MyEclipse 10集成开发环境中安装和使用Axis2插件的相关知识。MyEclipse是基于Eclipse的一款强大的Java EE集成开发工具,而Axis2是Apache软件基金会开发的一个Web服务框架...
myEclipse10是一款集成开发环境,特别适用于Java和Web应用的开发,而Axis2插件则提供了在myEclipse中便捷创建和发布Web服务的功能。 1. **Axis2的安装与配置** - 首先,需要从Apache官方网站下载适合JDK版本的Axis...
BSN Webservice 开发文档是针对电信CRM系统中Webservice服务构建的一份详细指南,它提供了在BSN(Basic Service Network)平台上开发Web服务的方法。BSN Webservice旨在提供高效且稳定的服务,已经在多个省级电信...
描述中提到的“解决webservice axis2的做接口问题”,意味着在使用Axis2创建和消费Web服务时可能会遇到的问题,如接口调用失败、错误响应或通信异常等。这些问题通常可以通过正确配置Axis2服务端和客户端,以及处理...
请确保你的开发环境和目标运行环境都满足这个要求。 在提供的压缩包文件“webService服务接口方案”中,可能包含了具体的代码示例、配置文件和其他参考资料,这些都可以帮助你更好地理解和实践上述步骤。记得根据...
Axis2是Apache软件基金会开发的一个开放源码的Web服务平台,专门用于构建和部署Web服务。这个平台基于Java,提供了一种高效、灵活且可扩展的方式来处理Web服务生命周期的各个阶段,包括创建、部署和执行。Codegen...
在开始之前,确保已经安装了Java开发环境(JDK)及相应的开发工具,例如Eclipse或IntelliJ IDEA。此外,还需要下载Apache Axis及相关依赖库。 #### 二、创建Web项目 1. **打开开发工具**:启动Eclipse或IntelliJ ...
Axis是Apache软件基金会开发的一个开源工具,专门用于构建和部署Web服务,尤其在Java环境中广泛使用。本文将深入探讨 Axis 实现Web服务的详细过程和相关知识点。 1. Web服务基础: - SOAP(Simple Object Access ...
1. **安装JBuilder**:JBuilder是一款由Borland公司开发的Java集成开发环境(IDE),在本案例中用于创建WebService项目和服务。 2. **配置Axis库**:确保JBuilder中包含了Axis框架的所有必需库,如axis.jar、axis-...
在本教程中,我们将深入探讨如何使用C#开发WebService,并且讲解如何在Java环境中调用这些服务。教程资料主要包含"JavaWebService-master"这个文件夹,我们可以推测这可能是一个项目源码或教程步骤的目录。 首先,...
开发环境中,使用的是JDK1.6和Eclipse3.6作为Java环境,Visual Studio 2010作为.NET环境。值得注意的是,从VS2010开始,不再直接提供ASP.NET Web Services模板,但可以通过其他途径实现与VS2008相同的功能。 在实际...
下载并安装WebserviceStudio20后,运行该工具,界面通常会显示一个空白的SOAP请求模板。 - **配置Web服务地址** 在工具中输入Web服务的URL,这通常是WSdl文档的地址,例如`http://example.com/service?wsdl`。...