`
oywl2008
  • 浏览: 1052056 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

WebServices:WSDL的结构分析

 
阅读更多

      WSDL(Web Services Description Language,Web服务描述语言)是为描述Web Services发布的XML格式。W3C组织没有批准1.1版的WSDL,但是2.0版本已经在製訂中,2.0版将被作为推荐标准(recommendation)(一种官方标准),并将被W3C组织批准为正式标准。WSDL描述Web服务的公共接口。这是一个基于XML的关于如何与Web服务通讯和使用的服务描述;也就是描述与目录中列出的Web服务进行交互时需要绑定的协议和信息格式。通常采用抽象语言描述该服务支持的操作和信息,使用的时候再将实际的网络协议和信息格式绑定给该服务。

      WSDL 文档仅仅是一个简单的 XML 文档。它包含一系列描述某个 web service 的定义。

 

   WebMthod的定义:

 1:  [WebService(Namespace = "http://tempuri.org/")]
 2:  [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
 3:  [System.ComponentModel.ToolboxItem(false)]
 4:  public class WebService2 : System.Web.Services.WebService
 5:  {
 6:      [WebMethod]
 7:      public bool Add(TestClass testClass,int id)
 8:      {
 9:          return true;
10:      }
11:  }
12:   
13:  public class TestClass
14:  {
15:      public int a;
16:      public string b;
17:      public DateTime c;
18:  }
19:   

       WSDL的结构:

image

       一个WSDL文档通常包含有以下元素,即types、message、portType、operation、binding、 service元素。这些元素嵌套在definitions元素中。

      definitions是WSDL文档的根元素,definitions还声明各命名空间。

      types,数据类型定义的容器,它使用某种类型系统(一般地使用XML Schema中的类型系统)。

 1:    <wsdl:types>
 2:      <s:schema elementFormDefault="qualified" targetNamespace="http://tempuri.org/">
 3:        <s:element name="Add">
 4:          <s:complexType>
 5:            <s:sequence>
 6:              <s:element minOccurs="0" maxOccurs="1" name="testClass" type="tns:TestClass" />
 7:              <s:element minOccurs="1" maxOccurs="1" name="id" type="s:int" />
 8:            </s:sequence>
 9:          </s:complexType>
10:        </s:element>
11:        <s:complexType name="TestClass">
12:          <s:sequence>
13:            <s:element minOccurs="1" maxOccurs="1" name="a" type="s:int" />
14:            <s:element minOccurs="0" maxOccurs="1" name="b" type="s:string" />
15:            <s:element minOccurs="1" maxOccurs="1" name="c" type="s:dateTime" />
16:          </s:sequence>
17:        </s:complexType>
18:        <s:element name="AddResponse">
19:          <s:complexType>
20:            <s:sequence>
21:              <s:element minOccurs="1" maxOccurs="1" name="AddResult" type="s:boolean" />
22:            </s:sequence>
23:          </s:complexType>
24:        </s:element>
25:      </s:schema>
26:    </wsdl:types>

     types描述WebMethod的名称(Add),传入参数(testClass——包括对TestClass的详细描述,id),响应信息(AddResponse)。

     message描述通信消息的数据结构的抽象类型化定义,使用types的描述的类型来定义整个消息的数据结构。

1:    <wsdl:message name="AddSoapIn">
2:      <wsdl:part name="parameters" element="tns:Add" />
3:    </wsdl:message>
4:    <wsdl:message name="AddSoapOut">
5:      <wsdl:part name="parameters" element="tns:AddResponse" />
6:    </wsdl:message>

      portTypeoperation描述服务和服务的方法。operation包括输入和输出(使用message的描述)。

1:    <wsdl:portType name="WebService2Soap">
2:      <wsdl:operation name="Add">
3:        <wsdl:input message="tns:AddSoapIn" />
4:        <wsdl:output message="tns:AddSoapOut" />
5:      </wsdl:operation>
6:    </wsdl:portType>

       binding描述Web Services的通信协议。 <soap:binding/>描述使用SOAP协议,binding还描述Web Services的方法、输入、输出。

 1:    <wsdl:binding name="WebService2Soap" type="tns:WebService2Soap">
 2:      <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
 3:      <wsdl:operation name="Add">
 4:        <soap:operation soapAction="http://tempuri.org/Add" style="document" />
 5:        <wsdl:input>
 6:          <soap:body use="literal" />
 7:        </wsdl:input>
 8:        <wsdl:output>
 9:          <soap:body use="literal" />
10:        </wsdl:output>
11:      </wsdl:operation>
12:    </wsdl:binding>

       service描述Web Services访问点的集合。因为包括SOAP1.1和SOAP1.2的描述,所以一个方法有对应两描述。

1:    <wsdl:service name="WebService2">
2:      <wsdl:port name="WebService2Soap" binding="tns:WebService2Soap">
3:        <soap:address location="http://localhost:1552/WebService2.asmx" />
4:      </wsdl:port>
5:      <wsdl:port name="WebService2Soap12" binding="tns:WebService2Soap12">
6:        <soap12:address location="http://localhost:1552/WebService2.asmx" />
7:      </wsdl:port>
8:    </wsdl:service>

 

http://www.cnblogs.com/zhaozhan/archive/2010/11/03/1868556.html

 

分享到:
评论

相关推荐

    CXF视频:2、WSDL结构分析

    【WSDL结构分析】 WSDL,全称Web Services Description Language,是用于描述Web服务的一种...通过深入学习CXF视频系列中的WSDL结构分析,开发者能够提升在Web服务开发领域的专业技能,实现更高效、更健壮的服务集成。

    WebService_WSDL结构分析

    WebService_WSDL结构分析 WebService_WSDL结构分析是对WebService_WSDL文档的结构进行了详细的分析,阐述了WSDL文档的组成元素和每个元素的作用。WSDL(Web Services Description Language,Web服务描述语言)是一...

    WebService WSDL结构分析

    ### WebService WSDL结构分析详解 #### 一、WSDL定义与重要性 WSDL(Web Services Description Language),即Web服务描述语言,是一种基于XML的应用,用于定义一组服务访问点,使得客户端能够通过这些访问点对...

    WSDL结构分析详解汇总

    **WSDL(Web Services Description Language)结构分析详解** WSDL,全称为Web Services Description Language,是一...阅读"WebService描述语言WSDL详解.pdf"和"WSDL结构分析详解汇总.chm"将有助于深化这方面的理解。

    wsdl文件结构详细分析

    Web Services Description Language(WSDL)是描述Web服务的标准,它使用XML语言来定义服务接口、消息结构和通信细节。WSDL文件是Web服务的核心组成部分,它允许客户端应用程序找到、理解和调用服务。在本文中,我们...

    wsdl文件结构分析

    Web Services Description Language (WSDL) 是一种基于XML的应用,用于定义Web服务的接口和消息交换方式。WSDL文档描述了服务的访问点,允许客户端通过这些点与服务交互,无论是面向文档的信息还是面向过程的调用。...

    wsdl文件结构分析.doc

    Web Services Description Language (WSDL) 是一种基于XML的应用,用于详细描述Web服务,特别是如何访问它们。WSDL文档定义了一组服务访问点,允许客户端通过特定的协议和消息格式与服务进行交互,类似于远程过程...

    WSDL文件出错???????

    WSDL(Web Services Description Language)文件是定义这些服务接口的关键文档,它使用XML语法来描述服务的位置、使用的消息格式以及如何调用这些服务。当我们遇到“WSDL文件出错”时,通常意味着在构建或使用Web...

    WSDL资料(WSDL描述分析)

    **WSDL(Web Services Description Language)是Web服务领域的一个重要标准,用于定义Web服务的接口。这个压缩包文件“WSDL资料”包含了关于WSDL的详细信息,旨在帮助用户理解和分析WSDL描述。** **一、WSDL简介** ...

    Web Services 教程

    1.3 WSDL(Web Services Description Language):WSDL是用于描述Web Service接口的语言,它定义了服务的地址、操作、输入/输出消息格式等信息,使消费者能理解如何与服务进行交互。 1.4 UDDI(Universal ...

    如何创建Web Services程序

    通过分析和运行这些示例,你可以更直观地学习如何创建和使用Web Services。 在实践中,有许多工具和框架可以帮助简化Web Services的开发,例如Apache Axis、JAX-WS(Java API for XML Web Services)和Spring框架的...

    Java Web Services教程

    首先,了解Java Web Services的基础,我们需要知道SOAP,它是用于在分布式环境中交换结构化和类型化信息的协议。SOAP消息通常以XML格式封装,可以承载任何类型的数据,并通过HTTP或SMTP等传输协议发送。在Java中,...

    The Java™ Web Services Tutorial

    2. **设计服务接口**:定义服务的操作和消息结构,通常使用 WSDL (Web Service Description Language) 进行描述。 3. **实现服务端逻辑**:编写服务端代码来处理客户端请求,并返回响应结果。 4. **测试与部署**:对...

    WSDL(Web服务描述语言)详细解析

    WSDL,全称为Web Services Description Language(Web服务描述语言),是一种基于XML的应用,用于精确描述Web服务的特性,包括其功能、参数、返回值以及如何通过网络进行交互。WSDL将Web服务视为一组端点接口,允许...

    CXF实现WebServices_1

    "2、WSDL结构分析.swf"可能是一个SWF格式的动画或演示,详细解析了WSDL文件的结构,包括服务定义、消息、端点、绑定、操作等元素,帮助学习者更好地理解WSDL的组成和功能。 在实际开发中,使用CXF实现Web服务,首先...

    WSDL文件简介-本文介绍了如何编写一个简单的WSDL文件,并根据WSDL文件编写服务器端和客户端代码,并发布Web Service服务的过程

    WSDL(Web Services Description Language)是一种基于 XML 的语言,用于描述网络服务的接口。本文将详细介绍如何编写一个简单的 WSDL 文件,以及如何根据该 WSDL 文件来编写服务器端与客户端的代码,并最终实现 Web...

    Web Services教程

    - **案例分析**:随着互联网速度的提高和技术的进步,Web Services的应用越来越广泛,如电子商务、金融服务等领域中的数据交换和服务集成。 #### 十、总结 - 通过本教程的学习,我们不仅了解了Web Services的基本...

    Java Web Services Tutorial

    2. **WSDL (Web Services Description Language)**:是一个基于XML的语言,用于描述Web服务接口及其绑定到网络协议的细节。 3. **UDDI (Universal Description, Discovery and Integration)**:是一个用于发布、查找...

Global site tag (gtag.js) - Google Analytics