【问题标题】:c# ebay api, works on W7 but not on xpc# ebay api,适用于 W7 但不适用于 xp
【发布时间】:2019-07-13 02:04:08
【问题描述】:

我开发了一个使用 ebay 的“finditemsAdvanced”api 调用的应用程序。 它在 Windows 7 上运行没有问题,但是当我在 xp 机器上尝试它时,函数返回 null !!!我试图在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,我认为这不是框架问题。 有什么想法吗??

谢谢!

【问题讨论】:

  • 当你说你调试“但什么都没有”时,你到底是什么意思?

标签: c# ebay-api


【解决方案1】:

暗中刺杀——Windows 防火墙。

调试时尝试在控制面板中禁用它。如果有影响,请配置一个异常以允许您的应用程序的 api 调用通过。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-22
    • 2013-11-04
    • 1970-01-01
    • 1970-01-01
    • 2014-04-15
    • 1970-01-01
    相关资源
    最近更新 更多