通过前台jquery调用本地WebService(一) SOAP体

连续查找动态WebService的资料 方法 依然困难重重 不知道这个算不算希望

WebService 是基于HTTP协议的一种传输方式 本质是传递XML

但是这个XML又不是普通的XML 他是一个要符合SOAP体的XML

这个SOAP体又要符合SOAP协议才行

举个例子 你写信邮出去 邮局需要你的信封上有收信人 收信人地址 寄信人地址 以及邮票 这样就符合了邮局的协议 邮局就会给你邮寄信件

而信件的内容中有某种你与收信人自己定义的格式 这样收信人才能看懂你的信

综上所述 这个信封部分就好比是HTTP协议 而这个信的格式就相当于SOAP协议

所以 SOAP协议是基于HTTP协议的


首先分析一下WebService


        我们需要知道调用WebService需要知道这个WebService的地址(url)、需要调用什么方法、方法中需要什么参数、方法返回值以及这个WebService的命名空间(Namespace)

这些都可以从WebService的WSDL文件中分析出来 但是通常都是直接用WebServiceClient自动解析

        刚才说过WebService的本质是传递XML 但是作为调用的我们 只需要传递参数值 知道调用什么方法等等 就可以调用 并不需要写什么XML 而这个XML又是符合SOAP协议的SOAP体 这个SOAP体的基本格式是这样的

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <soap:Body>
    <methodName xmlns="Namespace">
      <data>value</data>
    </methodName>
  </soap:Body>
</soap:Envelope>


第一行就不解释了

第二行是声明这是一个SOAP体 具体做什么用的 老实说我也不太清楚 不过所有的WebService都必须要这么写

主要说一下第三行以下的部分 也就是<soap:Body>标签里面的部分

<methodName xmlns="Namespace">

methodName 是方法名

Namespace是命名空间

data需要传递的参数名

value需要传递的参数值

这四个除了命名空间 剩下的三个也是咱们即使用WebServiceClient调用 也需要知道的东西 很必要 当然了 如果方法不需要传参data与value也可以省略

这个就是传递的SOAP体的基本型



  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值