来源:https://www.cnblogs.com/huanghongbo/p/5920123.html

WSDL是用来描述WebService的,它用XML的格式描述了WebService有哪些方法、参数类型、访问路径等等。

一个WSDL文档由四部分组成:

1、types

  指定了WebService用到的所有数据类型,上面用到了两种数据类型,int和datetime

2、message

  指明一个操作所用到的数据类型。

  HelloWorldSoapIn是指HelloWorld的输入操作用到的数据类型,HelloWorldSoapOut是指HelloWorld的输出操作用到的数据类型。二者的element元素指出了与types中对应到的具体类型。

3、portType

  指出了这个WebService所有支持的操作,就是说有哪些方法可供调用。

  这里支持一个HelloWorld调用,它的输入和输出对应到HelloWorldSoapIn和HelloWorldSoapOut这个两个数据类型。

4、binding

  soap12:binding元素的transport指明传输协议,这里是http协议。

  operation 指明要暴露给外界调用的操作。

  use属性指定输入输出的编码方式,这里没有指定编码。

5、services

  指定服务的一些信息,主要是指定服务的访问路径。

SOAP的传输协议使用的就是HTTP协议。只不过HTTP传输的内容是HTML文本,而SOAP协议传输的是SOAP的数据

a) Envelope

SOAP的请求内容必须以Envelope做为根节点。

xmlns:soap="http://www.w3.org/2001/12/soap-envelope",不能修改,否则会出错。http://www.w3.org/2001/12/soap-envelope里面有Envelope的schema的相关定义。有兴趣的可以去这个链接的内容。

soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding",这个指定了数据元素的类型。

b) Header

这个是可选的,如果需要添加Header元素,那么它必须是Envelope的第一个元素。

Header的内容并没有严格的限制,我们可以自己添加一些和应用程序相关的内容,但是客户端一定要记得处理这些Header元素,可以加上mustUnderstand强制进行处理。

c) Body

这个就是请求的主题内容了,请求什么函数,参数是什么类型等等都在这里面指定。

用标签表示一个函数,然后用子元素表示它的参数。

在调用中没有指定参数和返回类型,这里不需要指定,因为提供服务的一方自己已经规定好了数据类型,在调用时指定数据类型没有任何意义。

最新文章

  1. ASP.NET WEBAPI 的身份验证和授权
  2. mysql --prompt
  3. AS2.0大步更新 Google强势逆天
  4. 微信公众账号开发教程(三) 实例入门:机器人(附源码) ——转自http://www.cnblogs.com/yank/p/3409308.html
  5. mysql笔记整理
  6. 部署WEB应用程序
  7. echarts标准饼图解读(一)——提示框(tooltip)配置
  8. oracle6
  9. NodeJS+Express+MongoDB 简单个人博客系统【Study笔记】
  10. 多线程:head first Thread.join()
  11. [UWP]了解IValueConverter
  12. Java中的代理模式--静态代理和动态代理本质理解
  13. mongodb备份还原脚本
  14. JeeSite数据分页与翻页
  15. nginx配置proxy_pass URL末尾加与不加/(斜线)的区别
  16. Android-Java-接口Interface
  17. 在Visual Studio 2013中安装Mysql for EntityFramework
  18. 使用Visual Studio Team Services进行压力和性能测试(二)——压力测试执行
  19. angluarjs的tab标签
  20. HDU2037 今年暑假不AC

热门文章

  1. Android中饼状图的绘制
  2. Linux 下安装 java
  3. C# SQLITE 使用文档
  4. 对象浅拷贝Object.assign
  5. 松软科技课堂:jQuery 效果 - 滑动
  6. shell awk学习3
  7. super().__init__()方法
  8. excel给一列数据添加前缀和后缀
  9. 论文阅读笔记(十二)【CVPR2018】:Exploit the Unknown Gradually: One-Shot Video-Based Person Re-Identification by Stepwise Learning
  10. PHP Files functions