TFS 2010是否具有可用于查询签到,工作项等的Web服务?

Mat*_*att 9 tfs tfs2010

我已经发现TFS 2010具有以下Web服务端点

HTTP:// tfsservername:8080/TFS/TeamFoundation /行政/ 3.0/WarehouseControlService.asmx

是否有人可以获得签到,工作项目和其他TFS项目?

Edw*_*son 19

更新:是的!Visual Studio Online 引入了新的REST API,TFS 2013的本地安装可以访问此新API.

在TFS 2013之前的TFS版本中:

tl;博士:你决不会想要消费.

Team Foundation Server确实公开了客户端用来与之通信的SOAP Web服务.但是,它不是公开记录的内容,它不受微软的支持(意味着它们可以,并且会将版本更改为版本),而且坦率地说,所需的努力非常不值得.

尽管Web服务设计得很好,但某些Web服务需要大量的客户端状态.对于跟踪Web服务的工作项尤其如此.客户端基本上包含一个完整的"规则引擎",用于处理和验证对任何字段的更改.在将更新的工作项提交回服务器之前,客户端基本上必须能够理解流程模板并处理所有这些状态更改.服务器将同时运行的规则和验证客户端只取得了合法的变化.

规则引擎未公开公开.你必须对它进行逆向工程.

这也使得像Web服务堆栈这样的一些基本假设可以成功地正确地说NTLM2和Kerberos(大多数不能,在.NET Web服务堆栈之外,尽管有些人在某种程度上支持NTLM版本1,这只会给你您应该进行身份验证的错觉.)

因此强烈建议您只使用Microsoft的API之一来访问TFS,无论是.NET还是Java SDK.

(我实际上是为第三方公司工作,通过与Web服务交谈成功地为TFS写了一个Java前端.这对我们来说是一个公平的挑战 - 特别是工作项目实施 - 这是全职的我们几个人的工作.我不推荐它作为一个辅助项目.)


小智 5

就像爱德华提到的那样,TFS网络服务并不适合公共消费.

另一方面,您可能想尝试"为Team Foundation Server提供OData服务".

它提供了一个非常好的类似REST的接口 - 因此可以通过发出HTTP请求来调用,就像您愿意使用Web服务一样.

要了解更多信息,请查看本博客文章:http://blogs.msdn.com/b/briankel/archive/2011/10/26/odata-service-for-team-foundation-server-2010-v1.aspx