Quantcast
Channel: Active questions tagged datafeed - Stack Overflow
Viewing all articles
Browse latest Browse all 48

Error uploading items with Walmart marketplace API feed

$
0
0

I am trying to upload items with Walmart marketplace APIs(Bulk Create Item)but always get a response as 500 Internal server error. Any Ideas?the other Api functions are okay but not this func..Actually Others are using Method is "application/xml" but this is using "multipart/form-data;"

Note that the XML strings/example in the code below are taken from https://developer.walmartapis.com/#the-item-object and then I changed IDs property.

     public bool RequestUpdateItem()        {                    string strBaseUrl = string.Format("https://marketplace.walmartapis.com/v2/feeds?feedType=item");                    string strRequestMethod = "POST";                    WalmartSignature Signature = new WalmartSignature(consumerId, privateEncodedStr, strBaseUrl, strRequestMethod);                    string strSignature = string.Empty;                    HttpWebRequest httpWebRequest = null;                    HttpWebResponse httpWebResponse = null;                    WalmartOrderModel orderModel = new WalmartOrderModel();                    StringBuilder strBuilder = new StringBuilder();                    bool bReturnValue = false;                    try                    {                        strSignature = Signature.GetSignature(null);   // null -> generate timestamp                        httpWebRequest = (HttpWebRequest)WebRequest.Create(strBaseUrl);                        httpWebRequest.Method = strRequestMethod;                        httpWebRequest.Accept = "application/xml";                        httpWebRequest.ContentType = "multipart/form-data;";                        httpWebRequest.Headers.Add("WM_SVC.NAME", "Walmart Marketplace");                        httpWebRequest.Headers.Add("WM_SEC.AUTH_SIGNATURE", strSignature);                        httpWebRequest.Headers.Add("WM_CONSUMER.ID", Signature.ConsumerId);                        httpWebRequest.Headers.Add("WM_SEC.TIMESTAMP", Signature.TimeStamp);                        httpWebRequest.Headers.Add("WM_QOS.CORRELATION_ID", Guid.NewGuid().ToString());                        string strRequestBody =        @"<?xml version=""1.0"" encoding=""UTF-8""?><MPItemFeed xmlns=""http://walmart.com/"" xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xsi:schemaLocation=""http://walmart.com/MPItem.xsd""><MPItemFeedHeader><version>2.1</version><requestId>333pecEl55nics</requestId><requestBatchId>333ecElect55cs38</requestBatchId></MPItemFeedHeader>   <MPItem><sku>BDK72wsd44f</sku><Product><productName>QVS</productName><longDescription>QVS</longDescription><shelfDescription>QVS</shelfDescription><shortDescription>QVS</shortDescription><mainImage><mainImageUrl>http://images.antonline.com/img-main/500/037229400328.jpg</mainImageUrl></mainImage><productIdentifiers><productIdentifier><productIdType>UPC</productIdType><productId>220740171234</productId></productIdentifier></productIdentifiers><productTaxCode>2038710</productTaxCode><additionalProductAttributes><additionalProductAttribute><productAttributeName>product_id_override</productAttributeName><productAttributeValue>true</productAttributeValue></additionalProductAttribute></additionalProductAttributes><Electronics><brand>QVS</brand><ElectronicsCables></ElectronicsCables></Electronics></Product><price><currency>USD</currency><amount>99.29</amount></price><shippingWeight><value>0.12</value><unit>LB</unit></shippingWeight></MPItem></MPItemFeed>";                        MemoryStream stream = new MemoryStream();                        StreamWriter writer = new StreamWriter(stream);                        writer.Write(strRequestBody);                        writer.Flush();                        stream.Position = 0;                        httpWebRequest.ContentLength = stream.Length;                        using (Stream requestStream = httpWebRequest.GetRequestStream())                        {                            stream.CopyTo(requestStream);                            //requestStream.Write(stream, 0, stream.Length);                            httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse();                            if (httpWebResponse.StatusCode == HttpStatusCode.OK)                            {                                Stream streamResponse = httpWebResponse.GetResponseStream();                                var responseResult = XDocument.Load(streamResponse);                            }                        }                    }                    catch (Exception ex)                    {                        Console.WriteLine("RequestUpdateItem(): "+ ex);                    }                    return bReturnValue;                }

Viewing all articles
Browse latest Browse all 48

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>