wsdl文档概述

原创 2016年08月30日 12:56:58

web service 三个基础技术

  1. wsdl
  2. soap:simple object access protocol简单对象访问协议
  3. uddi

wsdl文档–web service definition language

用浏览器访问:http://IP地址:端口号/自定义服务名?wsdl得到如下文档,这里代表的是这个服务的实现类:

<definitions xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsp="http://www.w3.org/ns/ws-policy" xmlns:wsp1_2="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://helloworldimpl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://helloworldimpl/" name="MyFirstService">
<import namespace="http://helloworld/" location="http://10.1.14.67:10000/MyFristService?wsdl=1"/>
<binding xmlns:ns1="http://helloworld/" name="HelloWorldWsPortBinding" type="ns1:HelloWorld">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
<operation name="sayHi">
<soap:operation soapAction=""/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>
<service name="MyFirstService">
<port name="HelloWorldWsPort" binding="tns:HelloWorldWsPortBinding">
<soap:address location="http://10.1.14.67:10000/MyFristService"/>
</port>
</service>
</definitions>
  • targetNamespace相当于java的包,在这里,里面的内容根据实现类java文件的包来的。
  • xmlns 相当于java中的import。经常看到xmlns后面还会跟着有冒号的短语,例如:xmlns:xsi=“http://xxxxxxxx”,下面解释一下这个冒号的作用:就像在java中,sql包下有个date类,util包下也有一个date类,如果我们在一个java文件中,使用了date类,并且同时引入这两个包,那么编译器会报错,说:不明确此类到底是哪个包下面的。xml提供了一个机制,对于引入的xsd文件中存在相同标签的情况,使用在xmlns:自定义短语的形式来区别,这样,在使用相同的标签的情况下,就可以进行判别了,而不用担心包的问题,使用时,自定义短语:使用值 即可。例如 想使用的属性schemalocation重复,就这样 xsi:schemalocation=‘xxx’(这里的xsi是举例,不是固定的),就可以说明是xmlns:xsi这个文件里面的schemalocation标签了。

  • import标签与java的import意义相同,引入的通常是实现类的接口。里面的location属性可以直接在浏览器中访问,访问到的就是代表接口的文档了。

  • binding 里面是实现类endpointinterface写入的接口。
  • service里面写的是实现类servicename的内容。

文档分为两部分(刚才上面提到的,实现类,和接口)

web service 接口部分:

types标签,一个标准schema文档,message代表函数。因为服务端与客户端是web通信,所以有请求和返回,那么就是一个函数对应两个message,从属性名中也可以看出来对应关系。message里面的part标签代表元素,元素的定义在schema里面,可以在import里面的schemalocation里面找到,进行浏览器访问即可。porttype代表这个接口,里面的operation代表一个操作(其实就是方法,不过webservice里面更多说方法)。operation里面的input和output两个标签,input代表输入消息,output代表返回消息,这里的消息对应message里面的消息。message再去schema里面查找,查找element标签,element的type属性对应其中的带有type字样的标签,这里面定义了函数的参数。

这里强调一点,一次webservice调用,其实不是方法调用,而是发送一个soap消息(即xml片段)

web service实现部分:

import:引入标签
binding:详细定义了每个web service操作
service:定义了web service服务名称,以及绑定的地址。

调用一次web service的本质

  1. 客户端把调用方法的参数,转换成xml文档片段(也叫soap消息),该文档片段必须符合wsdl定义的格式。
  2. 通过网络,把xml文档片段传给服务器。
  3. 服务器接收到xml文档片段
  4. 服务器解析xml文档片段。提取其中的数据,并转换成调用web service所需要的参数值。
  5. 服务器执行相应方法。
  6. 把服务器端的执行结果转换为xml文档片段
  7. 通过网络,将文档片段发送给客户端
  8. 客户端接收
  9. 客户端解析

通俗的说 wsdl文档描述了web service以下三个方面

  • 该web service包含了那些‘操作’.
  • 操作怎样调用
  • 服务地址
版权声明:本文为博主原创文章,未经博主允许不得转载。

WebService基于契约编程的基础-WS-Policy学习笔记

 WS-Policy解决的问题我们知道在SOA架构中,最重要的基石就是Service,而业务上对于服务约束来自于业务的契约Contract,那么我们如何在服务的实现过程中体现相应的contract约束...
  • woohooli
  • woohooli
  • 2007年10月18日 14:14
  • 2015

WSDL文档结构的 描述

WSDL是一种基于XML的语言。 它的作用是描述和访问网页服务。 内容目录 WSDL 介绍 This introduction to WSDL explains what WSDL i...
  • Tlife
  • Tlife
  • 2012年11月14日 16:02
  • 2389

WSDL简介及编写步骤

说明:本文意译自BPEL1.1规范16.2节。 本文讨论一个简单的贷款审批的WEB服务的例子。在该例子中,客户发送贷款审批请求,包括客户个人信 息和贷款金额。贷款审批的WEB服务利用该信息运行一个...
  • luopeiyuan1990
  • luopeiyuan1990
  • 2013年10月23日 11:18
  • 2227

wsdl文件结构分析

WSDL (Web Services Description Language,Web服务描述语言)是一种XML Application,他将Web服务描述定义为一组服务访问点,客户端可以通过这些服务...
  • wudouguerwxx
  • wudouguerwxx
  • 2008年01月11日 10:22
  • 2436

WebService --WSDL文档解析

通俗的讲:WSDL文档描述了Web Service如下3个方面: WHAT--该 Web Service包含"什么"操作 HOW--该 Web Service的操作应该"怎样"调用 WHERE-...
  • Before_Morning
  • Before_Morning
  • 2015年07月18日 14:45
  • 1259

Wsdl文件读取方式

Wsdl文件读取方式 WSDL文档可以分为两部分。顶部分由抽象定义组成,而底部分则由具体描述组成。抽象部分以独立于平台和语言的方式定义SOAP消息,它们并不包含任何随机器或语言而变的元素。 ...
  • G1248019684
  • G1248019684
  • 2016年05月10日 15:16
  • 1645

WebService之WSDL文件讲解

是不是经常有人在开发的时候,特别是和第三方有接口的时候,走的是SOAP协议,然后用户给你一个WSDL文件,说按照上面的进行适配,嘿嘿,这个时候,要是你以前没有开发过,肯定会傻眼,那如果你想学习的话,就...
  • u013897132
  • u013897132
  • 2015年08月10日 20:10
  • 3263

Web Service概述 --SOAP协议与 WSDL简介

一 RPC, SOAP, WSDL三者的关系 1.RPC 如果要调用远端的一个方法,可以使用RMI和RPC,这是2种截然不同的风格。 RMI: (Remote Method Invo...
  • wenzhibinbin_pt
  • wenzhibinbin_pt
  • 2012年12月26日 22:04
  • 1122

Web Service基础知识——WSDL文件详解

一个WSDL文档的根元素是definitions元素,WSDL文档包含7个重要的元素:types, import, message, portType, operations, binding和ser...
  • liuchunming033
  • liuchunming033
  • 2014年11月17日 15:59
  • 8698

谈谈WebService开发-应用篇(三)-教你如何看WSDL文档

作为webservice客户端开发,在日常工作中可能经常会拿到一个对方提供的wsdl地址或文档,那么拿到这个地址后我们如何编写客户端调用代码呢,前面几篇只是以个人经验的方式写了下,那么真正要根据wsd...
  • posonrick
  • posonrick
  • 2015年05月08日 15:11
  • 5328
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:wsdl文档概述
举报原因:
原因补充:

(最多只允许输入30个字)