看这个你就明白了
webservice用soap协议,soap协议只是用来封装消息用的。封装后的消息你可以通过各种已有的协议来传输,比如http,tcp/ip,smtp,等等
http://topic.csdn.net/t/20031123/15/2485964.html
webservice用soap协议,soap协议只是用来封装消息用的。封装后的消息你可以通过各种已有的协议来传输,比如http,tcp/ip,smtp,等等
http://topic.csdn.net/t/20031123/15/2485964.html
解决方案 »
- 页面中添加地图
- java 将SVG转成JPG,可否设置大小?
- 利用Hibernate Criteria的分页处理,遇到的2个小问题
- “添加”“修改”“删除”按钮按下没有反应,请高手指点
- 关于java读入一行数据并根据空格分开的问题
- 开发一个12580客户端那样的软件需要那些技术和软件工具?
- 请教 SUN 公司 pet store 1.1.2 版安装运行
- struts中的selected问题
- 哪里可以下载j2ee sdk阿(我在sun网站找 怎么只有j2se sdk阿)
- 谁有一整套CSS和图标100分相送
- 一道非常有意思的题,可是我不会
- 关于Hibernate的映射和使用Spring后出现的问题
你可以坐火车出门,但是你不能说你是铁路实现的
我填了摄氏转华氏,500摄氏度,结果是933.8华氏度。下面是交互的数据。
发送:
POST http://www.w3schools.com/webservices/tempconvert.asmx/CelsiusToFahrenheit HTTP/1.0..Accept: */*..Referer: http://www.w3school.com.cn/webservices/ws_use.asp..Accept-Language: zh-cn..Content-Type: application/x-www-form-urlencoded..UA-CPU: x86..Proxy-Connection: Keep-Alive..User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; WPS; Maxthon; CIBA)..Pragma: no-cache..Content-Length: 11..Host: www.w3schools.com..Cookie: ASPSESSIONIDACCRBRCA=GMAEHIABLCIJEKEMDDKAPKAM; __utma=119627022.1292411626.1210746833.1210746833.1210749095.2; __utmc=119627022; __utmz=119627022.1210746833.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)....Celsius=501接收:
HTTP/1.1 200 OK..Via: 1.1 XXXXXXXXXXX..Connection: Keep-Alive..Proxy-Connection: Keep-Alive..Content-Length: 90..Date: Wed, 14 May 2008 08:07:23 GMT..Content-Type: text/xml; charset=utf-8..Server: Microsoft-IIS/6.0..MicrosoftOfficeWebServer: 5.0_Pub..X-Powered-By: ASP.NET..X-AspNet-Version: 2.0.50727..Cache-Control: private, max-age=0....<?xml version="1.0" encoding="utf-8"?>..<string xmlns="http://tempuri.org/">[color=#0000FF]933.8</string>[/color]
(颜色是我自己加的,为了方便看)就这个温度转换的例子而言,可以看出调用webservice服务并不是“xml”格式化的字符串,服务端返回的包含有“xml”化的数据。这些数据理论上通过socket是可以发送和接收的,但实际上自己生成第一次发送的内容基本上是不可能的,对于接收的内容倒是可以按照关键字进行筛选。karlpan01说的对,我的理解是错误的,不管是对webservice所在层次,还是它和socket的关系。也谢谢jdlsfl,更详细的给我解释,还有jiangsheng。
对于网络协议这一块,我是很不熟悉,下面对我最初的说法重新来过,还请几位再看看。
首先webservice可以通过http实现,也可以通过其他很多种协议实现,socket比http更底层,就像人和大便的关系,呵呵。
webservice如果用http协议来实现的话,那在socket层面上的解释是:
客户端调用webservice服务,即是向socket服务端(80端口?)发送一定格式(按照http协议打包?针对501,就会有第一次的数据那么多,想要搞明白,估计还得去研究http协议,对我是不可能的任务了)的字符串,然后在本次socket连接中接收服务端返回的字符串(字符串是将webservice处理产生的的实际内容“933.8”经过soap协议打包,即按照xml格式处理,也就是标红的部分,然后再经http协议处理(又包了一层网络通讯需要的内容,不过这和soap打包的性质不一样,soap是在数据内容层面上加上xml的格式),形成最终收到内容)
接收:
HTTP/1.1 200 OK..Via: 1.1 XXXXXXXXXXX..Connection: Keep-Alive..Proxy-Connection: Keep-Alive..Content-Length: 90..Date: Wed, 14 May 2008 08:07:23 GMT..Content-Type: text/xml; charset=utf-8..Server: Microsoft-IIS/6.0..MicrosoftOfficeWebServer: 5.0_Pub..X-Powered-By: ASP.NET..X-AspNet-Version: 2.0.50727..Cache-Control: private, max-age=0.... <?xml version="1.0" encoding="utf-8"?>.. <string xmlns="http://tempuri.org/">933.8 </string>