Axis2开发webservice总结
1 Web服务接口
关于本章
本章描述内容如下表所示。
标题 | 内容 |
1.1 Web Service技术 | 介绍Web Service技术。 |
1.1 Web Service技术
1.1.1 Web Service消息内容遵循的标准
l SOAP
所有Web Service消息符合WS-I基本纲要(WS-I Basic Profile Version 1.0:"Final Material")的SOAP使用定义。
编码方式为:“document/literal”。
发起业务请求时,在SOAP HEADER里设置timeStamp、sendAddress、platType、provType、TID、version、callerSID、providerSID、providerEID、providerECID、providerIFName、UID、callingType参数,然后在服务器端提取参数,进行相应处理。
l XML
所有Web Service消息符合WS-I基本纲要(WS-I Basic Profile Version 1.0:"Final Material")的XML使用定义。
l HTTP
所有Web Service消息符合WS-I基本纲要(WS-I Basic Profile Version 1.0:"Final Material")的HTTP使用定义。
2 开发流程
关于本章
本章描述内容如下表所示。
标题 | 内容 |
2.1开发前的准备 | 介绍在开发业务实例前的准备工作。 |
2.2通过编写JAVA类文件生成WSDL文件。 | 介绍怎么通过编写JAVA类文件生成WSDL文件。 |
2.3客户端业务开发实例 | 介绍向用户开发helloword。 |
2.1 开发前的准备工作
2.1.1 PC机配置要求
选择一台PC机作为开发平台。PC机的最低配置要求如表2-1所示。
表2-1 PC机最低配置要求表
配置 | 说明 |
操作系统 | l Windows 2000 Server SP4 l Windows XP SP2 |
浏览器 | IE6.0 |
CPU | P4 1.8GHz |
内存 | 512MB |
硬盘 | 10GB |
2.1.2 工具下载
在以下提供的工具下载页面中找到指定的下载链接,下载各个工具,并将其安装在C:/Program Files下。
JDK1.5
l JDK1.5下载页面。
http://java.sun.com/javase/downloads/index_jdk5.jsp
l jdk-1_5_0_13-windows-i586-p.exe下载链接。
http://192.18.108.145/ECom/EComTicketServlet/BEGINA3B0EEAA08A312C1FAEC55BAC2297BBB/-2147483648/2402513439/1/852050/851882/2402513439/2ts+/westCoastFSEND/jdk-1.5.0_13-oth-JPR/jdk-1.5.0_13-oth-JPR:3/jdk-1_5_0_13-windows-i586-p.exe
l 安装JDK。
双击jdk-1_5_0_13-windows-i586-p.exe按照默认配置安装JDK1.5。
Eclipse(开发环境)
l Eclipse下载页面。
http://www.eclipse.org/downloads
l eclipse-SDK-3.3.1-win32.zip下载链接。http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops/R-3.3.1-200709211145/eclipse-SDK-3.3.1-win32.zip&url=http://download.actuatechina.com/eclipse/eclipse/downloads/drops/R-3.3.1-200709211145/eclipse-SDK-3.3.1-win32.zip&mirror_id=385
l 安装Eclipse。
解压缩eclipse-SDK-3.3.1-win32.zip即可(不需安装)。
Tomcat(Web服务器)
l Tomcat6.0下载页面。
http://tomcat.apache.org/download-60.cgi
l apache-tomcat-6.0.14.zip下载链接。
http://apache.mirror.phpchina.com/tomcat/tomcat-6/v6.0.14/bin/apache-tomcat-6.0.14.zip
l 安装Tomcat。
解压缩apache-tomcat-6.0.14.zip即可(不需安装)。
AXIS(SOAP引擎)
l AXIS2下载页面。
http://ws.apache.org/axis2/download.cgi
l axis2-1.4-bin.zip下载链接。
http://apache.mirror.phpchina.com/ws/axis2/1_4/axis2-1.4-bin.zip
l axis2-1.4-war.zip下载链接。
http://apache.mirror.phpchina.com/ws/axis2/1_4/axis2-1.4-war.zip
l 安装AXIS。
解压缩axis2-1.4-bin.zip和axis2-1.4-war.zip即可(不需安装)。
2.1.3 环境变量配置
按照如下步骤配置JAVA_HOME和AXIS2_HOME环境变量。
步骤 1 右键单击“我的电脑”。
步骤 2 选择“属性”。
步骤 3 单击“高级”页签。
如图2-1所示。
图2-1 系统属性
步骤 4 在图2-1中单击“环境变量”。
步骤 5 增加系统变量JAVA_HOME,变量值为JDK安装目录。
如图2-2所示。
图2-2 新建JAVA_HOME系统变量
步骤 6 增加系统变量CLASSPATH。
l 变量名:
CLASSPATH
l 变量值:
%JAVA_HOME%/lib;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar
步骤 7 在Path系统环境变量中增加axis2-1.4的bin目录,单击“确定”。
如图2-3所示。
图2-3 编辑Path系统环境变量
l 在设置环境变量的值时,新增的环境变量值与已存在的环境变量值之间用“;”隔开。
l 其中D:/axis2-1.4/bin需要根据实际情况设置。
步骤 8 单击编辑用户变量界面里的“确定”。
步骤 9 环境变量界面里的“确定”
---结束
2.1.4 解压缩axis2
具体操作步骤如下。
步骤 1 解压缩axis2-1.4-war.zip。
步骤 2 将axis2.war拷贝到%TOME_HOME%/webapps目录下。
步骤 3 双击%TOME_HOME%/bin/startup.bat,启动Tomcat服务器。
----结束
启动过程会自动将axis2.war解压缩,在%TOME_HOME%/webapps 下生成axis2目录。
2.2 通过JAVA生成WSDL文件
2.2.1 写java类
步骤 1 在Eclipse中新建一个java工程。
步骤 2 单击“file > new > java>project”。如图2-4所示。
图2-4 新建java工程
步骤 3 输入工程名,其他默认,单击“finish”。如图2-5所示。
图2-5 输入工程名
步骤4 生成类 hello.java
步骤 4 根据接口文件在类中写方法和参数,如图2-9所示。
图2-6 类中写的方法和参数
2.2.2 使用AXIS2的工具生成wsdl文件
步骤 1 拷贝生成的java文件的.class文件。需要拷贝bin目录下面所有的包,如图2-10所示。
步骤 2 复制到axis2的bin目录下,如图2-11所示。
图2-7 axis2的bin目录
使用java2WSDL命令将“Hello.class”转化为“Hello.wsdl”文件。如图2-13所示。
图2-8 转化文件
生成的wsdl文件如下:
l 使用全路径。
l 中间的–of,–cn等字符请参照本地的系统所给的命令,可以执行java2WSDL命令查看。
----结束
2.2.3 修改WSDL文件使其符合规范
查看规范的wsdl文件,将命名空间统一,按照规范wsdl中的标准来修改。
2.3 客户端业务开发实例
2.3.1 使用工具将wsdl文件生成java源码
使用工具按照如下步骤将wsdl文件生成java源码。
步骤 1 运行cmd,进入命令行控制台,进入axis2的bin目录下,如图2-25所示。
步骤 2 使用“WSDL2java.bat”生成一个客户端WSDL2java.bat -uri,如图2-26所示。
图2-9 客户端源码
步骤 3 可以看到bin目录下产生了一个src文件夹,准备将其导入到eclipse工程中,如图2-27所示。
图2-10 Src文件夹
步骤 4 在eclipse中创建一个普通的java工程,操作步骤为单击“file > new > javaproject”,如图2-28所示。
图2-11 创建java工程
步骤 5 创建名为hello_clint的工程
步骤 6 点开新建的工程,可以看到工程下的库和一个源文件夹,导入axis2所需的jar包。
如下图:
----结束
2.4 生成服务端代码
2.4.1 安装配置必要工具
一些必要工具的安装,配置具体步骤如下。
步骤 1 获得一个tomcat安装包和axis2-1.4-war.zip。
步骤 2 安装tomcat,解压axis2-1.4-war.zip到%TOMCAT_HOME%/webapps目录下。
步骤 3 双击% TOMCAT _HOME%/bin/startup.bat,启动Tomcat服务器。
步骤 4 启动后看是否在% TOMCAT _HOME%/webapps下生成了axis2目录,如生成则说明axis2安装成功。
2.4.2 生成服务端源代码
生成服务端源代码的具体步骤如下。
步骤 1 参见2.3.1 步骤 1。
步骤 2 使用WSDL2java.bat -uri weatherInfoNotify.wsdl –ss –sd生成服务端代码。
步骤 3 能在bin目录下看到新增了src和resources文件夹。
新增的文件夹会覆盖以前的src文件夹,请备份以前的文件夹。
步骤 4 参见2.3.1 步骤 4在eclipse中创建一个普通的java工程,操作步骤为单击“file > new > javaproject”,如图2-28所示。
步骤 5 参见2.3.1 步骤 5,把名字命名为hello_server。
步骤 6 参见2.3.1 步骤 6,和2.3.1 步骤 8,完成后如图2-37所示
图2-12 生成代码
其中HelloSkeleton.java为业务代码实现类,需要重写实现方法。
----结束
2.4.3 将服务端导出并发布到tomcat上
步骤 1 将工程导出为一个xxx.aar包(本例为hello.aar),放到% TOMCAT _HOME%/webapps/axis2/WEB-INF/services中,如图2-39 所示。
步骤 2 选中axis2的bin目录下的resources文件夹中的services.xml文件。
步骤 3 将选中文件放到weather.aar包中的META-INF目录下
点击hello_server build.xml文件生成hello.aar包,将工程文件中的service.xml替换hello.aar包中/ /META-INF中的service.xml。
然后放在 $tomcat_home/ /webapps/axis2/WEB-INF/services目录下,然后启动tomcat.
Hello.aar位置如图所示:
启动tomcat 如图所示,表示发布成功
2.5 简单调测
请参考如下操作简单调试发布的内容
步骤 1 单击eclipse客户端工程中的Test.class类,如图2-46所示。
图2-13 Test.class类
3 心得
3.1 编写wsdl文件
3.1.1 修改wsdl文件
利用wsdl文件通过
WSDL2java.bat -uri hello.wsdl –ss –sd生成服务端代码。
WSDL2java.bat -uri hello.wsdl 客户端代码。
3.1.2 修改生成的服务端代码
生成的骨架代码为业务实现方法,需要重写实现方法 类名为 *.Skeleton.java
3.1.3 发布 *.aar包
通过 服务端代码build.xml生成 aar包,将 工程目录recourse/service.xml 替换 /build/lib/*.aar包中的service.xml文件。然后copy到tomcat目录 //webapps/axis2/WEB-INF/services 下。