• 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元素。下表概述了那些元素、它们的属性和内容。

  • 相关阅读:
    mysql中lock tables与unlock tables(锁表/解锁)使用总结
    php开始,html应用的一些不错收藏
    正则表达总结
    yii2 安装
    Nginx出现413 Request Entity Too Large错误解决方法
    jQuery中使用ajaxSubmit提交表单
    Go Log模块生成日志文件
    Go sync模块
    Golang html encoding解析
    Go struct tag
  • 原文地址:https://www.cnblogs.com/For-her/p/3926328.html
Copyright © 2020-2023  润新知