Quantcast
Channel: SCN : All Content - All Communities
Viewing all articles
Browse latest Browse all 8608

Odata post request call 403 forbidden error in c#

$
0
0

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);

            }

        }

    }

}


Viewing all articles
Browse latest Browse all 8608

Trending Articles



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