2012-08-28 35 views
1

我想查詢易趣與FindCompletedItemRequest但服務器返回null易趣findCompletedItems返回null

繼承人的代碼

public static CustomFindingService FindingService(){ 
CustomFindingService findingService; 
log.InfoFormat("Connect to Ebay: START"); 

findingService = new CustomFindingService("XXXXXX-XXXX-XXXXX-XXXXX-XXXXX"); 
findingService.UseDefaultCredentials = true; 

log.InfoFormat("Connect to Ebay: SUCCESS"); 
return findingService; 
    } 

var fcir = new FindCompletedItemsRequest {keywords = "5mp", categoryId =new string[] {"31388"}}; // 31388 is digital cameras 
var l = FindingService().findCompletedItems(fcir); 

我試圖刪除的categoryId和/切換的關鍵字似乎沒有任何幫幫我。調試已經告訴我,它正在ping服務器,只是服務器返回null。

任何幫助,將不勝感激。

回答

3

我會建議你給CustomFindingService的代碼。無論如何,儘可能我可以針對你的問題採取措施。

findingService = new CustomFindingService("XXXXXX-XXXX-XXXXX-XXXXX-XXXXX"); 

我猜,這生成類似的方式Finding API - C#.NET code sample與APPID作爲X系列的的請求。我猜你忘了將request.Headers.Add("X-EBAY-SOA-OPERATION-NAME", "findItemsByKeywords");更改爲request.Headers.Add("X-EBAY-SOA-OPERATION-NAME", "findCompletedItems");。簡單的解決方案是將它傳遞給請求的類型。例如。

public static CustomFindingService FindingService(string requestType){ // edit 
CustomFindingService findingService; 
log.InfoFormat("Connect to Ebay: START"); 

findingService = new CustomFindingService("XXXXXX-XXXX-XXXXX-XXXXX-XXXXX", requestType); // EDIT 
findingService.UseDefaultCredentials = true; 

log.InfoFormat("Connect to Ebay: SUCCESS"); 
return findingService; 
    } 

var fcir = new FindCompletedItemsRequest {keywords = "5mp", categoryId =new string[] {"31388"}}; // 31388 is digital cameras 
var l = FindingService(fcir.GetType().Name).findCompletedItems(fcir); // Edit 
// Or since you know the Name already just skip the whole get type thing and pass it in directly. 

此外,

log.InfoFormat("Connect to Ebay: SUCCESS"); 
return findingService; 

我的童話肯定,這是不正確。您在生成請求時不會收斂。而是在var l = FindingService().findCompletedItems(fcir);期間連接。

+0

上帝保佑你這一直是我的痛苦......一個月,答案很簡單 –