使用C ++通过SOAP连接到TFS

时间:2014-09-29 14:16:11

标签: c++ web-services soap tfs

我有一个C ++(QT5)应用程序,现在我想连接到TFS并获得项目和项目的其他一些细节。主要目的是从MTM中提取测试用例。

有很多例子在C#中使用他们的API并轻松解决了这个问题。但是我对C ++没有这么好的运气。我不知道如何继续,我应该使用SDK编写自己的Web服务然后使用它还是TFS提供SOAP支持。

我认为确实如此,因此解雇了小提琴手,但从未在任何地方看到过auth方法。我看到的所有要求都是GET。并且有一个NTLM授权,如下所示。

GET http://localhost:8080/tfs HTTP/1.1
Host: localhost:8080
User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Authorization: NTLM TlRMTVNTUAABAAAAB4IIogAAAAAAAAAAAAAAAAAAAAAGAvAjAAAADw==

我可以提出任何建议或提示我将不胜感激。我希望有一些使用C ++的文档或示例/示例。

如果它有SOAP函数(WSDL),我可以使用KdSoap并将其与我的应用程序一起使用。

感谢。

1 个答案:

答案 0 :(得分:0)

无法绕过API。

虽然您可以直接连接到TFS的Web服务,但不支持此方法。您的代码可能会因TFS的任何更新而中断。我建议您使用c#创建一个Web服务,然后从您的代码中调用它。我希望其余的api将在某个地方可用。

另一个选择,虽然我怀疑支持是创建一个可以调用C#API的混合DLL,C ++ Managed。然后,您可以从本机代码调用混合代码。这是一个额外级别的包装器,实际上是为了帮助团队从C ++迁移到C#,但我相信它会起作用。

http://en.wikipedia.org/wiki/C%2B%2B/CLI