欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

webservice开发----------wsdl详解+实际文档解析

程序员文章站 2022-04-28 11:56:00
...

之前的文章中,已经介绍了具体案例的wsdl文档,在做了实际案例之后,觉得之前的文章有些冗长,所以单独拿出来讲解一下,原文链接webservice开发---------如何使用jdk发布webservice及调用


一:wsdl文档是什么?

WSDL(Web Service Descripition Language)网络服务描述语言,D不是define(定义),是描述(有些文章说是定义);是基于xml的web服务的描述文档;WSDL文档主要包含五大主要元素:types、message、portType 、binging、service,definitions是根元素,除此还包括part、operation、port元素

二:wsdl文档的基本结构

  1. types:主要介绍web方法的参数以及返回值类型
  2. message:数据信息,总个数为发布方法的2倍
  3. portType:描述web方法,绑定operation 元素,介绍方法名称,以及输入(input)、输出信息(output)
  4. binging:通信协议
  5. service:发布的端口

一个完整的文档,结构如下

webservice开发----------wsdl详解+实际文档解析

三:重点部分案例详解

下图为之前文章发布的web服务

1.types中的namespace为命名空间,类似于包名;schemaLocation定义了web方法参数及返回值类型

webservice开发----------wsdl详解+实际文档解析
types元素
webservice开发----------wsdl详解+实际文档解析
schemaLocation地址信息

可以看到2个方法,其中bye方法无参数,无返回值;sayHello方法参数、返回值类型都为String,与下图java代码对应

@WebMethod
public  String sayHello(String name){
		return "hello"+name;
	}

@WebMethod(operationName="bye")
public void sayBye(){
	System.out.println("bye");
}

2.portType元素中的operation元素个数为发布的方法个数

webservice开发----------wsdl详解+实际文档解析
portType中operation元素

3.service元素中的port端口号

webservice开发----------wsdl详解+实际文档解析
service中port端口号

四:总结

发布webservice方法会生成一个唯一的对应的wedl文档,调用方法,实际上是向服务端发送soap消息(xml报文)

相关标签: webservice wsdl