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包含了那些‘操作’.
  • 操作怎样调用
  • 服务地址
版权声明:本文为博主原创文章,未经博主允许不得转载。

WSDL概述.ppt

  • 2014年11月14日 11:03
  • 528KB
  • 下载

WSDL概述与结构

以前接触过的一个项目是对wsdl进行语义标注,达到语义互操作的目的,现对wsdl总结如下。WSDL(Web Services Description Language)-网络服务描述语言,是一门基于x...
  • whuqin
  • whuqin
  • 2011年04月16日 20:06
  • 1159

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

作为webservice客户端开发,在日常工作中可能经常会拿到一个对方提供的wsdl地址或文档,那么拿到这个地址后我们如何编写客户端调用代码呢,前面几篇只是以个人经验的方式写了下,那么真正要根据wsd...

一个完整的WSDL文档及各标签详解

转:http://www.cnblogs.com/ChrisMurphy/p/5224314.html   http://www.57market.com.cn/HelloService" x...
  • pzasdq
  • pzasdq
  • 2016年09月19日 17:00
  • 3327

Web Service学习小结——WSDL文档中的节点与java类的联系

WSDL:是web service description language的首字母缩写。意思是web服务描述语言。  那么他到底描述了什么东西呢?  根据我这几天在网上的各种信息收录。它主要描述...

java学习笔记之webservice(二)--WSDL文档及用myeclipse测试webservice

一、WSDL 定义:web services description language,用来描述web服务的xml格式的信息。 标签的解释 1. :定义了服务的namespace和关键信息的类型(方...
  • BeauXie
  • BeauXie
  • 2016年10月19日 19:59
  • 1497

WebService(4)——WSDL文档解析

解析以下内容均来自尚硅谷

WebService之WSDL文档深入分析(三)

WSDL概念   WSDL(网络服务描述语言,Web Services Description Language)是一门基于 XML 的语言,用于描述 Web Services 以及如何对它们进...

wsdl文档详解

转载自:http://kalogen.javaeye.com/blog/418958 WSDL (Web Services Description Language,Web服务描述语言)是一种XM...

UDDI数据类型和WSDL文档类型

UDDI 数据类型 在 UDDI 注册中心有 4 种主要的数据类型: businessEntity、 businessService、 bindingTemplate和 tModel。 图 ...
  • fckkfc
  • fckkfc
  • 2011年09月20日 13:28
  • 265
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:wsdl文档概述
举报原因:
原因补充:

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