WebService学习

本文介绍了WebService的基本概念,它是基于XML+HTTP的跨平台远程调用技术。讨论了构成WebService平台的三大技术:XML、SOAP和WSDL。接着详细阐述了使用JDK、Servlet和监听器三种方式发布WebService的步骤,包括遇到的错误及解决方法。最后,讲解了如何生成和使用WebService客户端,并指出在实际开发中将客户端打包为jar包供其他系统使用的重要性。
摘要由CSDN通过智能技术生成
WebService概念
WebService是一种跨编程语言和跨操作系统平台的远程调用技术。
Web Services 可以将应用程序转换为网络应用程序,即可以向别人提供某项功能。
基础的 Web Services 平台是 XML + HTTP。WebService采用HTTP协议传输数据,采用XML格式封装数据(即XML中说明调用远程服务对象的哪个方法,传递的参数是什么,以及服务对象的 返回结果是什么)。
HTTP 协议是最常用的因特网协议。
XML 提供了一种可用于不同的平台和编程语言之间的语言。
XML+XSD,SOAP和WSDL就是构成WebService平台的三大技术。
SOAP协议(简单对象访问协议)= HTTP协议 + XML数据格式
WSDL (Web Services Description Language)就是这样一个基于XML的语言,用于描述Web Service及其函数、参数和返回值。XSD是指XML结构定义 ( XML Schemas Definition )
XML Schema 是DTD的替代品。XML Schema语言也就是XSD。XML Schema描述了XML文档的结构。
WebService实操
WebService发布
1、使用jdk发布WebService。如图:

上图是接口。

上图是实现类。

上图是发布类。直接将此类运行,让其挂着即可。
2、使用servlet发布WebService。
新建一个servlet文件,如图

第一行是servlet初始化配置参数,可以在这里配置,也可以去web.xml文件中配置。其中loadOnStart属性配置0或者大于0的数字,否则web服务器初始化的时候,不会创建该servlet的实例。创建好了servlet就去web.xml文件中把servlet注册好,如图:

接口类和之前的一样,实现类要新加一个注解,如图:

这个注解我也不知道什么意思,但是不加就会报一个很恶心的错误。之后将项目部署运行即可。
3、使用监听器发布WebService。
之前两种方法发布了webservice后,代码也不用修改,直接创建一个监听器,如图:

然后将Web应用部署到服务器运行时,在初始化Web应用上下文时,就会发布WebService了。
出现的错误

错误说某某方法找不到, 网上查了很久(有高手指点就是一句话的事),又是说jdk版本需要升级到6以上,又是说需要什么什么jar的支持,全是扯淡。我自己发现就是接口的实现了少了注解,如图

WebService客户端开发
webservice已经发布好了,那么就要让别人远程调用。首先我们要 获取WebService地址,如图:

这里需要说一下,我此时的开发环境是:myecplise2017,jdk8。额,除此之外,别的东西都不需要了,我只能说现在的开发工具真的是很方便,当初我做实习生的时候还要用到cxf框架什么的,麻烦死了,感觉也意思不大。
根据WebService地址生成客户端,如图:
new>other>Webservice

上图是创建一个WebService项目,图中可以看到两个WebService,但是要注意是这一个。

填好了就点击next。

图中的选项记得要勾,否则关于WebService的调用的相关文件不会生成,创建好了客户端也会是空的。然后点finish。

如图中有个---Proxy类,调它就能使用WebService里的接口。使用结果如图:

当然,在实际开发中,我们会将生成的客户端打成一个java jar包,然后让另一个系统导入使用,这里要注意的是,要将客户端的相关jar包也要拷过去。最后再多一句嘴,我们还可以使用第三方的免费的WebService服务,来获取天气信息之类的,至于操作方式,也和前面介绍的一样。
一点感想:不管学什么东西都有一个由浅入深的过程,初学之时,只为快速用上手,所以不求甚解,只有先玩上手了,我们才能继续挖深,若是用都不会用,那就是根本就卡在门外,说什么理论云云,都是扯淡。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值