欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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
配置
soap协议的研究
其中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元素,提供有关的在处理消息发生的错误的信息

相关标签: soap-tcp tcp监视