【SOAP定义】

SOAP   简单对象访问协议,基于http传输xml数据,soap协议体是xml格式。
SOAP   是一种网络通信协议
SOAP   即Simple Object Access Protocol简易对象访问协议
SOAP   用于跨平台应用程序之间的通信
SOAP   被设计用来通过因特网(http)进行通信
SOAP   = HTTP+XML,其实就是通过HTTP发xml数据
SOAP   很简单并可扩展支持面向对象
SOAP   允许跨越防火墙
SOAP   将被作为 W3C 标准来发展

【TCP/IP Monitor】

TCP/IP Monitor:是eclipse自带的一个工具,通过代理的方法监视tcp协议内容。

通过TCP/IP Monitor监视soap协议内容。

【Eclipse配置TCP/IP Monitor】

1.[ Window ]----->[ Show View ]----->[ Other ] ----->搜索"TCP",双击“TCP/IP Monitor”

2.在下方的“TCP/IP Monitor”中,鼠标右键点"Properties"

3.出现了以下界面,点击"Add",填写以下信息,点击“OK”,就启动了TCP/IP Monitor

【测试】

【运行结果】

测试本地的天气查询,启动服务端之后,查看浏览器,相当于进入了127.0.0.1:12345/weather

然后看控制台的运行结果

查看TCP/IP Monitor也有数据

【分析】

1.客户端请求的SOAP内容

POST /weather HTTP/1.1
Accept: text/xml, multipart/related
Content-Type: text/xml; charset=utf-8
SOAPAction: "http://server.weather.jaxws.Higgin.com/WeatherInterfaceImpl/queryWeatherRequest"
User-Agent: JAX-WS RI 2.2.4-b01
Host: 127.0.0.1:54321
Connection: keep-alive
Content-Length: 224

SOAP协议体的内容

<?xml version="1.0" ?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:queryWeather xmlns:ns2="http://server.weather.jaxws.Higgin.com/">
<arg0>北京</arg0> <!-- 请求的参数 -->
</ns2:queryWeather>
</S:Body>
</S:Envelope>

SOAP协议体包含下列元素:

[ 必须有的 ]

Envelop元素:此元素将整个XML文档标识为一条SOAP消息

Body元素:包含所有的调用和相应信息

[ 可选的 ]

Header元素:包含头信息

Fault元素:提供有关在处理此消息所发生的错误

【SOAP基本消息结构】

<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
<soap:Header>
... ...
</soap:Header>
<soap:Body>
... ...
<soap:Fault>
... ...
</soap:Fault>
</soap:Body>
</soap:Envelope>

最新文章

  1. 线程池ExecutorService
  2. c++实现单向链表
  3. 利用SQL注入漏洞登录后台的实现方法 。。。。转载
  4. 转centos65安装简测mysql cluster 7.3.7
  5. 读取tiled地图
  6. C#集合之ArrayList
  7. Android定时器功能实现方法
  8. hdu2574 Hdu Girls&#39; Day (分解质因数)
  9. 如何通过Maven的Tomcat插件运行Web工程
  10. python3 第十章 - 如何进行进制转化
  11. Vue-起步篇:Vue与React、 Angular的区别
  12. C# 合并、拆分PPT幻灯片
  13. ORM关于表那些事
  14. python之基于libsvm识别数字验证码
  15. Ehcache配置详解及CacheManager使用
  16. ubuntu 定时执行任务at
  17. Epson Pos Printer for .net
  18. Python -- 网络编程 -- 简单抓取网页
  19. day58
  20. 根据redis的pub/sub机制,写一个即时在线聊天应用

热门文章

  1. javascript设计模式2
  2. Fixing ssh login long delay
  3. 《Genesis-3D开源游戏引擎--横版格斗游戏制作教程01: 资源导入》
  4. iOS xcodebuild 打包app
  5. AJAX中文乱码PHP完美解决(IE和Firefox兼容)
  6. testlink邮件设置(centos 7)
  7. mysql查询语句举例
  8. Sublime 格式化代码 快捷键以及插件使用
  9. Objective-C中的占位符,打印BOOL类型数据
  10. Redis学习手册(管线)