web service 基础知识

 之前写web service程序时,因为框架已经写好了,网上查一下就知道怎么写了,但原理还不是很了解,如一些规范:soap,wsdl等,现在有时间慢慢整理一下。

1. SOAP

     soap的学习过程:

    (1)soap的简单介绍:http://zh.wikipedia.org/wiki/SOAP

                                          http://msdn.microsoft.com/zh-cn/library/ms951268.aspx

    (2)学习XML Schema语法:http://www.w3school.com.cn/schema/index.asp 

    (3)学习SOAP的知识:http://www.w3school.com.cn/soap/index.asp

                                           http://wenku.baidu.com/view/b38a108ad0d233d4b14e6924.html

    (4)soap测试工具:soapUI,可以直观的看到请求的xml数据内容,很不错的一个工具,支持并发测试等等。

               soapUI的使用介绍:http://wenku.baidu.com/view/8039e4fff705cc17552709ed.html

 

简而言之:HTTP + XML = SOAP

 

SOAP的请求

POST /InStock HTTP/1.1
Host: www.example.org
Content-Type: application/soap+xml; charset=utf-8
Content-Length: nnn

<?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:Body xmlns:m="http://www.example.org/stock">
    <m:GetStockPrice>
      <m:StockName>IBM</m:StockName>
    </m:GetStockPrice>
  </soap:Body>
  
</soap:Envelope>

HTTP post方式的请求:

POST /InStock HTTP/1.1
Host: www.example.org
Content-Type: application/x-www-form-urlencoded; charset=gb2312
Content-Length: 10

username=zhangsan&passwd=123456

解释HTTP post:

    (1) 第一行为请求行,我们以post的方式发送一个http1.1协议的请求,请求路径是/InStock

    (2)第二行到第四行为请求头,即请求的附加信息,具体可看一下张孝祥老师的HTTP协议讲解视频,很经典的。

    (3)第五行为空行,用来区分请求头,请求体内容的。

    (4)第六行为请求体,即我们页面上输入的用户名,密码是以[key=value;]格式来显示的。

HTTP,和SOAP发送的请求对比中可以看出,主要的区别体现在请求体上;soap请求的请求体是符合soap规范的结构化的xml数据。

   总结:SOAP就是在http上传输xml格式化的数据。

2. WSDL

    wsdl学习过程:

    (1) 基础知识,百度知道:http://baike.baidu.com/view/160660.html?wtp=tt

       基维百科:http://zh.wikipedia.org/wiki/WSDL

    (2)wsdl规范的语法:http://www.w3school.com.cn/wsdl/index.asp

    (3)wsd的详解:http://blog.csdn.net/sandayh/article/details/7081615

    总结:wsdl是对一个web服务的描述,一个人和计算机都能看懂的web服务接口文档,我们可以根据该接口文档生成代码进行开发。

 

3. 对SOAP,WSDL有了了解之后,可以学一下soap的开发:AXIS是一个soap服务器,提供了客户端,服务器的实现。

    学习资料:http://axis.apache.org/axis/java/user-guide.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值