[JavaWeb基础] 027.JAVA中使用Axis搭建webservice-示例实现(二)
在上面的一个文章中,我们介绍了如何搭建Axis2的环境,也就是在MyEclipse中加入Axis的开发插件,那么,准备工作做好了之后,下面我们就用上一章的工具去搭建一个WebService的简单例子。
1.创建一个Java web project,这个就不详细描述了。
2.创建一个WSDL
3.生成代码
4.生成完代码的目录结构如下
5.修改SayHelloSkeleton代码
/** * SayHelloSkeleton.java * * This file was auto-generated from WSDL * by the Apache Axis2 version: 1.4 Built on : Apr 26, 2008 (06:24:30 EDT) */ package org.example.www.sayhello.server; import org.example.www.sayhello.SayHello; import org.example.www.sayhello.SayHelloResponse; /** * SayHelloSkeleton java skeleton for the axisService */ public class SayHelloSkeleton { /** * Auto generated method signature * * @param sayHello */ public org.example.www.sayhello.SayHelloResponse SayHello( org.example.www.sayhello.SayHello sayHello) { try{ SayHelloResponse response = new SayHelloResponse(); response.setOut("Hi," + sayHello.getIn() + ".How are you?"); return response; } catch (UnsupportedOperationException e){ throw e; } } }
6.打包
A.选择菜单“ File->New->Other”,从对话框中选取“ Axis2 Wizards”下面的“ Axis2 Services Archive”.点击“ Next”进入下一个页面 。
B.选择编译好的 class文件所在目录(本项目应该是 WebRoot下面 WEB-INF/classes),“ Next”进入下一步。
C.选择 WSDL文件所在目录,此处为 src目录下的 SayHello.wsdl文件。“ Next”,再“ Next”。选择 services.xml文件。
D.点击“ Next”,将记入最后一个页面,此处有两个选项,一个是输出目录一个是处处文件名称。这里的输出文件名称给的是 SayHello。点击“ Finish”完成。
7.部署
A.将打包好的文件 SayHello.jar拷贝到 Tomcat中已经部署的 Axis2应用的 WEB-INF/services目录下面。
B.重新启动 Tomcat。
C.打开浏览器,输入 http://127.0.0.1:8080/axis2 ,并点击其中的“ services”链接可以看到 SayHello已经被部署。点击 SayHello提供的连接可以看到与之对应的 WSDL。
8.测试
package org.example.www.sayhello.test; public class SayHelloTest { public static void testSayHello() throws java.lang.Exception { String url = "http://localhost:8080/axis2/services/SayHello"; org.example.www.sayhello.SayHelloStub stub = new org.example.www.sayhello.SayHelloStub(url); org.example.www.sayhello.SayHelloStub.SayHello request = new org.example.www.sayhello.SayHelloStub.SayHello(); request.setIn("Sally"); System.out.println(stub.SayHello(request).getOut()); } public static void main(String[] args) { try { testSayHello(); } catch (Exception e) { e.printStackTrace(); } } }
本站文章为 宝宝巴士 SD.Team 原创,转载务必在明显处注明:(作者官方网站: 宝宝巴士 )
转载自【宝宝巴士SuperDo团队】 原文链接: http://www.cnblogs.com/superdo/p/4952259.html