Hi,
Thanks for the response. Please find the attached postman screenshot. Also below is the code. I am using C#.net and i'm not using Json format.
public XmlDocument POSTWorksapcesitems()
{
if (!_loggedIN) { return null; }
XmlDocument xmlDoc = new XmlDocument();
Properties obj = new Properties();
List<items> itemlist = new List<items>();
items new1 = new items();
new1.key = "BRAND";
new1.value = "TEST";
itemlist.Add(new1);
metafields meta = new metafields();
meta.itemsobj = itemlist;
List<metafields> metaobj = new List<metafields>();
metaobj.Add(new metafields() { itemsobj = itemlist });
//{"key":"BRAND","fieldData":{"value":"N/A","formattedValue":"N/A","dataType":"Single Line Text"}
//{"key":"BRAND","fieldData":{"value":"Adidas","formattedValue":"Adidas","dataType":"Single Line Text"}
string RequestUri = _tenantURI + "api/rest/v1/workspaces/54/items";
HttpClient client = new HttpClient();
client.BaseAddress = new Uri(RequestUri);
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/xml"));
HttpResponseMessage response = client.PostAsJsonAsync(RequestUri, metaobj).Result;
HttpWebRequest request = getHTTPRequest(_tenantURI + "api/rest/v1/workspaces/54/items.xml", "GET");
// HttpWebRequest request = getHTTPRequest(_tenantURI + "api/rest/v1/workspaces/11/items", "Post");
request.Headers.Add(HttpRequestHeader.Cookie, _authCookie);
HttpWebResponse response1 = (HttpWebResponse)request.GetResponse();
using (XmlReader reader = XmlReader.Create(response1.GetResponseStream(), new XmlReaderSettings() { CloseInput = true }))
{
xmlDoc.Load(reader);
}
return xmlDoc;
}
private HttpWebResponse post(string uri, string payload)
{
XmlDocument doc = new XmlDocument();
HttpWebRequest request = getHTTPRequest(uri, "POST");
request.Headers.Add(HttpRequestHeader.Cookie, _authCookie);
UTF8Encoding encoding = new UTF8Encoding();
request.ContentLength = encoding.GetByteCount(payload);
request.ContentType = "application/xml";
using (Stream reqStream = request.GetRequestStream())
{
reqStream.Write(encoding.GetBytes(payload), 0, encoding.GetByteCount(payload));
}
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
return response;
}
private HttpWebRequest getHTTPRequest(string uri, string method)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
request.Method = method;
request.Accept = "application/xml";
return request;
}
}
public class itemInsert
{
public string ContentType { get; set; }
public string Author { get; set; }
public string id { get; set; }
}
public class Properties
{
public List<metafields> prop { get; set; }
}
public class metafields
{
public List<items> itemsobj { get; set; }
}
public class items
{
public string key { get; set; }
public string value { get; set; }
}
Thanks,