码迷,mamicode.com
首页 > Web开发 > 详细

Webservice工作原理以及实例

时间:2017-12-29 15:02:41      阅读:216      评论:0      收藏:0      [点我收藏+]

标签:log   lips   针对   找到你   如何   import   不同的   标记   万维网   

Web Service基本概念

  Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。是:通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明,并通过UDDI进行注册。  

  XML:(Extensible Markup Language)扩展型可标记语言。面向短期的临时数据处理、面向万维网络,是Soap的基础。

  Soap:(Simple Object Access Protocol)简单对象存取协议。是XML Web Service 的通信协议。当用户通过UDDI找到你的WSDL描述文档后,他通过可以SOAP调用你建立的Web服务中的一个或多个操作。SOAP是XML文档形式的调用方法的规范,它可以支持不同的底层接口,像HTTP(S)或者SMTP。

  WSDL:(Web Services Description Language) WSDL 文件是一个 XML 文档,用于说明一组 SOAP 消息以及如何交换这些消息。大多数情况下由软件自动生成和使用。

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

 

调用原理

  技术分享图片

 

  实现一个完整的Web服务包括以下步骤:

  ◆ Web服务提供者设计实现Web服务,并将调试正确后的Web服务通过Web服务中介者发布,并在UDDI注册中心注册; (发布)

  ◆ Web服务请求者向Web服务中介者请求特定的服务,中介者根据请求查询UDDI注册中心,为请求者寻找满足请求的服务; (发现)

  ◆ Web服务中介者向Web服务请求者返回满足条件的Web服务描述信息,该描述信息用WSDL写成,各种支持Web服务的机器都能阅读;(发现)

  ◆ 利用从Web服务中介者返回的描述信息生成相应的SOAP消息,发送给Web服务提供者,以实现Web服务的调用;(绑定)

  ◆ Web服务提供者按SOAP消息执行相应的Web服务,并将服务结果返回给Web服务请求者。(绑定)

 

调用方式

 

Web Service实例

1.创建Web Service服务端

创建一个Web Service的接口,其中定义一个  sayHi(String name) 的方法,类上一定要加上 @WebService 注解,@WebMethod注解声明了这个方法是要发布出去的方法

技术分享图片

创建一个 Web Service 接口的实现类,写明了sayHi(String name)方法的方法体

技术分享图片

创建一个发布类(main方法),把 Web Service发布出去

技术分享图片

运行ServiceMain,这样就发布成功了

技术分享图片

 再来验证一下,在浏览器中输入在WebServicePublish类中定义的address?wsdl(注意一定要加wsdl),浏览器显示如下,那么我们这个WebService就发布成功了

技术分享图片

 

客户端调用

创建一个WSClient的项目

在cmd窗口中输入wsimport -s 我们这个项目的src路径 -keep 我们发布的webservice地址 例如:

wsimport -s C:\Users\Administrator\workspace\WSClient\src -keep http://127.0.0.1:8091/test/hello?wsdl

wsimport是jdk自带的,可以根据wsdl文档生成客户端调用代码的工具.当然,无论服务器端的WebService是用什么语言写的,都将在客户端生成Java代码.服务器端用什么写的并不重要.
wsimport.exe位于JAVA_HOME\bin目录下. 技术分享图片

技术分享图片

 

去eclipse中刷新我们的项目,就会发现系统自动帮我们生成了许多类

技术分享图片

创建一个客户端的测试类

技术分享图片

运行过后控制台输出如下:

技术分享图片

 

Webservice工作原理以及实例

标签:log   lips   针对   找到你   如何   import   不同的   标记   万维网   

原文地址:https://www.cnblogs.com/qing1001/p/8136683.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!