zoukankan      html  css  js  c++  java
  • WebService WSDL详解(下)

    WSDL的Types栏和Messages栏中的XML Schema

    WSDL数据类型是基于"XML Schema: Datatypes"(XSD)的,现在已经被W3C推荐。这一文档共有三个版本(1999,2000/10,2001),因此必须在namespace属性的<definitions>元素中指明所使用的是哪一个版本。
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    在本文中,我将只考虑2001版本。WSDL标准的推荐者强烈建议使用2001版。

    complex类型

    XML schema允许complex类型的定义,就像C里是struct。例如,为了定义类似如下的C的struct类型:
    typedef struct {

     string firstName;

     string lastName; long ageInYears;

     float weightInLbs;

     float heightInInches;

     } PERSON;
    我们可以写XML schema:

    1. <xsd:complexType name="PERSON"> <xsd:sequence> <xsd:element name="firstName" type="xsd:string"/> <xsd:element name="lastName" type="xsd:string"/> <xsd:element name="ageInYears" type="xsd:int"/> <xsd:element name="weightInLbs" type="xsd:float"/> <xsd:element name="heightInInches" type="xsd:float"/>  
    2. </xsd:sequence> </xsd:complexType>  

    不过,complex类型可以表达比struct更多的信息。除了<sequence>以外,它还可以有其他的子元素,比如<all>

    1. <xsd:complexType name="PERSON"> <xsd:all> <xsd:element name="firstName" type="xsd:string"/> <xsd:element name="lastName" type="xsd:string"/> <xsd:element name="ageInYears" type="xsd:int"/> <xsd:element name="weightInLbs" type="xsd:float"/> <xsd:element name="heightInInches" type="xsd:float"/> </xsd:all> </xsd:complexType>  

    总结

    本文中我描述了WSDL文档关于SOAP方面的最显著的特点。不过应该说明的是WSDL并不仅限于HTTP上的SOAP。WSDL用来描述HTTP-POST、HTTP-GET、SMTP及其他协议时非常清晰。使用了WSDL,SOAP更加容易处理了,无论是开发者还是使用者。我相信WSDL和SOAP一起将会开创网络应用程序世界的新时代。 WSDL的namespace里有一系列的XML元素。下表概述了那些元素、它们的属性和内容。

  • 相关阅读:
    C#面向对象编程
    WPF Storyboard的启动
    WPF中的窗体Show()和ShowDialog()区别。
    四元数
    小学生四则运算
    小学生四则运算
    javascript ===与==的区别
    a标签的href与onclick中使用js的区别
    10步让你成为更优秀的程序员
    检查SQL Server被哪个进程占用,且杀进程。
  • 原文地址:https://www.cnblogs.com/For-her/p/3926328.html
Copyright © 2011-2022 走看看