2016-11-10 1 views
0

여러 가지 옵션을 확인한 후 전문가에게 질문 할 시간입니다. :)이베이 (Ebay) API GetCategorySpecifics 오류 500

나는 GetCategorySpecifics 전화 사용하여 이베이 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());

도와주세요!

답변

0

URL을 https://api.ebay.com/ws/api.dll으로 변경했는데 문제가 해결되었습니다. 그래서 대신 :

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

이 전 사용자가 서비스 findCompletedItems, findItemsByKeywords 등 작업을 할

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

을합니다.

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

: 다른 URL의 목록

은 그들을 사용하는 경우, 아래 링크를 참조
관련 문제