using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Net;
using System.Web;
using System.Text;
using System.Threading.Tasks;
using System.Web.Script.Serialization;
using System.Web.Script.Services;
using System.Windows.Forms;
using System.Xml.Linq;
using System.Xml.XmlConfiguration;
using System.Xml;
namespace Windows_App_GET_and_POST
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string xToken = "";
string xcookies = "";
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://Server:8000/sap/opu/odata/sap/ZCUST_TESTING_SRV/post_cust");
request.Credentials = new NetworkCredential("username", "password");
request.ContentType = "application/atom+xml";
request.Accept = "application/xml,application/atom+xml";
request.Method = "GET";
request.Headers["x-csrf-token"] = "Fetch";
HttpWebResponse responseH = (HttpWebResponse)request.GetResponse();
xToken = responseH.Headers["x-csrf-token"];
xcookies = responseH.Headers["set-cookie"];
Console.WriteLine("xToken : " + xToken.ToString() + "\n| xcookies :" + xcookies.ToString());
responseH.Close();
posting(xToken.ToString());
}
catch(Exception ex)
{
MessageBox.Show("Error : "+ex.Message);
}
}
public void posting(string xm)
{
string postXml = @"<?xml version='1.0' encoding='UTF-8'?>" +
"<entry xml:base='http://Server:8000/sap/opu/odata/sap/ZCUST_TESTING_SRV/'\n" + "xmlns='http://www.w3.org/2005/Atom'" +
"xmlns:m='http://schemas.microsoft.com/ado/2007/08/dataservices/metadata'" +
"xmlns:d='http://schemas.microsoft.com/ado/2007/08/dataservices'>" +
"<content type='application/xml'>" +
"<m:properties>" +
"<d:Kunnr>800DUR392</d:Kunnr>" +
"<d:Land1>avi</d:Land1>" +
"<d:Name1>dur</d:Name1>" +
"<d:Name2>ven</d:Name2>" +
"<d:Ort01>chennai</d:Ort01>" +
"<d:Pstlz>500060</d:Pstlz>" +
"<d:EStatus>X</d:EStatus>" +
"</m:properties>" +
" </content>" +
" </entry>";
try
{
Console.WriteLine("postXml : " + postXml);
Console.WriteLine("xm : " + xm);
byte[] byteArray = Encoding.UTF8.GetBytes(postXml);
HttpWebRequest request_post = (HttpWebRequest)WebRequest.Create("http://Server:8000/sap/opu/odata/sap/ZCUST_TESTING_SRV/post_cust");
request_post.Credentials = new NetworkCredential("username", "password");
request_post.ContentType = "application/atom+xml";
request_post.Accept = "application/xml,application/atom+xml";
request_post.Headers["x-csrf-token"] = xm.ToString();
request_post.Method = "POST";
Console.WriteLine("xToken POST : " + xm.ToString());
request_post.ContentLength = byteArray.Length;
Stream dataStream1 = request_post.GetRequestStream();
dataStream1.Write(byteArray, 0, byteArray.Length);
Console.WriteLine("byteArray : " + byteArray);
dataStream1.Close();
Console.WriteLine("datastream1");
HttpWebResponse response1 = (HttpWebResponse)request_post.GetResponse();
Console.WriteLine(((HttpWebResponse)response1).StatusDescription);
Console.WriteLine("Post response : " + response1.ToString());
dataStream1 = response1.GetResponseStream();
StreamReader reader1 = new StreamReader(dataStream1);
Console.WriteLine(" Console.WriteLine(reader1 : " + reader1);
string responseFromServer1 = reader1.ReadToEnd();
Console.WriteLine(" Console.WriteLine(responseFromServer1 : " + responseFromServer1);
Console.Read();
reader1.Close();
dataStream1.Close();
response1.Close();
}
catch(Exception epost)
{
MessageBox.Show("Epost : "+epost.Message);
}
}
private void button2_Click(object sender, EventArgs e)
{
string xmlString = null;
string pName = "Durai";
string pPrice = "10000";
using (StringWriter xmlOutput = new StringWriter())
{
XmlDocument xmlDocument = new XmlDocument();
XmlElement productElement = xmlDocument.CreateElement("product");
XmlElement nameElement = xmlDocument.CreateElement("name");
nameElement.InnerText = pName;
XmlElement priceElement = xmlDocument.CreateElement("price");
priceElement.InnerText = pPrice;
productElement.AppendChild(nameElement);
productElement.AppendChild(priceElement);
xmlDocument.AppendChild(productElement);
xmlDocument.Save(xmlOutput);
xmlString = xmlOutput.ToString();
Console.WriteLine("xmlString"+xmlString);
}
}
}
}