通过Fiddler测试你的 REST WCF服务

  Fiddler是一款强大的软件,在实际的开发中它能帮助我们跟踪HTTP请求,记录发送请求和获取到请求结果的数据。
使用VS2008的时候,一直是用IE6浏览调试,使用Fiddler也正常。但本人一直习惯用FireFox,可怜用它访问的时
Fiddler却不能帮助记录下数据(FireFox版本:4.0)。还以为Fiddle只能在IE下使用,试了试chrome,发现也可以用。
言归正卷,本篇针对上篇中的REST服务(具体例子以及带代码采用上节中介绍的:通过HTTP协议标准动作使用REST WCF 服务)使用Fiddler简要做一个介绍。
首先大致说说Fiddler的界面,如图:

                    (图1)
  我们在测试REST WCF服务时,需要在右侧选中Request Builder选项卡,然后在其选项卡中的子项中选择Parse,然后选择相应的HTTP标准动作,如(GET\POST\DELETE\PUT),在地址栏中输入相应的URI地址。如图:

 

      (图2)

  若在契约结果中,定义了不同的请求类型,如定义 [WebInvoke(UriTemplate = "Student/{name}/{tel}", Method = "POST",RequestFormat = WebMessageFormat.Json,ResponseFormat = WebMessageFormat.Json)]
就需要输入JSON格式的请求头信息,即Accept:application/json。如图示:

 

                        (图3)

结果查看:
1、TextView:以文本格式显示的数据见图6
2、Web格式显示返回结果如下图:

                      (图4)
查看本次请求头,返回HTTP头信息:
点击右侧Inspector下即能查看到请求的请求数据,返回数据(由于一个URI中可能执行多次HTTP请求,所以,必须在左侧点击相应的请求才能查看相应的信息)
如本次请求头、返回的HTTP头如下图:

              (图5)
如果不指定ResponseFormat,会以什么格式返回呢。?
将POST结果定义改为:
[OperationContract]
[WebInvoke(
UriTemplate = "Student/{name}/{tel}"
, Method = "POST"
,RequestFormat = WebMessageFormat.Json
)]
string UpdateUser(string name, string tel);

重新编译以后,再次调用结果如下图:

              (图6)
测试说明:如果不指定返回格式,默认会以XML格式返回。
其他几种操作与以上类似,本文就不再赘叙。

posted @ 2011-11-07 18:23  tyb1222  阅读(4530)  评论(3编辑  收藏  举报