webservice的学习

任务要求:使用Xfire实现一个简单的“Hello, World”Web Services,作业应当包括相关的实现软件代码以及对应的WSDL。

环境搭建:MyEclipse 6.5,XFire 1.2.6,Tomcat 5.5

XFire下载地址:http://xfire.codehaus.org/Download,下载时选择Binary Distribution in zip package (xfire-distribution-1.2.6.zip),解压缩之后lib文件夹中包含了所有的jar文件。

Service创建

1、新建Service项目:File—New—Web Service Project,项目名称为“HelloWorldService”。在Framework中选择XFire,虽然已经废弃,但是可以导入自己下载的lib文件使用,然后Next—Next—Next—finish,均默认,则项目创建成功。

2、导入xfire的外部jar。将xfire解压缩后目录下\xfire-distribution-1.2.6\xfire-1.2.6\lib下所有jar以及\xfire-distribution-1.2.6\xfire-1.2.6下的xfire-all-1.2.6.jar,全部拷贝到项目文件夹\MyEclipse\HelloWorldService\WebRoot\WEB-INF\lib下。

3、创建Service类。src下新添一个package,名为“server”;server包下新建一个class,名为“Hello”,添加代码如下。该class实现一个简单的HelloWorld程序,带了一个字符串类型参数,返回一个字符串。

package server;

public class Hello {

public String sayHello(String name){

return "Hello World & Hello "+name;

}

}

4、创建Service。项目名称右键—New—Other—Web Services—Web Service,--Next。

在Strategy选择Create web service from java bean,--Next。

Service name也取为“HelloWorldService”,实现方式选择java bean implementation class only,Service impl.class则选择刚才创建的server.Hello,--Next--finish。

5、将上面创建的Service部署到tomcat中(如下图),启动tomcat server,在浏览器中输入http://localhost:8080/HelloWorldService/services/HelloWorldService?wsdl ,(分别代表服务器名称:端口号/项目名称/services/服务名称),则可以看到自动生成的wsdl文件。

以上的过程就是把服务器端做好了,接下来就要做客户端了。

客户端创建

1、客户端的配制以及调用有两种方法:一种是自动生成一些代码接口,然后直接调用;一种是手写一些方法来进行调用。手写代码之前,一定要把http client library 的包加进来,以及一些相应的xfile的核心包,包有以下几个:XFire 1.2 Core libraries,XFire1.2 HTTP Client libraries,XFire1.2 JaxB2 libraries。加入了以上的三个包以后,然后可以写一个测试的main方法来进行测试调用服务方法。

2、这里使用自动生成客户端的方法,先导入外部jar。项目右键---Properities—java bulid path----Libraries—add External JARs,把Xfire中lib包下的jar都导入。

3、创建一个新的Client项目:File—New—Web Service Project,项目名称为“HelloWorldClient”,Framework同样选择Xfire,--Next—Next—finish,注意在配置Library的时候,要勾上XFire 1.2 Core libraries,XFire1.2 HTTP Client libraries,XFire1.2 JaxB2 libraries这几个包,如下:

4、创建一个web service client:项目名称右键—New—Other—Web Services—Web Service Client—next—next,在WSDL URL下输入刚才http://localhost:8080/HelloWorldService /services/HelloWorldService?wsdl,然后next---finish。

5、客户端项目文件夹下自动生成出来了一些有用的接口, 一个方法一个接口, 就可以直接拿来用了。

在HelloWorldServiceClient的main方法中,调用下service中的SayHello方法:

String greet=service.sayHello("Feng");

System.out.println(greet);

运行结果如下:

Web Service构建和使用的整个流程大致这样,也比较简单。

时间: 2024-12-23 15:14:20

webservice的学习的相关文章

Android使用ksoap2-android调用WebService学习

转自 Android使用ksoap2-android调用WebService学习 之前主要做客户端UI交互,很少处理数据和接触服务端,但现在的移动设备根本不可能离得开网络连接,数据的交换.最近学习的是在android端如何去调用远程WebService,都说WebService是一种基于SOAP协议的远程调用标准,对于这个协议理解不深,知道webservice可以将不同操作系统平台.不同语言.不同技术整合到一块,android SDK没有直接调用webservice的库,最常用的是借助ksoap

[Python]webservice 学习(1) -- 简单服务和调用

由于项目中需要用到webservice来做接口,于是花点时间先做知识储备. 开始的时候觉着这个webservice就是一个http请求啊,服务端监听,客户端发送xml报文,然后解析下发送了什么内容,返回响应的数据. 这是百度百科对webservice的定义,一般使用wsdl来描述服务. 后来我的误区就是 wsdl的xml  和 用http 请求组成的xml也就是用soap来请求webservice, 这两种xml为啥不一样... 困惑: 看了些资料以后才明白,wsdl就是你发布的webservi

Android GIS +webservice

Android新手经典入门教程 Android开发教程(完全免费版) Android SDK v3.1.0 Android定位功能(一) Android定位功能(二) Android 百度地图开发(一)--- 申请API Key和在项目中显示百度地图 [019] Android平台调用WebService详解 Android 获取GPS位置,包含apn\wifi\gps Setting to update Android applications only if connected with W

WebService的几种验证方式

转 http://www.cnblogs.com/yoshiki1895/archive/2009/06/03/1495440.html WebService的几种验证方式 1.1      WebService设计 1.1.1   传输基本参数 1.1.2   传输数据集合 (1)     数组 (2)     DataSet 1.2      WebService异常处理 1.3      WebService性能 1.4      WebService认证 请参考WebService认证学

webServices学习一(了解基础和作用。)

一.第一部分 1.         带着几个问题学习: l    什么是WebService? l    它能做什么? l    为什么要学习WebService? l    学习WebService要达到什么目的? 答:WebService,顾名思义就是基于Web的服务.它使用Web(HTTP)方式,接收和响应外部系统的某种请求.从而实现远程调用. 我们可以调用互联网上查询天气信息Web服务,然后将它嵌入到我们的程序(C/S或B/S程序)当中来,当用户从我们的网点看到天气信息时,他会认为我们为

vs2012.net WebService简单的创建、使用、验证、发布后更改引用地址、web reference、service reference

工作中使用到较多的webservice,学习了一段时间,在这里总结一下在vs中使用webservice的过程和理解. 一 创建(服务器端)   在vs中穿件webservice是比较简单的.下面记录一下步骤. 步骤1:新建一个web项目,注意不能是类库. 步骤2:在新建的web项目上,添加新项--web服务: 自动生成的代码如下: /// <summary> /// WebService1 的摘要说明 /// </summary> [WebService(Namespace = &

2014年,拼命的一年

2014年,我的身份变了,不再是可以找各种借口的学生了,这一年,是有历史意义的一年. 翻了翻去年的一年总结,看了看这一年自己都学了些什么! SSH 首先应该从SSH开始说起,SSH部分,主要学习了Struts.Spring.Hibernate三个框架.从目前来看,SSH三大框架是JAVA的基础,有了这三个框架基本上你就可以做一些普通的开发工作了.大多数公司的java开发也是以这三个框架为主的.但是,自己现在学的只是如何使用,没有对源码进行深入的研究,这是这部分自己尚欠缺的地方,在工作之前,要拿出

Daily Scrum 12.5

今日完成任务: 对webservice进行学习,并将部分接口封装到webservice,没做完,明天继续.以便安卓组能够调用webservice的接口. 修复了大部分数据库改动后导致的异常,网站已可以运行. 遇到困难:时间挺紧!解决方案:提高效率,抓紧时间! 明日任务: 孙思权 将接口封装到webservice 黎柱金 外出 冯飘飘 调试文本输入框 晏旭瑞 实现资源功能 张磊 对修复后的网站测试异常 吕雨朗 对修复后的网站测试异常 杨昊岚 对修复后的网站测试异常 BurnDown: 这张燃尽图没

冲刺第八天(补发5.9日)

昨天做了什么:完成了socket和Webservice的学习,然后进行了一个天气预报的小程序,自己进行了一个服务器借口的创建,然后在写一个客户端连接借口,给服务器发送请求,然后从服务器获取结果,当服务器的信息被修改的时候,应该先将服务结束,然后再进行运行.最后,又用了一部分时间,测试了学习的服务器接口,获取信息 今天做了什么:由于我们的实现方法发生了变化,之前我负责数据库的建立,现在直接向学校的服务器进行访问,所以,我之前的任务取消,目前暂定的任务为APP图标的设计,教室情况图标设计,还有缓存界