1

FindCompletedItemRequest で eBay にクエリを実行しようとしていますが、サーバーが 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 を削除したり、キーワードを切り替えたりしましたが、何も役に立たないようです。デバッグにより、サーバーがnullを返しているだけでサーバーにpingを実行していることがわかった。

任意のヘルプをいただければ幸いです。

4

1 に答える 1

3

CustomFindingServiceのコードを提供することをお勧めします。とにかく、私はあなたの問題を撃つことができます。

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

これはFinding API - appID が一連の X である C#.NET コード サンプルと同様の方法で要求を生成すると推測しています。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);ます。

于 2012-09-16T01:57:36.893 に答える