Visual Studio Developer Center > Visual Studio Team System Forums > Team Foundation Server - Work Item Tracking > Support for workitemtracking/v1.0/clientservice.asmx web service

Answer Support for workitemtracking/v1.0/clientservice.asmx web service

  • Tuesday, November 21, 2006 7:00 PM
     
     

    There doesn't seem to be any documentation for this web serivce.  I've managed to make some progress on it by capturing the HTTP traffic while Team Explorer is making queries and cramming that into a test app, but I've run up against a wall.  When I make a call to the PageWorkItemsByIds method both the DataSet returned by the call and the DataSet passed as an out parameter come back empty:

    data = tfs.PageWorkitemsByIds(ids, columns.ToArray(), textColumns.ToArray(), System.DateTime.Now, false, entries, out ds);

    And yet if I look at the HTTP traffic I can see the DataSet gets returned from the call.  It's not compressed, but the data is there.  So how is it being returned?  What am I missing?

     

     

     

     

     

Answers

  • Thursday, November 23, 2006 11:57 AM
    Moderator
     
     Answer
    I would back up Luis here.  Speaking from (as far as I am aware) the only other team outside of Microsoft to develop a client that talks directly to the TFS Work Item Web Services - it really is something that you don't want to do for lots of reasons, the least of which is that it really is not supported or documented by Microsoft.

    You should definitely use the Work Item .NET Object model if you are talking to the work item repository from a .NET application.  It will be faster, more likely to work, will take significantly less time to develop and will work as TFS is updated to new versions.

    The "Cannot pass GC Handle across AppDomains" is a known problem with TFS V1.  This will be fixed in SP1, a beta version of which you can download from Microsoft Connect (http://connect.microsoft.com).  Typically, you run across that problem when trying to run a web application with web apps accessing the .NET API.  This can be worked around in V1 (without SP1) by running those web application in seperate Application Pools.

    Hope that helps,

    Martin.

All Replies

  • Wednesday, November 22, 2006 9:33 AM
     
     

    Hi, going directly to the webservice is neither recommended nor supported scenario by Microsoft, the best is using the Work Item API for accesing WI in your programs, you have the full documentation of the API in the MSDN, or there is any special reason to go directly for the webservice?

  • Wednesday, November 22, 2006 5:30 PM
     
     

    Using the WorkItemStore/WorkItem method to get work items works.... mostly.  I get a GC Handle Across AppDomains error from time to time using that method so I thought I'd try the WebService path.  I'm not able to get a satifactory answer on solving the AppDomain problem (see post http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=463093&SiteID=1). 

    What's confusing to me is why the return value from the soap proxy is empty but the HTTP response contains the data.  Is there some "magic" going on in the method call or proxy that I don't know about?

  • Thursday, November 23, 2006 9:00 AM
     
     
    Sorry if I'm repeating again, whynot to use the work item API? it will be lot of easier, and you have lot of documentation about it here: http://msdn2.microsoft.com/en-us/library/microsoft.teamfoundation.workitemtracking.client(VS.80).aspx
  • Thursday, November 23, 2006 11:57 AM
    Moderator
     
     Answer
    I would back up Luis here.  Speaking from (as far as I am aware) the only other team outside of Microsoft to develop a client that talks directly to the TFS Work Item Web Services - it really is something that you don't want to do for lots of reasons, the least of which is that it really is not supported or documented by Microsoft.

    You should definitely use the Work Item .NET Object model if you are talking to the work item repository from a .NET application.  It will be faster, more likely to work, will take significantly less time to develop and will work as TFS is updated to new versions.

    The "Cannot pass GC Handle across AppDomains" is a known problem with TFS V1.  This will be fixed in SP1, a beta version of which you can download from Microsoft Connect (http://connect.microsoft.com).  Typically, you run across that problem when trying to run a web application with web apps accessing the .NET API.  This can be worked around in V1 (without SP1) by running those web application in seperate Application Pools.

    Hope that helps,

    Martin.

  • Monday, February 08, 2010 4:39 PM
     
     
    Luis Fraile, don't you need Team Explorer installed to use the API??

    I think you can't just use the assembly... am i right?

    Cheers from Argentina!

    Pablo

    PS. sorry my english is horrible!

    Pablo Rotondo http://www.datapayasadas.com.ar
  • Saturday, August 14, 2010 1:33 AM
     
     
    Sorry if I'm repeating again, whynot to use the work item API? it will be lot of easier, and you have lot of documentation about it here: http://msdn2.microsoft.com/en-us/library/microsoft.teamfoundation.workitemtracking.client(VS.80).aspx

    Is the link expired? Is there something wrong with the link? It cannot be opened.
  • Sunday, August 15, 2010 1:04 PM
     
     
    It seems to work just fine, what error do you get? Also for the latest version use the URL without the Visual Studio 2005 (VS.80) qualifier, http://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.workitemtracking.client.aspx is for TFS 2010.
  • Tuesday, January 25, 2011 2:51 AM
     
     
    Mathias, "Is the link expired" is one of the common phrases used by hidden link seo spammers. These spammers do not understand technical questions so they use vargue words that fit every forum.

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
    Visual C++ MVP