`

webservice和soap

阅读更多
日志原文:http://speakoutshaoye.blog.sohu.com/80888406.html

什么是Web Services
  
  从表面上看,Web service 就是一个应用程序,它向外界暴露出一个能够通过Web进行调用的API。也就是说,可以利用编程的方法通过Web来调用这个应用程序。
  
  对Web service 更精确的解释: Web services是建立可互操作的分布式应用程序的新平台。Web service平台是一套标准,它定义了应用程序如何在Web上实现互操作性。你可以用任何你喜欢的语言,在任何你喜欢的平台上写Web service ,只要我们可以通过Web service标准对这些服务进行查询和访问。
  
  不管你的Web service是用什么工具,什么语言写出来的,只要你用SOAP协议通过HTTP来调用它,总体结构都一致。通常,你用你自己喜欢的语言(如VB 6或者VB.NET)来构建你的Web service,然后用SOAP Toolkit或者.NET的内建支持来把它暴露给Web客户。于是,任何语言,任何平台上的客户都可以阅读其WSDL文档,以调用这个Web service。客户根据WSDL描述文档,会生成一个SOAP请求消息。Web service都是放在Web服务器 (如IIS) 后面的,客户生成的SOAP请求会被嵌入在一个HTTP POST请求中,发送到Web服务器来。Web服务器再把这些请求转发给Web service请求处理器。请求处理器的作用在于,解析收到的SOAP请求,调用Web service,然后再生成相应的SOAP应答。Web服务器得到SOAP应答后,会再通过HTTP应答的方式把它送回到客户端。 bbs.bitsCN.com中国网管论坛
  
  基本概念
  
  SOAP
  
  XML和XSD
  
  WSDL(Web Services Description Language)
  
  WSML(Web Services Meta Language)
  
  什么时候使用Web Services
  
  Web service是创建可互操作的分布式应用程序的新平台。Web service 的主要目标是跨平台的可互操作性。为了达到这一目标,Web service 是完全基于XML、XSD等独立于平台、独立于软件供应商的标准的。
  
  Web service在应用程序跨平台和跨网络进行通信的时候是非常有用的。Web service适用于应用程序集成、B2B集成、代码和数据重用,以及通过Web进行客户端和服务器的通信的场合。
  
  当然,Web service也不是万能的,你不能到处滥用Web service。在有些情况下,Web service 会降低应用程序的性能,而不会带来任何好处。例如,一台机器或一个局域网里面运行的同构应用程序就不应该用Web service 进行通信。
  
  如何调用Web Services
  
  客户端:取得服务端的服务描述文件WSDL,解析该文件的内容,了解服务端的服务信息,以及调用方式。根据需要,生成恰当的SOAP请求消息(指定调用的方法,已经调用的参数),发往服务端。等待服务端返回的SOAP回应消息,解析得到返回值。


  服务端:生成服务描述文件,以供客户端获取。接收客户端发来的SOAP请求消息,解析其中的方法调用和参数格式。根据WSDL和WSML的描述,调用相应的COM对象来完成指定功能,并把返回值放入SOAP回应消息返回给用户。
  
  高层接口
  
  使用高层接口,不需要知道SOAP和XML的任何信息,就可以生成和使用一个WebService。Soap Toolkit 2.0通过提供两个COM对象――SoapClient和SoapServer,来完成这些功能。
  
  在客户端,只需要生成一个SoapClient实例,并用WSDL作为参数来调用其中的mssoapinit方法。SoapClient对象会自动解析 WSDL文件,并在内部生成所有Web Service的方法和参数信息。之后,你就可以像调用IDispatch接口里的方法一样,调用里面所有的方法。在VB或是脚本语言里,你甚至可以直接在SoapClient对象名后面直接加上.方法(参数…)进行调用。
  
  低层接口
  
  要使用低层接口,你必须对SOAP和XML有所了解。你可以对SOAP的处理过程进行控制,特别是要做特殊处理的时候。
  
  在客户端,首先要创建一个HttpConnector对象,负责HTTP连接。设定Connector的一些头部信息,比如EndPoinURL和 SoapAction等。如果网络连接需要使用代理服务器,那也要在这里设定相关的信息。接着创建SoapSerializer对象,用于生成Soap消息。按照WSDL里定义,把所有参数按顺序序列化,得到一个完整的SOAP请求消息。该Soap消息,作为Payload通过HttpConnector 被发送到服务端。最后,生成一个SoapReader对象,负责读取服务端返回的SOAP消息,取得其中的返回值。
分享到:
评论

相关推荐

    SOAP webserivce 和 RESTful webservice 对比及区别

    SOAP Web服务和RESTful Web服务是两种常见的Web服务交互方式,它们在设计理念、协议复杂度、数据格式和操作方式等方面存在显著的区别。 首先,SOAP(简单对象访问协议)是一种基于XML的协议,它允许不同系统之间的...

    webservice、soap等接口调用参考

    在标题和描述中提到的"webservice,soap调用",这是指使用SOAP协议来调用Web服务的过程。SOAP消息通常以HTTP或HTTPS作为传输协议,其结构主要由三个部分组成:Header、Body和Envelope。Header部分包含了关于消息处理...

    RESTful webservice 和 SOAP webserivce 对比及区别

    * 使用重量级的WebService框架和工具,增加了实现和维护的难度 * 不适合轻量级的Web应用和移动应用 RESTfulWebService和SOAPWebService都是Web服务架构模式,但它们在架构风格、接口定义、通信协议和实现技术等方面...

    webservice soap抓取工具

    WebService和SOAP(Simple Object Access Protocol)是两个关键的IT概念,它们在分布式系统和企业级应用程序集成中扮演着重要角色。本篇文章将深入探讨这两个主题,并介绍如何使用SOAP抓取工具来分析和理解...

    ios-webService和soap.zip

    8. **成功实例**:压缩包中的“成功实例”可能包含了一个完整的SOAP请求和响应的示例代码,可以帮助开发者更好地理解和实现SOAP通信。可以参考这个实例,了解如何构造请求、解析响应,以及如何处理错误。 总的来说...

    REST WebService与SOAP WebService的比较.docx

    **REST (Representational State Transfer) WebService 和 SOAP (Simple Object Access Protocol) WebService 是两种不同的 Web Service 技术,它们在 SOA(Service-Oriented Architecture,面向服务架构)领域中...

    C#winform下WebService Soap应用

    WebService Soap 是一种基于 SOAP 协议的 Web 服务技术,允许不同语言和平台之间的通信和数据交换。它提供了一种松散耦合的接口,使得不同的系统和应用程序能够相互通信和交互。 Winform 应用程序 在本文中,我们...

    C#WebService-Soap扩展实现安全认证

    分高但绝对值-简介: 1、利用SoapExtension,...3、在写WebService时只需加认证标签,客户端调用时传入SoapHeader,即可完成认证。 4、当然你还可以发挥,比如压缩消息,日志记录,Trace之类,网上也有很多文章讲。

    webservice之soap.jar

    Web服务(Web Service)是一种基于互联网的、采用标准XML...总的来说,"webservice之soap.jar"是Java开发者构建和消费SOAP Web服务的重要工具,通过理解和熟练使用这个库,可以有效地进行跨平台的数据交换和远程调用。

    .NET 访问JAVA的WEBSERVICE使用SOAP头

    通过以上步骤,.NET应用程序就能够成功地与Java WebService进行通信,并通过SOAP头传输必要的认证信息,确保了跨平台服务调用的安全性和可靠性。这一过程虽然涉及一定的技术细节和手动编码工作,但对于构建稳定、...

    Webservice 调用工具

    【Webservice和SOAP的核心概念】 1. WSDL(Web Services Description Language):WSDL文件是Web服务的接口定义,它描述了服务提供的操作、消息格式以及如何通过网络调用这些服务。 2. UDDI(Universal ...

    c#2.0使用TraceExtension记录WebService的Soap日志

    在本讨论中,我们将深入探讨如何利用C# 2.0的TraceExtension来记录WebService的SOAP日志。这对于调试、性能分析以及理解服务间的交互至关重要。 SOAP(简单对象访问协议)是Web服务的标准通信协议,用于交换结构化...

    java+soap+webservice 调用模拟

    通过阅读提供的"java-soap-webservice"文档,你可以进一步了解具体的实现步骤,包括如何设置项目、配置JAX-WS、生成客户端代码、编写调用服务的代码,以及如何解析响应。实践中,不断动手操作和调试是掌握这一技术的...

    Java使用SOAP获取webservice实例解析

    WebService是一种跨编程语言和操作系统平台的、在网络上进行数据交换的一种方式。它使用标准的Internet协议,如HTTP、XML、SOAP等来实现不同系统间的通信。 #### SOAP简介 SOAP(Simple Object Access Protocol)...

    webservice-soap资料

    Web服务(Web Service)是一种基于互联网的、使用标准XML(Extensible ...总之,这份“webservice-soap资料”对于想要深入理解Web服务和SOAP协议的人来说是宝贵的资源,它将帮助你从理论到实践全面掌握这一核心技术。

    C#实现SOAP调用WebService

    最近写了一个SOA服务,开始觉得别人拿到我的服务地址,然后直接添加引用就可以使用了,结果"大牛"告知不行。...让我写一个SOAP调用服务的样例,我有点愣了,因为没做过这方面的,于是搞到了一个Demo,然后学习了下。

    Webservice下Soap、WSDL规范详解

    详细描述WebService中SOAP协议的规范,以及WSDL文件所需要包含的要素

    金蝶调用Webservice接口-SOAP

    本文主要介绍如何使用SOAP(Simple Object Access Protocol)方式来调用Webservice接口,以金蝶为例进行详细讲解。 首先,了解SOAP。SOAP是一种基于XML的协议,用于在Web上交换结构化的和类型化的信息。它通过HTTP...

    Soap WebService 调试工具

    SOAPUI是一款功能强大的开源工具,专为SOAP和REST Web服务测试设计。它提供了直观的界面,使得开发者能够轻松地创建、发送、接收和分析SOAP请求。SoapUI-x64-5.6.1.exe是该软件的64位版本安装程序,适用于Windows...

    VB.NET/JAVA 采用SOAP 与Webservice发送/接收数据

    - **VB.NET与Java**: 分别代表了Microsoft .NET框架下的Visual Basic语言和跨平台的Java编程语言,它们都能支持通过SOAP协议与WebService进行交互。 #### 二、搭建环境与准备工作 1. **选择一个WebService**: 在本...

Global site tag (gtag.js) - Google Analytics