WebService学习初探

一、什么是WebService

WebService也叫XML Web Service WebService,它是基于Web的服务,也就是说让服务器端整出一些资源,暴露接口让客户端应用访问,抽象上来说是一个跨语言、跨平台的规范,实际应用上是多个跨平台、跨语言的应用间通信整合的方案。

比如hao123,123456等门户网站提供的天气预报查看功能,hao123不可能自己做一个天气预报的系统,肯定是由气象中心的管理系统将收集的天气信息并将数据暴露出来(通过WebService Server),而各大站点的应用就去调用它们得到天气信息并以不同的样式去展示(WebService Client)。网站提供了天气预报的服务,但其实这些门户网站什么也没有做,只是简单了调用了一下气象中心服务器上的一段代码而已。

WebService学习初探的照片 - 1

所谓跨语言:不同的系统可能使用不同开发语言,像天气预报的系统,你不知道开发这个系统使用的哪种技术,有可能是Java,有可能是php,也有可能是PHP,假如天气预报的系统使用PHP开发,您的应用程序使用的是Java语言,那你要怎么去掉用使用PHP开发的天气预报的系统呢?难道直接去访问天气预报页面吗?那肯定不行,这时候就要使用WebService技术,调用天气预报系统服务端用来展示天气信息的代码,取回来之后在门户网显示。

WebService学习初探的照片 - 3

二、为什么要使用WebService

WebService能解决跨平台调用,跨语言调用,远程调用。如上图。

三、什么时候使用WebService

♦同一家公司的新旧应用之间
♦不同公司的应用之间
♦一些提供数据的内容聚合应用:天气预报、股票行情,今日财经等等

四、WebService的几个重要术语

WSDL(Web Service Definition Language):WebService定义语言

对应一种类型.wsdl的文件,定义了WebService的服务器端与客户端应用交互传递请求和响应数据的格式和方式,一个WebService对应一个唯一的wsdl文档。

SOAP(Simple Object Access Protocal):简单对象传输协议

是一种简单的、基于HTTP和XML的协议,,用于在WEB上交换结构化的数据。

SEI(WebService EndPoint Interface):WebService 终端接口

是WebService服务器端用来处理请求的接口。

CXF(Celtix + XFire)

一个Apache的用于开发WebService 服务器端和客户端的框架

UDDI (Universal Description Discovery and Integration)

是一个主要针对Web服务供应商和使用者的新项目。在用户能够调用Web服务之前,必须确定这个服务内包含哪些商务方法,找到被调用的接口定义,还要在服务端来编制软件,UDDI是一种根据描述文档来引导系统查找相应服务的机制。UDDI利用SOAP消息机制(标准的XML/HTTP)来发布,编辑,浏览以及查找注册信息。它采用XML格式来封装各种不同类型的数据,并且发送到注册中心或者由注册中心来返回需要的数据。

五、WebService简单调用

找到提供电子邮件地址验证的WebService网络地址

地址:http://www.webxml.com.cn/WebServices/ValidateEmailWebService.asmx

♦使用Eclipse提供的WebService浏览器访问一下,测试是否可用

WebService学习初探的照片 - 5

ValidateEmailAddress:验证 Email 地址是否正确,输入参数:EmailAddress = Email 地址(默认SMTP端口25),返回数据: Byte 字节。返回值: 0 = 请重新验证;1 = 邮件地址合法;2 = 只是域名正确;3 = 一个未知错误;4 = 邮件服务器没有找到;5 = 电子邮件地址错误;6 = 免费用户验证超过数量(50次/24小时);7 = 商业用户不能通过验证。

♦客户端编码方式访问

借助命令工具自动生成客户端代码;借助生成的代码编写请求代码

浏览器访问地址:http://www.webxml.com.cn/WebServices/ValidateEmailWebService.asmx?WSDL

查看源文件,将源码保存到本地生成一个.wsdl结尾的文件。

将生成的文件,放到新建的Java工程目录下面,如图:

WebService学习初探的照片 - 7

进入cmd窗口,使用命令生成客户端代码:

wsimport -keep E:\NewWork\ValidateEmailClient\src\ValidateEmailWebService.wsdl

WebService学习初探的照片 - 9

然后刷新工程,生成了客户端代码

WebService学习初探的照片 - 11

接下来,我们来写一段调用的类

package cn.com.client;

import cn.com.webxml.ValidateEmailWebService;
import cn.com.webxml.ValidateEmailWebServiceSoap;

/**
 * 
 * @author queen
 * @since 2017-06-25
 */
public class ValidateEmailClient {

	public static void main(String[] args) {
		ValidateEmailWebService validateEmailWebService = new ValidateEmailWebService();
		ValidateEmailWebServiceSoap validateEmailWebServiceSoap = validateEmailWebService
				.getValidateEmailWebServiceSoap();
		//1:邮件地址合法 2:只是域名正确,返回值判断
		short validateFlag0 = validateEmailWebServiceSoap
				.validateEmailAddress("153368376@qq.com");
		
		System.out.println(validateFlag0);

		short validateFlag1 = validateEmailWebServiceSoap
				.validateEmailAddress("1533683767r77@qq.com");
		System.out.println(validateFlag1);
	}

}

 输入您想要验证的邮箱,就可以测试接口啦。

注意:博主在实践的过程中出现了“wsimport不是内部或外部命令”报错,如果您也出现了,请你可以参照这篇文章《wsimport不是内部或外部命令》解决您的问题。

博文地址:http://www.marsitman.com/webservice/what_is_webservice.html

版权声明:本文为博主原创文章,允许转载,但转载必须标明出处。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在信号处理领域,DOA(Direction of Arrival)估计是一项关键技术,主要用于确定多个信号源到达接收阵列的方向。本文将详细探讨三种ESPRIT(Estimation of Signal Parameters via Rotational Invariance Techniques)算法在DOA估计中的实现,以及它们在MATLAB环境中的具体应用。 ESPRIT算法是由Paul Kailath等人于1986年提出的,其核心思想是利用阵列数据的旋转不变性来估计信号源的角度。这种算法相比传统的 MUSIC(Multiple Signal Classification)算法具有较低的计算复杂度,且无需进行特征值分解,因此在实际应用中颇具优势。 1. 普通ESPRIT算法 普通ESPRIT算法分为两个主要步骤:构造等效旋转不变系统和估计角度。通过空间平移(如延时)构建两个子阵列,使得它们之间的关系具有旋转不变性。然后,通过对子阵列数据进行最小二乘拟合,可以得到信号源的角频率估计,进一步转换为DOA估计。 2. 常规ESPRIT算法实现 在描述中提到的`common_esprit_method1.m`和`common_esprit_method2.m`是两种不同的普通ESPRIT算法实现。它们可能在实现细节上略有差异,比如选择子阵列的方式、参数估计的策略等。MATLAB代码通常会包含预处理步骤(如数据归一化)、子阵列构造、旋转不变性矩阵的建立、最小二乘估计等部分。通过运行这两个文件,可以比较它们在估计精度和计算效率上的异同。 3. TLS_ESPRIT算法 TLS(Total Least Squares)ESPRIT是对普通ESPRIT的优化,它考虑了数据噪声的影响,提高了估计的稳健性。在TLS_ESPRIT算法中,不假设数据噪声是高斯白噪声,而是采用总最小二乘准则来拟合数据。这使得算法在噪声环境下表现更优。`TLS_esprit.m`文件应该包含了TLS_ESPRIT算法的完整实现,包括TLS估计的步骤和旋转不变性矩阵的改进处理。 在实际应用中,选择合适的ESPRIT变体取决于系统条件,例如噪声水平、信号质量以及计算资源。通过MATLAB实现,研究者和工程师可以方便地比较不同算法的效果,并根据需要进行调整和优化。同时,这些代码也为教学和学习DOA估计提供了一个直观的平台,有助于深入理解ESPRIT算法的工作原理。
Web服务(Web Services)是一种基于Web的软件系统,用于支持机器之间的交互式机器通信。Web服务基于开放的标准和协议,如XML, SOAP, WSDL和UDDI等,这些标准和协议使得Web服务可以在不同的平台和编程语言之间进行交互。Web服务架构通常包括三个主要组件:服务提供者、服务请求者和服务注册中心。 学习WebService需要掌握以下几个方面: 1. XML和SOAP Web服务使用XML作为数据交换格式,SOAP作为传输协议。因此,学习WebService需要掌握XML和SOAP的基本知识,了解XML文档的结构、语法和DTD、Schema等相关规范。同时,需要掌握SOAP协议的基本结构、消息格式和传输方式等内容。 2. WSDL WSDL(Web Services Description Language)是Web服务的描述语言,用于描述Web服务的接口、参数返回值等信息。学习WebService需要掌握WSDL的基本语法、结构和元素等内容,了解如何使用WSDL来描述Web服务。 3. UDDI UDDI(Universal Description, Discovery, and Integration)是Web服务的注册中心,用于注册、发布和查找Web服务。学习WebService需要了解UDDI的基本原理、功能和使用方法,掌握如何使用UDDI来注册和查找Web服务。 4. Web服务框架 Web服务框架是实现Web服务的一种技术,常用的Web服务框架包括Apache Axis、Apache CXF、Spring Web Services等。学习WebService需要了解这些框架的特点、使用方法和配置方式,了解如何使用这些框架来实现Web服务。 总之,学习WebService需要掌握XML和SOAP的基本知识、WSDL的语法和结构、UDDI的原理和使用方法,以及Web服务框架的特点和使用方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值