A. 环境准备
a. Eclipse 3.2.2
b. MyEclipse 5.5m2
c. Axis 2.1.1 War包 http://ftp.wayne.edu/apache/ws/axis2/1_1_1/axis2.war
d. Axis Eclipse plug-in(代码生成工具和打包工具):
http://apache.justdn.org/ws/axis2/tools/1_1_1/axis2-eclipse-codegen-wizard.zip
http://apache.justdn.org/ws/axis2/tools/1_1_1/axis2-eclipse-service-archiver-wizard.zip
B. 开发步骤
a. 创建一个web项目,名称为hello
b. 生成wsdl文件
打开MyEclipse的web service中的wsdl向导
文件名为hello.wdsl,下一步
目标地址为http://www.oksonic.cn/hello/,其它为默认,完成
修改hello.wsdl文件为以下格式
C. 根据wsdl文件生成客户端java代码
使用Ctrl + N 打开Axis Wizards中的Axis2 Code Generator
使用默认的第一项,下一步
选择生成的hello.wsdl文件D:/oksonic/workspace/hello/src/hello.wsdl,下一步
参照下图进行配置
解压Axis 2.1.1 文件到C盘,然后参照下图进行配置
将加入进来的lib目录移到WEB-INF目录下,刷新一下项目就可以看到生成的代码了。
D. 根据wsdl文件生成服务端java代码
使用Ctrl + N 打开Axis Wizards中的Axis2 Code Generator
使用默认的第一项,下一步
选择生成的hello.wsdl文件D:/oksonic/workspace/hello/src/hello.wsdl,下一步
参照下图进行配置
下一步
E. 修改HelloSkeleton代码,内容如下:
package org.example.www.hello;
public class HelloSkeleton {
public org.example.www.hello.HelloResponse hello( org.example.www.hello.Hello param0) { try { HelloResponse response = new HelloResponse(); response.setOut(param0.getIn() + "欢迎你的到来!"); return response; } catch (UnsupportedOperationException e) { throw e; } } } |
F. 发布项目
1. 打开Axis2的向导,选择Axis2 Service Archiver
2. 选择class文件所在的目录,如:D:/oksonic/workspace/hello/WebRoot/WEB-INF/classes
3. 选择项目中resources目录下的hello.wsdl文件如:D:/oksonic/workspace/hello/resources/hello.wsdl
4. 跳过一下步,这里选择resources目录下的service.xml文件如:D:/oksonic/workspace/hello/resources/services.xml
5. 这一步是输出一个jar文件或是aar都可以,上面是输出路径,下面是文件名,如:C:/Documents and Settings/Administrator/桌面,Hello.jar
6. 将axis 2.1.1 .war文件拷贝到tomcat安装路径下的webapps目录下,这里可以选择启动tomcat来解开axis2.1.1.war,也可以直接将文件改名为zip后解压,解压后的文件夹名称为axis2,然后将Hello.jar拷贝到asix2.1.1/WEB-INF/service目录下
G. 测试
启动tomcat服务,打开IE在地址栏中输入http://localhost/axis2,进入页面后点击Services链接,在下一个页面中将会看到hello服务的链接,点开此链接就可以看到服务信息了。
接下来使用客户端测试代码进行测试,修改HelloTest.java文件中的testHello方法,内容如下:
public void testHello() throws java.lang.Exception { String url = "http://localhost/axis2/services/Hello"; HelloStub stub = new HelloStub(url); Hello hello = (Hello) getTestObject(Hello.class); hello.setIn("oksonic"); System.out.println(stub.Hello(hello).getOut()); assertNotNull(stub.Hello(hello)); } |
这里使用到了Junit,所以还需要将Junit的jar包加到项目中
为了制作更多更好的录像教程,希望大家多多提供相关资料!!!