2010-09-11 8 views
0

J'ai développé une application qui utilise l'appel API "finditemsAdvanced" d'ebay. Cela fonctionne sans problème sous Windows 7 mais quand je l'essaie sur des machines xp, la fonction retourne null !!!! J'ai essayé de le déboguer sur xp, avec vs2010 et vs 2008 mais rien !!!!C# ebay api, fonctionne sur W7 mais pas sur xp

ici la classe de recherche:

public SearchResult Search(Job searchedjob) 
    { 
     try 
     { 
      EbayFind service = new EbayFind(); 
      service.Url = "http://svcs.ebay.com/services/search/FindingService/v1"; 


      FindItemsAdvancedRequest findrequest = new FindItemsAdvancedRequest(); 

      ItemFilter[] filtro = new ItemFilter[1]; 
      int filter = 0; 

      //Tempo rimanente 
      filtro[filter] = new ItemFilter(); 
      filtro[filter].name = ItemFilterType.EndTimeTo; 
      filtro[filter].value = new string[] { searchedjob.TimeLeft.ToString("yyyy-MM-ddTHH:mm:ss.000Z") }; 
      filter++; 


      findrequest.keywords = "canon"; 
      findrequest.itemFilter = filtro; 
      findrequest.descriptionSearch = false; 

      // Setting the pagination 
      PaginationInput pagination = new PaginationInput(); 
      pagination.entriesPerPageSpecified = true; 
      pagination.entriesPerPage = 25; 
      pagination.pageNumberSpecified = true; 
      pagination.pageNumber = 1; 
      findrequest.paginationInput = pagination; 

      findrequest.paginationInput = pagination; 

      // Creating an object to the BestMatchService class 

      FindItemsAdvancedResponse resp = service.findItemsAdvanced(findrequest); 
      SearchResult res = resp.searchResult; 

      return res; 
     } 

et voici l'appel ebay:

class EbayFind : FindingService 
{ 
    protected override System.Net.WebRequest GetWebRequest(Uri uri) 
    { 

     try 
     { 

      HttpWebRequest request = (HttpWebRequest)base.GetWebRequest(uri); 
      request.Headers.Add("X-EBAY-SOA-SECURITY-APPNAME", "myappid"); 
      request.Headers.Add("X-EBAY-SOA-OPERATION-NAME", "findItemsAdvanced"); 
      request.Headers.Add("X-EBAY-SOA-SERVICE-NAME", "FindingService"); 
      request.Headers.Add("X-EBAY-SOA-MESSAGE-PROTOCOL", "SOAP11"); 
      request.Headers.Add("X-EBAY-SOA-SERVICE-VERSION", "1.0.0"); 
      request.Headers.Add("X-EBAY-SOA-GLOBAL-ID", "EBAY-US"); 
      return request; 

     } 

     catch (Exception ex) 
     { 
      throw ex; 
     } 

    } 
} 

}

Ce code fonctionne sur les machines W7, je ne comprends pas pourquoi "res" est toujours nul sur xp !!! Le framework net installé est 3.5 et 4.0, ce n'est pas un problème de framework je pense. Des idées?

Merci! Stoc dans l'obscurité - Pare-feu Windows.

+1

Quand vous dites que vous déboguez "mais rien", que voulez-vous dire exactement? –

Répondre

0

Essayez de le désactiver dans le panneau de contrôle pendant le débogage. Si cela fait une différence, configurez une exception pour autoriser les appels api de votre application.

Questions connexes