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