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

以前的文章中,已经介绍了具体案例的wsdl文档,在作了实际案例以后,以为以前的文章有些冗长,因此单独拿出来说解一下,原文连接webservice开发---------如何使用jdk发布webservice及调用java


一:wsdl文档是什么?

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

二:wsdl文档的基本结构

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

一个完整的文档,结构以下网络

三:重点部分案例详解

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

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

types元素
schemaLocation地址信息

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

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

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

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

portType中operation元素

3.service元素中的port端口号blog

service中port端口号

四:总结

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