利用Aixs2发布webservice服务
开发前准备:
1、Eclipse Java EE IDE(Juno Service Release 1),这个必须是for J2EE 的IDE,因为发布webservice的插件所需。
下载地址: http://www.eclipse.org/downloads/
2、Tomcat 。下载地址: http://tomcat.apache.org/download-60.cgi
3、开发webservice所需的框架Aixs2(我所使用的1.6.2版本),下载地址: http://mirror.bjtu.edu.cn/apache/axis/axis2/java/core/1.6.2 ,这里我下载的axis2-1.6.2-bin.zip。将其解压缩出来并放到Tomcat的webapps目录下。
4、发布webservice服务所需的插件axis2-eclipse-service-plugin-1.6.2.zip,同样在以上地址可以找到,将其解压缩出来,放到Eclipse的plugins目录下。如果启动了Eclipse,则需重启Eclipse才会生效。
准备工作完毕,开始开发webservice服务。
1、新建Java Project,新建类。
2、由于我发布的webservice服务引入了第三方的jar包,发布的时候老是提示找不到第三方jar包中类,思索再三终于找到原因,原来是要将第三方的jar包,解压缩至java工的输出路径下,下面是我所写的一个对工程进行编译,并将工程lib目录下的jar进行解压缩的Ant脚本(build.xml),可以根据个人实际情况进行修改。Ant使用这里就不讲述了 。
<?xml version="1.0" encoding="UTF-8"?>
<project name="yqinterface" basedir="." default="all">
<!-- 设置项目属性 -->
<property name="work.dir" location="C:\tomcat\webapps\aixs2" />
<property name="src.dir" location="." />
<property name="axis2.lib" location="../lib" />
<property name="classes.dir" location="../classes" />
<property name="lib.web.runtime.dir" value="${work.dir}/WEB-INF/lib" />
<!-- 设置classpath -->
<path id="classpath">
<fileset dir="${lib.web.runtime.dir}">
<include name="**/*.jar" />
</fileset>
<fileset dir="${axis2.lib}">
<include name="**/*.jar" />
</fileset>
</path>
<!-- 初始化 -->
<target name="init">
<echo>${ant.project.name} 初始化编译目录</echo>
<mkdir dir="${classes.dir}" />
</target>
<!-- 删除所有编译、打包生成的文件 -->
<target name="clean" depends="init">
<echo>${ant.project.name} 清空以前编译结果</echo>
<delete>
<fileset dir="${classes.dir}">
<include name="**" />
</fileset>
</delete>
</target>
<!-- 编译java文件 -->
<target name="compile" depends="clean">
<echo>${ant.project.name} 编译java文件</echo>
<javac debug="true" deprecation="true" destdir="${classes.dir}" srcdir="." encoding="gbk">
<classpath refid="classpath" />
</javac>
</target>
<!-- 生成MANIFEST.MF -->
<target name="manifest">
<echo>${ant.project.name} 生成MANIFEST.MF</echo>
<manifest file="${classes.dir}/MANIFEST.MF">
<attribute name="Implementation-Title" value="http://www.youngfriend.com.cn" />
</manifest>
</target>
<!-- 生成jar打包文件 -->
<target name="jar" depends="version,compile,unjar,manifest">
</target>
<!-- 解压包文件文件 -->
<target name="unjar" depends="init" description="unjar three part jar">
<unjar dest="${classes.dir}">
<!-- 包 件所在的目录 -->
<fileset dir="../lib">
<include name="**/*.jar" />
</fileset>
</unjar>
</target>
<!-- 生成版本信息 -->
<target name="changeversion">
<echo>${ant.project.name} 生成版本信息</echo>
<propertyfile file="version.properties" comment="version">
<entry key="project.version" type="int" default="000001" operation="+" pattern="000000" />
<entry key="project.complie.date" type="date" value="now" pattern="yyyyMMddHHmm" />
</propertyfile>
</target>
<!-- 修改版本文件 -->
<target name="version" depends="changeversion">
<echo>${ant.project.name} 修改版本文件</echo>
<property file="version.properties" />
<replaceregexp encoding="utf-8" match="" version="(.+)"" replace="" version="${project.version}.v${project.complie.date}"">
<fileset dir=".." includes="**/yfpublish.xml" />
</replaceregexp>
</target>
<!-- 做所有事情 -->
<target name="all" depends="jar" description="Build everything." />
</project>
3、发布webservice服务。
1、在所在工程右键New→Other,会看到如下界面
2、选择 Axis2 Service Archiver,会出现如下界面,这里选择的是工程的输出路径,eclipse默认是工程的bin目录下,这里我ant编译之后为classes目录。
3、一路Next。
3、点击Filish,至此发布完成。
1、Eclipse Java EE IDE(Juno Service Release 1),这个必须是for J2EE 的IDE,因为发布webservice的插件所需。
下载地址: http://www.eclipse.org/downloads/
2、Tomcat 。下载地址: http://tomcat.apache.org/download-60.cgi
3、开发webservice所需的框架Aixs2(我所使用的1.6.2版本),下载地址: http://mirror.bjtu.edu.cn/apache/axis/axis2/java/core/1.6.2 ,这里我下载的axis2-1.6.2-bin.zip。将其解压缩出来并放到Tomcat的webapps目录下。
4、发布webservice服务所需的插件axis2-eclipse-service-plugin-1.6.2.zip,同样在以上地址可以找到,将其解压缩出来,放到Eclipse的plugins目录下。如果启动了Eclipse,则需重启Eclipse才会生效。
准备工作完毕,开始开发webservice服务。
1、新建Java Project,新建类。
2、由于我发布的webservice服务引入了第三方的jar包,发布的时候老是提示找不到第三方jar包中类,思索再三终于找到原因,原来是要将第三方的jar包,解压缩至java工的输出路径下,下面是我所写的一个对工程进行编译,并将工程lib目录下的jar进行解压缩的Ant脚本(build.xml),可以根据个人实际情况进行修改。Ant使用这里就不讲述了 。
<?xml version="1.0" encoding="UTF-8"?>
<project name="yqinterface" basedir="." default="all">
<!-- 设置项目属性 -->
<property name="work.dir" location="C:\tomcat\webapps\aixs2" />
<property name="src.dir" location="." />
<property name="axis2.lib" location="../lib" />
<property name="classes.dir" location="../classes" />
<property name="lib.web.runtime.dir" value="${work.dir}/WEB-INF/lib" />
<!-- 设置classpath -->
<path id="classpath">
<fileset dir="${lib.web.runtime.dir}">
<include name="**/*.jar" />
</fileset>
<fileset dir="${axis2.lib}">
<include name="**/*.jar" />
</fileset>
</path>
<!-- 初始化 -->
<target name="init">
<echo>${ant.project.name} 初始化编译目录</echo>
<mkdir dir="${classes.dir}" />
</target>
<!-- 删除所有编译、打包生成的文件 -->
<target name="clean" depends="init">
<echo>${ant.project.name} 清空以前编译结果</echo>
<delete>
<fileset dir="${classes.dir}">
<include name="**" />
</fileset>
</delete>
</target>
<!-- 编译java文件 -->
<target name="compile" depends="clean">
<echo>${ant.project.name} 编译java文件</echo>
<javac debug="true" deprecation="true" destdir="${classes.dir}" srcdir="." encoding="gbk">
<classpath refid="classpath" />
</javac>
</target>
<!-- 生成MANIFEST.MF -->
<target name="manifest">
<echo>${ant.project.name} 生成MANIFEST.MF</echo>
<manifest file="${classes.dir}/MANIFEST.MF">
<attribute name="Implementation-Title" value="http://www.youngfriend.com.cn" />
</manifest>
</target>
<!-- 生成jar打包文件 -->
<target name="jar" depends="version,compile,unjar,manifest">
</target>
<!-- 解压包文件文件 -->
<target name="unjar" depends="init" description="unjar three part jar">
<unjar dest="${classes.dir}">
<!-- 包 件所在的目录 -->
<fileset dir="../lib">
<include name="**/*.jar" />
</fileset>
</unjar>
</target>
<!-- 生成版本信息 -->
<target name="changeversion">
<echo>${ant.project.name} 生成版本信息</echo>
<propertyfile file="version.properties" comment="version">
<entry key="project.version" type="int" default="000001" operation="+" pattern="000000" />
<entry key="project.complie.date" type="date" value="now" pattern="yyyyMMddHHmm" />
</propertyfile>
</target>
<!-- 修改版本文件 -->
<target name="version" depends="changeversion">
<echo>${ant.project.name} 修改版本文件</echo>
<property file="version.properties" />
<replaceregexp encoding="utf-8" match="" version="(.+)"" replace="" version="${project.version}.v${project.complie.date}"">
<fileset dir=".." includes="**/yfpublish.xml" />
</replaceregexp>
</target>
<!-- 做所有事情 -->
<target name="all" depends="jar" description="Build everything." />
</project>
3、发布webservice服务。
1、在所在工程右键New→Other,会看到如下界面
2、选择 Axis2 Service Archiver,会出现如下界面,这里选择的是工程的输出路径,eclipse默认是工程的bin目录下,这里我ant编译之后为classes目录。
3、一路Next。
3、点击Filish,至此发布完成。