c # ebay api, работает на W7, но не на xp - PullRequest
0 голосов
/ 11 сентября 2010

Я разработал приложение, которое использует API-вызов finditemsAdvanced от ebay.Это работает без проблем на Windows 7, но когда я пробую это на машинах XP, функция возвращает ноль !!!!Я попытался отладить его на XP, с vs2010 и vs 2008, но ничего не было !!!!

здесь класс поиска:

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;
    }

и здесь вызов 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;
        }
    }
}

Этот код работает на машинах w7, я не понимаю, почему "res" всегда нулевой на xp !!!Сетевой каркас установлен 3,5 и 4,0, я думаю, это не проблема фреймворка.Есть идеи ??

Спасибо!

1 Ответ

0 голосов
/ 12 сентября 2010

Stab in the dark - брандмауэр Windows.

Попробуйте отключить его на панели управления во время отладки.Если это имеет значение, настройте исключение, чтобы разрешить вызовы API из вашего приложения через.

...