zoukankan      html  css  js  c++  java
  • 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的绑定地址)
    ---------------------------------------------------------------------------

  • 相关阅读:
    SQL中的max()函数用法
    C#多线程
    C#操作redis
    spring+mybatis 多数据库事务
    实战项目中 :一个业务对多个数据库操作的同步的处理办法(要么都成功,要么都失败)Threadlocal 数据库事务
    redis之数据操作详解
    C# 两个数组取交集/补集 Intersect()
    MySQL创建索引
    MySQL每日执行
    MySQL删除重复数据
  • 原文地址:https://www.cnblogs.com/newlangwen/p/7815015.html
Copyright © 2011-2022 走看看