This question is already asked elsewhere but those things are not the solutions for my issue.
This is my service
[WebInvoke(UriTemplate = "", Method = "POST")] public SampleItem Create(SampleItem instance) { // TODO: Add the new instance of SampleItem to the collection // throw new NotImplementedException(); return new SampleItem(); }
I have this code to call the above service
XElement data = new XElement("SampleItem", new XElement("Id", "2"), new XElement("StringValue", "sdddsdssd") ); System.IO.MemoryStream dataSream1 = new MemoryStream(); data.Save(dataSream1); HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://localhost:2517/Service1/Create"); request.Method = "POST"; request.ContentType = "application/x-www-form-urlencoded"; // You need to know length and it has to be set before you access request stream request.ContentLength = dataSream1.Length; using (Stream requestStream = request.GetRequestStream()) { dataSream1.CopyTo(requestStream); byte[] bytes = dataSream1.ToArray(); requestStream.Write(bytes, 0, Convert.ToInt16(dataSream1.Length)); requestStream.Close(); } WebResponse response = request.GetResponse();
I get an exception at the last line:
The remote server returned an error: (405) Method Not Allowed. Not sure why this is happening i tried changing the host from VS Server to IIS also but no change in result. Let me know if u need more information