Axis开发之工业化-ant使用
Axis为支持Ant构建,提供了一个axis-ant.jar文件。该文件包含三个可选任务(task)的定义和实现:axis-wsdl2java,axis-java2wsdl和axis-admin。
1) 任务axis-wsdl2java与Axis提供的工具WSDL2Java具有同样的功能,根据web服务描述文件生成对应的Java源程序,它的属性设置与WSDL2Java的命令参数设置类似。
2) 任务axis-java2wsdl则相反,它与Java2WSDL工具一样,是根据已有的类文件来生成Web服务描述文件。
3) axis-admin是用于web服务的部署和取消部署的,对应于Axis的AminClient工具。
为了使用ant来建构,首先需要将axis-ant.jar包拷贝到ant的lib目录下。
一、下面是详细的步骤,列了一个1,2,3,4,5,看起来清楚一些
1. 用<taskdef>声明导入axis-ant.jar文件中的属性文件所定义的任务(task)列表。
<taskdef resource="axis-tasks.properties" classpathref="axis.classpath"/>
|
2. 把axis的包都导进来
<property name="axis.home" value="G:/package/axis-1_3"/>
<!--定义classpath-->
<path id="axis.classpath">
<!—-这里导入的是axis的所有包-->
<fileset dir="${axis.home}/lib">
<include name="**/*.jar" />
</fileset>
<!—-
这里导入的是javamail的包,如果web服务有附件的时候要用到,如果没有包含进来会有一个警告
-->
<fileset dir="G:/workpackage/j2ee">
<include name="**/*.jar" />
</fileset>
<!—-其他的包-->
<fileset dir="${basedir}">
<include name="other.jar" />
</fileset>
</path>
|
3. 生成web描述文件和根据描述文件生成java源程序
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
<target name="axis" depends="init">
<axis-java2wsdl
classname="net.wide.axis.service.SimpleObjectCreator" location="http://localhost:8080/axis/services/SimpleObjectCreator"
namespace="service.axis.wide.net"
output="simpleObject.wsdl"
style="RPC"
extraclasses="net.wide.axis.bean.SimpleObject"
/>
<axis-wsdl2java all="true"
url="simpleObject.wsdl"
deployscope="Request"
output="${basedir}/src"
serverside="true"
skeletondeploy="false"
testcase="true"
noimports="false"
typemappingversion="1.2"/>
</target>
|
3行:我们要发布的web服务接口,需要先定义这个接口,如果是一个具体的类,下面用axis-wsdl2java来生成java文件的时候,会生成该接口和他的实现文件。
4行:web服务发布的位置
5行:namespace,这一行用红字标出来,是要注意的,“service.axis.wide.net”,跟我的包结构刚好倒过来,当用axis-wsdl2java来生成java文件的时候,包结构就是“net.wide.axis.service”。
6行:生成的webservice描述文件,axis-wsdl2java正是用他来生成java文件的
4. 将生成的java文件编译,解下就是部署