Web Service相关概念的介绍

好吧,我不得不承认我对Web Service的理解也不多,至于为什么我非得把它做一个专题放在这里是因为它现在是所有电信运营商的基础架构,几乎所有的运营商一提到接口就整个Web Service堵住你。so, 我不得不屈服于这种鄙视,并且打心眼里就认同Web Service是一个很棒的东西。

我估计有很多朋友也跟我一样,很难清晰的描述出它的有点,大都由于客户或者公司规定要这样实现,毕竟它是大势所趋。 如果你很难说服自己接受这样一个模糊的概念的话,那么建议你可以先看看:http://www0.ccidnet.com/tech/guide/2001/11/01/58_3584.html

简而言之就是,它能让异构的产品统一接口化。再总之,咱们记住这样一个概念就好了:如果你还想混下去,那么你一定得知道Web Service。

让你接受这个概念很难, 然而学习Web Service却是一件非常简单的事情,我们根据如下的一些很简单的理解来学习一下:

  1. Web Service也是承载与传统的Web服务器之上的,使用的还是HTTP协议
  2. 传统的HTTP协传输的内容通常是HTML格式,而Web Service传输的标准的XML协议格式
  3. 为了更好的让大家更清晰的知道这个是Web Service,标准组织说我们要将之规范话,这样吧,当你们抓包看到HTTP+XML的数据报文,且XML数据中有SOAP字样的话,那么这就是Web Service了。而这种规范话的结果就是产生了SOAP(Simple Object Access Protocol)协议。大家理解有SOAP这个东西就行了,暂时不用深究。
  4. 要理解一个概念是:Web Service可以类似于c++语言中的类库调用。事实上,我们可以这样理解,每一次Web Service交互都是一个函数调用,客户端提供函数名称和参数值。服务器在处理完成以后再返回结果给客户端就OK了。
  5. 开发人员在调用函数时可以参考MSDN或者一些SDK开发文档,因为里面定义了函数名称和参数。在Web Service中也是有的,那就是WSDL(Web Service Description Language)。它完整了描述了我这个类或者名字空间有哪些函数可以供你调用,你需要输入几个参数,每个参数的类型是怎么样的。
一个典型的SOAP消息报文

POST /StockQuote HTTP/1.1
Host: www.stockquoteserver.com
Content-Type: text/xml; charset="utf-8"
Content-Length: nnnn
SOAPAction: "Some-URI"

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<SOAP-ENV:Body>
<m:GetStockQuoteResponse xmlns:m="urn:xmethods-quotes">
<Price>34.5</Price>
</m:GetStockQuoteResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

一个典型的WSDL文件内容

我们可以查看http://atom.research.microsoft.com/sensordatahub/service.asmx?WSDL
这是微软对外提供的一个接口
此外也可以看这里:http://api.google.com/GoogleSearch.wsdl
这就是Google对外提供的用于搜索的Web Service接口

在WSDL定义中,我们可以按照如下方式去记忆:

  • message相当于一个函数定义申明
  • portTyp中定义了类似于事件响应的列表及对应关系。message就在这里被调用。比如说就好像在Windows编程中,一个按钮对应的点击事件我们可以绑定到OnClick函数。

discount golf clubs

发表新评论

此内容将保密,不会被其他人看见。

快速链接

JSky
Pangolin
Pangolin帮助手册
渗透测试

投票

赞助

NOSEC所有开发的安全工具和资源都是免费的,以后也都会免费。如果您认为这些工具和资源对您有所帮助的话,您可以考虑进行一些赞助。您的支持将加快开发进度以及版本更新的速度,同时也能够让我们有动力开发更多的安全工具来支持您的工作 ;)
赞助你们我有什么好处?

用户登录