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文档的基本结构
- types:主要介绍web方法的参数以及返回值类型
- message:数据信息,总个数为发布方法的2倍
- portType:描述web方法,绑定operation 元素,介绍方法名称,以及输入(input)、输出信息(output)
- binging:通信协议
- service:发布的端口
一个完整的文档,结构如下
三:重点部分案例详解
下图为之前文章发布的web服务
1.types中的namespace为命名空间,类似于包名;schemaLocation定义了web方法参数及返回值类型
可以看到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元素个数为发布的方法个数
3.service元素中的port端口号
四:总结
发布webservice方法会生成一个唯一的对应的wedl文档,调用方法,实际上是向服务端发送soap消息(xml报文)