易趣API GetCategorySpecifics错误500

时间:2016-11-10 23:34:19

标签: c# asp.net ebay-api

在检查了许多不同的选项后,我认为是时候向专家提问:)。

我正在尝试使用GetCategorySpecifics调用进行eBay API服务调用,但我不断收到以下错误消息:

The remote server returned an error: (500) Internal Server Error.

这是我的代码

//Create the XML File
public string CreateEbayXMLFile()
 { 
        string _ebayFeatureNS = "urn:ebay:apis:eBLBaseComponents";
        string resultXml = "";
        XDocument doc = new XDocument
        (
            new XDeclaration("1.0", "utf-8", ""),
            new XElement(_ebayFeatureNS + "GetCategorySpecifics",
            new XElement(_ebayFeatureNS + "CategorySpecific", true),
            new XElement(_ebayFeatureNS + "CategoryID", "CategoryID"),
            new XElement(_ebayFeatureNS + "FeatureID", "ItemSpecificsEnabled"),
            new XElement(_ebayFeatureNS + "ViewAllNodes", true),
            new XElement(_ebayFeatureNS + "DetailLevel", "ReturnAll"),
            new XElement(_ebayFeatureNS + "CategorySpecificsFileInfo", "true"),
            new XElement(_ebayFeatureNS + "ExcludeRelationships", "false"),
            new XElement(_ebayFeatureNS + "IncludeConfidence", "true"),
            new XElement(_ebayFeatureNS + "MaxNames"),
            new XElement(_ebayFeatureNS + "OutputSelector", "UnitPriceInfo")
            )
       );
    resultXml = doc.ToString();
    return resultXml;
 }

  //Make the Service Call
   public XmlDocument MakeTheServiceCall()
    {
       string localEbayXml = CreateEbayXMLFile();
       string _ebaySvcUrl = http://svcs.ebay.com/services/search/FindingService/v1;

      //Authentication and service call
       byte[] Xml_bytes = Encoding.UTF8.GetBytes(localEbayReqXml);
                HttpWebRequest req = (HttpWebRequest)System.Net.WebRequest.Create(_ebaySvcUrl) as HttpWebRequest;
                req.Headers.Add("X-EBAY-SOA-SECURITY-APPNAME", myAppId);
                req.Headers.Add("X-EBAY-SOA-OPERATION-NAME", "GetCategorySpecifics");
                req.Headers.Add("X-EBAY-SOA-SERVICE-VERSION", "1.0.0");
                req.Headers.Add("X-EBAY-SOA-GLOBAL-ID", "EBAY-US");
                req.Method = "POST";
                req.ContentLength = Xml_bytes.Length;
                req.ContentType = "text/xml";

                using (var requestStream = req.GetRequestStream())
                {
                    requestStream.Write(Xml_bytes, 0, Xml_bytes.Length);
                }

                XmlDocument xmlDoc = new XmlDocument();

                using (HttpWebResponse response = (HttpWebResponse)req.GetResponse())
                {
                    {
                        xmlDoc.Load(response.GetResponseStream());
                    }
                }

    }

我收到了HttpWebResponse声明的错误消息。它永远不会到达xmlDoc.Load(response.GetResponseStream());

请帮忙!

1 个答案:

答案 0 :(得分:0)

我将网址更改为https://api.ebay.com/ws/api.dll,问题解决了。所以而不是:

   string _ebaySvcUrl = http://svcs.ebay.com/services/search/FindingService/v1;

这是

   string _ebaySvcUrl = http://svcs.ebay.com/MerchandisingService

前者可以使用服务findCompletedItemsfindItemsByKeywords等等。

有关其他网址的列表以及何时使用它们,请参阅以下链接:

https://ebaydts.com/eBayKBDetails?KBid=429