soap协议的研究
程序员文章站
2022-05-18 15:50:08
...
1.开启tcp代理监视
这里我们使用eclipse的代理监视
window->show view->others
选择TCP/IP Monitor
在TCP/IP Monitor视图中选中Properties或者在eclipse的preferences中找到TCP/IP Monitor
配置
其中54321市监视的端口,12345是被监视的端口
2.发出请求
WeatherInterfaceImplService s=new WeatherInterfaceImplService();
WeatherInterfaceImpl weatherInterfaceImplPort = s.getWeatherInterfaceImplPort();
System.out.println(weatherInterfaceImplPort.queryWeather("je"));
调用到远程的服务
3.在TCP/IP Monitor视图中发生了变化
- 请求
POST /weathers HTTP/1.1
Accept: text/xml, multipart/related
Content-Type: text/xml; charset=utf-8
SOAPAction: "http://nio/WeatherInterfaceImpl/queryWeatherRequest"
User-Agent: JAX-WS RI 2.2.9-b130926.1035 svn-revision#5f6196f2b90e9460065a4c2f4e30e065b245e51e
Host: 127.0.0.1:54321
Connection: keep-alive
Content-Length: 196
<?xml version="1.0" ?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:queryWeather xmlns:ns2="http://nio/">
<arg0>广东</arg0>
</ns2:queryWeather>
</S:Body>
</S:Envelope>
- 响应
HTTP/1.1 200 OK
Date: Sat, 27 May 2017 03:14:45 GMT
Transfer-encoding: chunked
Content-type: text/xml; charset=utf-8
<?xml version="1.0" ?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:queryWeatherResponse xmlns:ns2="http://nio/">
<return>heihei</return>
</ns2:queryWeatherResponse>
</S:Body>
</S:Envelope>
请求和响应的上半部分是客户端的请求和响应体
下面的部分都是soap协议体的内容
必须的是Envelop元素,此元素将整个XML文档标示为一条SOAP消息
可选的是Header元素,包含头部信息
必须的是Body元素,包含所有调用和响应信息
可选的是Fault元素,提供有关的在处理消息发生的错误的信息
推荐阅读
-
python实现的udp协议Server和Client代码实例
-
Python实现同时兼容老版和新版Socket协议的一个简单WebSocket服务器
-
市场研究与用户研究最本质的区别
-
day21_步入百万年薪的第二十一天——面向对象初识、结构、从类名研究类、从对象研究类、logging模块进阶版
-
Objective-C中类和方法的定义以及协议的使用
-
关于IFRAME 自适应高度的研究
-
CSS定位中Positoin、absolute、Relative的一些研究
-
Java编程实现基于TCP协议的Socket聊天室示例
-
在Node.js下运用MQTT协议实现即时通讯及离线推送的方法
-
居理新房研究院:低频长周期场景下的算法设计