精华内容
下载资源
问答
  • WebService工作原理

    2017-07-19 17:11:15
    轻松搞懂WebService工作原理   用更简单的方式给大家谈谈WebService,让你更快更容易理解,希望对初学者有所帮助。 WebService是基于网络的、分布式的模块化组件。   我们直接来看WebService的一个简易...
    
    

     

    用更简单的方式给大家谈谈WebService,让你更快更容易理解,希望对初学者有所帮助。

    WebService是基于网络的、分布式的模块化组件。

     

    我们直接来看WebService的一个简易工作流程

    客户端 ——>阅读WSDL文档(了解webservice的请求) ——> 调用WebService 

     

    上面的流程是一个大致的描述,客户端阅读WSDL文档发送请求,然后调用Web服务器最后返回给客户端,这和普通的http请求一样,请求->处理->响应,与普通的请求不一样的就是webservice请求中有一个WSDL文档和SOAP协议,以及.NET Framework自带的Web Service请求处理器 ISAPI Extension。

     

    我们来看一个比较完整的流程

    客户端——> 阅读WSDL文档 (根据文档生成SOAP请求) ——>发送到Web服务器——>交给WebService请求处理器 (ISAPI Extension)

    ——>处理SOAP请求——> 调用WebService——>生成SOAP应答 ——> Web服务器通过http的方式交给客户端

     

    OK,到这里已经明白了的同学你可以走了,去逛逛别的文章,没懂的我们继续往下:

     

    我们先来解释一下上面的流程中出现的几个名词:

    1. SOAP: 是以XML形式提供简单、轻量、用于在分散或分布式环境中交换结构化和类型信息的机制。SOAP消息的基本结构通过HTTP协议传递XML数据。简单的说就是一个基于XML的协议。

    2. WSDL : 是使用XML文档描述Web服务的标准,是Web服务的的接口定义语言,描述如何访问具体的接口,包含3个基本属性:

         a. 如何访问服务:和服务交互的数据格式以及必要的协议。

         b. 服务在哪里: 协议相关的地址,比如url信息等

         c. 服务具有哪些功能: 服务提供的具体操作方法,=》就是你webservice中提供了哪些可调用的方法

     

    原理详细描述:

    无论使用什么工具、语言编写 WebService,都可以使用 SOAP 协议通过 HTTP 调用,其工作原理相同。创建 WebService 后,将其暴露给Web客户,任何语言、平台的客户都可以阅读其  WSDL 文档,以调用 WebService 。客户可以根据 WSDL 描述文档生成一个 SOAP 请求信息。 WebService 部署在Web服务器( 如IIS )上,客户生成的 SOAP 请求会被嵌入在一个 HTTP 请求中并发送到Web服务器,Web服务器(IIS)再将请求转发给 WebService 请求处理器。

    对于.Net而言,WebService请求处理器则是一个 .NET Framework 自带的 ISAPI Extension。Web请求处理器用于解析收到的SOAP请求,调用 WebService,然后生成相应的SOAP应答。Web服务器得到SOAP应答后,在通过HTTP应答的方式将其返回给客户端。

     

    WebService优势:

    1.平台无关性 。  任何平台都可以使用WebService

    2.编程语言无关系。 基于XML,XML本身与平台无关,使用XSD作为数据类型系统,不论用什么语言编写,所有数据类型都会被转换为XSD,只需要遵守WebService的统一标准即可。

    3.部署、升级和维护Web服务简单、方便。

    4.实现多数据、多服务的聚合。

    5.成本低。

    6.不受防火墙的影响。使用SOAP协议通信,封装了XML格式的数据,以ASCII文本的方式传输,而非二进制,调试方便,而且可以使数据容易的通过防火墙,不需要单独开通信端口。 

     

    总结:

    WSDL、SOAP和UDDI(统一描述、发现和集成机制) 一起工作,支持WebService与Internet上的其他服务、应用程序和设备交互作用。UDDI提供了发布和定位Web服务功能(更多请自行了解),WSDL描述了Web服务,SOAP服务提供了传输消息。

    展开全文
  • webservice工作原理

    2018-10-21 21:18:00
    应该是黄勇的图, 记不大清了.https://my.oschina.net/huangyong/blog/286155(webservice那点事儿)

     应该是黄勇的图, 记不大清了.https://my.oschina.net/huangyong/blog/286155(webservice那点事儿)

    展开全文
  • Webservice工作原理

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

    一、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服务请求者。(绑定)

    三、调用方式:

    1. Net下采用GET/POST/SOAP方式动态调用WebService的简易灵活方法(C#)

    webservice 的调用有3种方式

    1). httpget
    2). httppost
    3). httpsoap

    soap 的优点是 可以传递结构化的 数据,而前两种不行。
    btw, soap 最终也是使用 HTTP 传送 XM

    展开全文
  • Webservice工作原理及实例

    万次阅读 多人点赞 2016-04-04 23:12:08
    Web Service工作原理 一、Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。是:通过SOAP在Web上提供的...


                                             Web Service工作原理及实例

                                               


    一、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服务请求者。(绑定)



    三、调用方式:


    1. Net下采用GET/POST/SOAP方式动态调用WebService的简易灵活方法(C#)

    webservice 的调用有3种方式

    1). httpget 
    2). httppost
    3). httpsoap

    soap 的优点是 可以传递结构化的 数据,而前两种不行。
    btw, soap 最终也是使用 HTTP 传送 XM

    Webservice实例


    一、使用CXF开发Web Service服务端:


    每个Web Service组件需要2个部分:接口和实现类:
    步骤:
    1、准备开发需要的jar包【apache-cxf-2.5.9下载

                                                      


    2、开发一个webservice业务接口,方法使用@WebService修饰。

    package com.ywx;
    
    import javax.jws.WebService;
    
    @WebService
    public interface HelloWorld {
    	String sayHi(String name);
    }
    

    3、写一个这个方法的实现类,方法也需要使用@WebService修饰,并指定其中的参数中,如下指定了所需要实现的接口、并指定服务名称。

    package com.ywx.impl;
    
    import java.util.Date;
    
    import javax.jws.WebService;
    
    import com.ywx.HelloWorld;
    @WebService(endpointInterface="com.ywx.HelloWorld",serviceName="HelloWorldWs")//指定webservice所实现的接口以及服务名称
    public class HellowWorlds implements HelloWorld{
    
    	@Override
    	public String sayHi(String name) {
    		return name+"您好!现在时间是:"+new Date();
    	}
    
    }
    


    4、暴露Web Service的函数,运行函数暴露Web Service:

    package com.ywx.lee;
    
    import javax.xml.ws.Endpoint;
    
    import com.ywx.HelloWorld;
    import com.ywx.impl.HellowWorlds;
    
    public class ServiceMain {
    	public static void main(String args[]){
    		HelloWorld hw = new HellowWorlds();
    		//调用Endpoint的publish方法发布Web Service
    		Endpoint.publish("192.168.1.7/vashon", hw);
    		System.out.println("Web Service暴露成功!");
    	}
    }
    

    然后运行浏览器,输入:http://192.168.1.7/vashon?wsdl 查看结果,如果成功生成如下wsdl文档则表示Web Service暴露成功。



    二、使用CXF开发Web Service客户端:


    步骤:

    1、新建一个客户端工程
    2、调用CXF提供的wsdl2java工具或使用eclipse/myeclipse的new Web Service生成客户端代码(这里使用第二种方式):


                                               

    输入wsdl链接:

                                                 
    点击next:

                                                                                                          
    选择生成客户端代码的位置:   


                                               


    点击finish,生成客户端代码如下:


                                                                                

    3、在客户端写测试类测试:

    package com.ywx.test;
    
    import java.rmi.RemoteException;
    
    import com.ywx.HelloWorldProxy;
    
    
    public class TestService {
    	public static void main(String args[]){
    		HelloWorldProxy h = new HelloWorldProxy();
    		try {
    			String s = h.sayHi("yangwenxue");
    			System.out.println("调webservice:"+s);
    		} catch (RemoteException e) {
    			e.printStackTrace();
    		}
    	}
    }
    

    运行结果(传入一个参数,调用Web Service返回的字符串结果如下):



    其调用生成的格式已经有服务端定义好了,看上面贴出来的代码或者下面的截图说明:



    Web Service服务端和客户端工程结果截图如下:

                       

    展开全文
  • 简单了解WebService工作原理WebService是基于网络的、分布式的模块化组件。WebService的简易工作的流程: 客户端 ——>阅读WSDL文档(了解webservice的请求) ——> 调用WebService上面的流程是一个...
  • 更多详情:Web Services 教程 用更简单的方式给大家谈谈WebService,让你更快更容易理解,希望对初学者有所帮助。...我们直接来看WebService的一个简易工作流程:客户端 ——>阅读WSDL文档(了解webservice的请
  • Web Service工作原理及实例   一、Web Service基本概念Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。是:通过SOAP在Web...
  • Web Service工作原理及实例   一、Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。是:通过SOAP...
  •  Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。是:通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明,并通过UDDI...

空空如也

空空如也

1 2 3 4 5 ... 19
收藏数 369
精华内容 147
关键字:

webservice工作原理