zoukankan      html  css  js  c++  java
  • wsdl 结构解析

     webservice的跨平台特性要求它必须有某种手段来对服务进行自我描述,使不同的语言能正确理解如何调用该服务。webservice通过WSDL(Web Services Description Language)来实现这个目的。

    webservice代码:
    该服务的wsdl:
     
    wsdl主要通过 types,message,portType,binding,service五个元素来描述服务。
    1. types:这个元素用作定义一个服务的架构,主要对服务中用到的复杂类型(例如Foo类和Bar类,对应complexType元素)以及服务中的方法(应该叫Operation)的传入传出的消息元素(对应element元素。其实“传入”即是传递参数,“传出”即是返回值和使用ref和out修饰符修饰的参数。这样做应该是为了抽象和复用)。
    2. message:在webservice中,客户端和服务器的通信数据,也就是传入的数据(参数)和传出的数据(返回值或ref,out参数)都被统称为"message"。一个message由若干个part元素组成,part元素中的element属性用来指定这个part是用在types元素中定义的哪个element。
    3. portType:在webservice中,函数方法被称为operation,operation被统一定义在这个portType元素中。一个operation定义了operation的名称,已经需要传入什么数据(即参数)和传出什么数据(即返回值和ref,out参数)
    4. binding: 用来定义一个服务都有哪些operation,以及这个operation返回的soap消息的风格(style),例如是“document”还是"rpc",opertation里的input和output元素都有一个叫"use"的属性,也是用来设置soap消息的格式的,style和use是soap风格的一种组合,当为style=document,use=literal时,我们可以在代码中通过[XmlElement]等Attribute来自定义soap格式,具体请google “soap风格”
    5. service:定义这个服务的地址等信息。
    可见,WSDL对webservice的描述是先将服务的调用的通信过程抽象出来,产生message,input,output,operation等概念,再定义最基本的最基本的元素,然后从低到高逐一逐一地组合成一个完整的服务。
  • 相关阅读:
    cityscapes和Mapillary Vistas两种不同分割数据集的label映射
    探究Z-Order
    Java ——对Swing、AWT和SWT的认识 原创
    UOJ-581 NOIP2020 字符串匹配
    UOJ-618 JOISC2021 聚会 2
    Codeforces Round #740 (Div. 1, based on VK Cup 2021
    PipeCAD
    第三次全国国土调查相关信息记录
    统计研究区内Landsat影像数量
    GEE数据导出注意事项
  • 原文地址:https://www.cnblogs.com/lwhkdash/p/6728538.html
Copyright © 2011-2022 走看看