eBay-Finding-API .NET SDK 'findItemsAdvanced' gibt null Reaktion

Ich versuche, verwenden Sie die eBay-Finding-API zu senden, erweiterte Suche, Anfrage und senden Sie die Ergebnisse. Ich habe meinen code unten.

Aus irgendeinem Grund, wenn ich die folgende Zeile:

FindItemsAdvancedResponse response = service.findItemsAdvanced(request);

das Objekt als "Reaktion" kommt zurück als null.

Ich bin mir nicht sicher, wohin ich gehe falsch und es wird keine exception geworfen wird, die aus dem Aufruf service.findItemsAdvanced()

Wenn Sie könnte nehmen Sie einen Blick-und Rat-ich wäre sehr dankbar dafür.

Hier ist mein Programm.cs, bis das problem

Programm.cs

using System;
using System.ServiceModel;
using System.ServiceModel.Channels;
using EbayParser.com.ebay.developer;
using System.Net;
namespace EbayParser
{

    class Program
    {
        static void Main(string[] args)
        {
            try
            {

                //Creating an object to the BestMatchService class

                CustomFindingService service = new CustomFindingService();
                service.Url = "http://svcs.sandbox.ebay.com/services/search/FindingService/v1";

                com.ebay.developer.FindItemsAdvancedRequest request = new EbayParser.com.ebay.developer.FindItemsAdvancedRequest();

                //Create Filter Objects
                com.ebay.developer.ItemFilter filterEndTimeFrom = new EbayParser.com.ebay.developer.ItemFilter();
                com.ebay.developer.ItemFilter filterEndTimeTo = new EbayParser.com.ebay.developer.ItemFilter();
                com.ebay.developer.ItemFilter filterCatID = new EbayParser.com.ebay.developer.ItemFilter();

                //Set Values for each filter
                filterEndTimeFrom.name = EbayParser.com.ebay.developer.ItemFilterType.EndTimeFrom;
                filterEndTimeFrom.value = new string[] { "" };

                filterEndTimeTo.name = EbayParser.com.ebay.developer.ItemFilterType.EndTimeTo;
                filterEndTimeTo.value = new string[] { "" };

                filterCatID.name = EbayParser.com.ebay.developer.ItemFilterType.EndTimeFrom;
                filterCatID.value = new string[] { "" };

                //Create the filter array
                com.ebay.developer.ItemFilter[] itemFilters = new EbayParser.com.ebay.developer.ItemFilter[3];

                //Add Filters to the array
                itemFilters[0] = filterCatID;
                itemFilters[1] = filterEndTimeFrom;
                itemFilters[2] = filterEndTimeTo;

                request.itemFilter = itemFilters;
                request.keywords = "ipod";

                //Creating response object

                FindItemsAdvancedResponse response = service.findItemsAdvanced(request);

und hier ist der code für die Klasse "CustomFindingService.cs"

CustomFindingService.cs

using System;
using System.Collections.Generic;
using System.Text;
using System.Net;
using EbayParser.com.ebay.developer;

namespace EbayParser
{
    class CustomFindingService : FindingService
    {
        protected override System.Net.WebRequest GetWebRequest(Uri uri)
        {

            try
            {

                HttpWebRequest request = (HttpWebRequest)base.GetWebRequest(uri);

                request.Headers.Add("X-EBAY-SOA-SECURITY-APPNAME", "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx");

                request.Headers.Add("X-EBAY-SOA-OPERATION-NAME", "findItemsByKeywords");

                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;

            }

        }
    }
}
  • Ich habe ausgeblendet my App-ID im obigen code.
  • Haben Sie Fiddler Blick auf die request-und response?
  • Ich habe nicht versucht noch, aber wird. Wenn ich die "service" - Objekt zu EbayFindingService anstelle der benutzerdefinierten Klasse als erbt EbayFindingService bekomme ich eine Fehlermeldung, die sagt "SOA header fehlt", Was ist der richtige Weg, um den header für eine FindItemsAdvancedRequest Artikel?
  • Auch wenn ich am Ende nicht mit der genauen Antwort, wenn jemand könnte sogar mich an, oder schreiben Sie ein einfaches Beispiel für die Verwendung der Ebay-SDK, das wäre toll. Alle Beispiele, die ich bisher gefunden habe, nur am Ende werfen Fehler oder sind veraltet und funktionieren nicht mehr.
InformationsquelleAutor Dan Harris | 2010-09-01
Schreibe einen Kommentar