本文主要目的是帮助了解何为Soap Web Service,通过这个教程,我们将要学习如何创建一个简单的具有加减乘除计算功能的 Web服务 ,并且创建web服务客户端对其进行访问,我们使用eclipse来完成该Web服务的开发。
相对于RESTful Web服务,Soap Web服务处理起来比较麻烦,如果使用notepad开发Soap Web 服务将是非常愚蠢的。
何为Web 服务
W3C对Web 服务的定义是:通过网络支持计算机之间交互协作的软件系统。Web Service是应用软件的一个接口,可能会有大量的网络用户和桌面用户使用同一个应用软件。假设WebService是一个类似的接口,该接口的服务对象不是用户而是其它应用软件。网络客户端作为软件的交互接口直接服务于终端用户,Web Service作为接口服务于软件开发人员,使用Web Service作为API,软件开发人员可以开发和该软件交互的其它系统。
Web服务主要有两个主要的分支:
1. SOAPWeb Service
2. RESTfulWeb Service
SOAP Web Service
简单对象访问协议(Sample Object Access Protocol, SOAP)是一种标准的基于XML的消息交换协议规范,使用XML消息进行客户端和Web Service之间的通信,SOAP定义了通信规则,比如XML所使用的标签及其意义。
RESTful Web Service
RESTful Web Service 使用基于HTTP或者类似协议的架构,通过HTTP的GET、POST、 PUT、DELETE等标准操作来限制接口交互。根据我个人的使用经验,RESTful开发起来更加容易,我知道这样可能会激怒SOAP的热爱者。
WSDL
Web Service的一个主要构成是Web服务的描述语言(Web Service Description Language, WSDL),它是一个机器可读的描述Web Service技术的XML文件,也就是,通过WSDL 文件我们可以了解:
- Port/Endpoint—Web Service的URL。
- 输入文件格式。
- 输出文件格式。
- 需要遵循的安全协议。
- Web Service所使用的协议。
本文是Web Service研究的入手点,有关Web Service仍然有太多的东西需要学习,然而理论学习总是枯燥的,配合实际的例子可以给我们的学习过程带来更多的乐趣。
简单计算器SOAP Web Service
顺便说一下,eclipse默认使用Apache的Axis来实施Web Service,并且在实施Web Service engine过程中为我们提供了许多选项供我们选择。
1. 创建动态的Web 工程
在eclipse中新建一个动态Web工程,输入工程名并且选择目标运行时环境(我选择的是Apache Tomcat 6.0),其它使用默认设置。
新建运行时环境
如果eclipse中没有运行时环境,可以点击NewRuntime并选择你所安装的Tomcat版本,点击next,此时选择Tomcat的路径,并点击finish完成。
2. 新建WebService Java类
在JavaResource的src目录下创建名一个包,并在该包下创建一个java类。
完整代码如下:
package com.sinoufc.www;
public classCalculateService {
/**
* 加法
* @param x 被加数
* @param y 加数
* @return x和y的和
*/
public float add(float x, float y){
return x + y;
}
/**
* 减法
* @param x 被减数
* @param y 减数
* @return x和y的差
*/
public float sub(float x, float y){
return x - y;
}
/**
* 乘法
* @param x 被乘数
* @param y 乘数
* @return x和y的积
*/
public float mul(float x, float y){
return x * y;
}
/**
* 除法
* @param x 被除数
* @param y 除数
* @return x和y的商
*/
public float div(float x, float y){
return x / y;
}
}
3. 创建WebService
现在我们已经将服务类写好,下面我们将使用该服务类创建一个WebService。
右击JavaResource,新建->WebService。点击next。
选择服务实施
在下面的窗口中点击browse按钮,并选择我们已经写好的java类,然后将服务和客户端中的互动条拖到最顶端,点击允许Publish the Web Service。
创建WebService客户端
在配置服务实施的过程中,我们也指导生成了一个WebService客户端,这将会为WebService创建一个动态的web工程,并创建一个WebService客户端。此外,我们也可以创建一个java工程,书写一个客户端来访问该Web 服务。
部署WebService和客户端
点击next进入下一步,并点击startserver启动运行时环境Tomcat。
4 测试WebService
我们可以使用WebService客户端测试Web 服务,为此我们需要创建WebService应用,前面我们将服务配置中的滑动条拖到最顶端会创建一个web 服务客户端应用。
此外Eclipse提供了WebService Explorer,使用它我们可以方便快捷的测试Web服务。
点击next直至完成,页面会出现下面的测试界面。
注:service的配置中滑动条一定要拖到最顶端,不然会出现500错误,至于为什么会出现这样的错误还不太清楚,需要后面继续研究解决。