微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用SOAP的XML消息传递

转至:http://blog.csdn.net/jc_workspace/article/details/26950319

使用SOAP的XML消息传递的简易流程图:


详细步骤如下:

(1)服务请求者的应用程序创建一条 SOAP 消息,将此信息和服务提供者的网址一起提供给 SOAP 基础结构(例如一个 SOAP 客户机运行时)。 SOAP 客户机运行时与一个底层网络协议(例如 HTTP) 交互,然后在网络上将 SOAP 消息发送出去。
(2)网络基础结构将消息传送到服务提供者的 SOAP 运行时(例如一个 SOAP 服务器)。 SOAP 服务器将请求消息路由到服务提供者的 Web 服务。如果应用程序需要, SOAP 运行时负责将 XML 消息转换为特定于编程语言的对象。这个转换由消息中可以找到的编码模式所控制。
(3) Web 服务负责处理请求信息并生成一个响应。该响应也是一条 SOAP 消息。响应的 SOAP 消息被提供给 SOAP 运行时,其目的地是服务请求者。在 HTTP 上的同步请求/响应的情况中,联网协议的底层请求/响应本质用于实现消息传递的请求/响应。 SOAP 运行时将 SOAP 消息响应发送到网络上的服务请求者。
(4)响应消息由服务请求者节点上的联网基础结构接收。消息会经过整个 SOAP 基础结构;可能会将 XML 消息转换为目标编程语言中的对象。然后,响应消息被提供给应用程序
  1. publicinterfaceHello
  2. {
  3. publicStringsayHelloTo(Stringname);
  4. }
假设有上述接口定义的服务存在
  • 客户端在远程调用sayHelloTo方法时,提供一个名字,期望返回一个字符串
  • 假设Java RMI、CORBA、DCOM都不存在,开发者必须负责将方法调用串行化,并把消息发给远程服务器
  • 一个简单的方式是使用XML
  1. <spanstyle="font-family:KaiTi_GB2312;font-size:18px;"><?xmlversion="1.0"?>
  2. <Hello>
  3. <sayHelloTo>
  4. <name>John</name>
  5. </sayHelloTo>
  6. </Hello>
  7. </span>
XML 打包请求
  • 将接口名作为根结点
  • 方法和参数作为结点
将请求发送给服务器
  • 不创建自己的TCP/IP消息,利用HTTP
  • 将请求封装成HTTP POST请求格式发出
服务器接收到请求,解码 XML, 处理请求,然后以 XML 格式向客户发送响应

原文地址:https://www.jb51.cc/xml/294649.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。