当前位置: 首页 > news >正文

webservice 原理

xml 里面的两个属性
targetNamespace --相当于java语言的package
xmlns --相当于于java的import

 


一个webservice的调用--其实并不是方法调用,而是发送soap消息(即xml片段)

调用一次webservice的本质:
1.客户端把调用方法参数,转换成xml片段(soap 消息,input消息)--该文档片段必须符合wsdl定义的格式。
2.通过网络,把xml文档片段传给服务器
3.服务器接收到xml片段
4.服务器解析xml文档片段,提取其中的数据,并把这些数据转换成webservice所需要的参数值
5.服务器执行方法
6.把执行方法得到的返回值,再次转换生成xml片段(soap消息,output消息)
7.通过网络,把xml文档片段传给客户端
8.客户器接收到xml片段
9.客户器解析xml文档片段,提取其中的数据,并把这些数据转换成webservice返回值。

要一个语言支持webservice,唯一的要求,该语言支持xml生成,解析,网络。

wdsl 包含内容: 

1.webservice 包含了什么操作
2.该webservice操作应该怎样操作
3.该webserivce的服务地址

发送xml消息片段

<getAllUserResponse>
 <return>
   <entries>  可能出现0~N次
      <key></key>
      <value>
          <id></id>
          <name></name>
          <pwd></pwd>
      </value>
   </entries>
 </return>
</getAllUserResponse>

wsdl包括内容:
---------------------------------------------------------------------------
webservice接口
1.types 元素
该元素内容就是schema文档
2.2n(n代表方法)个message元素
3.portType元素
包含n个operation元素,每个operation定义ws的一个操作
webservice实现
1.binding元素:包含n个更详细的operation元素
2.service元素:port子元素(webservice的绑定地址)
---------------------------------------------------------------------------

转载于:https://www.cnblogs.com/newlangwen/p/7815015.html

相关文章:

  • 检查点(Checkpoint)速度控制参数
  • grep
  • CentOS6.6+Puppet3.7.4分布式部署Nagios监控系统
  • SCVMM2012SP1异构虚拟化ID 22723问题解决
  • 时空日期审核错误修正
  • 一个java写的弹球小游戏
  • python 之浅谈接口的定义和抽象类以及抽象方法
  • Kickstart无人值守安装
  • mysql 备份脚本
  • vsftp安装与下载
  • Walle代码发布练习
  • Nagios Cacti
  • TCP的TIME_WAIT快速回收与重用
  • 学习笔记 八: web服务
  • 告警系统
  • JavaScript 如何正确处理 Unicode 编码问题!
  • __proto__ 和 prototype的关系
  • egg(89)--egg之redis的发布和订阅
  • express + mock 让前后台并行开发
  • jQuery(一)
  • Leetcode 27 Remove Element
  • Making An Indicator With Pure CSS
  • React系列之 Redux 架构模式
  • scrapy学习之路4(itemloder的使用)
  • spring cloud gateway 源码解析(4)跨域问题处理
  • vue:响应原理
  • VuePress 静态网站生成
  • 发布国内首个无服务器容器服务,运维效率从未如此高效
  • 翻译--Thinking in React
  • 关于使用markdown的方法(引自CSDN教程)
  • 后端_MYSQL
  • 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
  • 世界编程语言排行榜2008年06月(ActionScript 挺进20强)
  • 数据仓库的几种建模方法
  • 新手搭建网站的主要流程
  • LevelDB 入门 —— 全面了解 LevelDB 的功能特性
  • 长三角G60科创走廊智能驾驶产业联盟揭牌成立,近80家企业助力智能驾驶行业发展 ...
  • ​ 轻量应用服务器:亚马逊云科技打造全球领先的云计算解决方案
  • ​Kaggle X光肺炎检测比赛第二名方案解析 | CVPR 2020 Workshop
  • #QT(智能家居界面-界面切换)
  • #Spring-boot高级
  • (5)STL算法之复制
  • (免费领源码)Java#Springboot#mysql农产品销售管理系统47627-计算机毕业设计项目选题推荐
  • (三)模仿学习-Action数据的模仿
  • (一)VirtualBox安装增强功能
  • (终章)[图像识别]13.OpenCV案例 自定义训练集分类器物体检测
  • (转)Java socket中关闭IO流后,发生什么事?(以关闭输出流为例) .
  • (转载)hibernate缓存
  • .NET 4.0中使用内存映射文件实现进程通讯
  • .net core MVC 通过 Filters 过滤器拦截请求及响应内容
  • .NET Core 网络数据采集 -- 使用AngleSharp做html解析
  • .NET/C# 如何获取当前进程的 CPU 和内存占用?如何获取全局 CPU 和内存占用?
  • .NET关于 跳过SSL中遇到的问题
  • @ConfigurationProperties注解对数据的自动封装
  • [ HTML + CSS + Javascript ] 复盘尝试制作 2048 小游戏时遇到的问题