मैं एक HTTP अनुरोध के माध्यम से एक एक्सएमएल स्ट्रिंग भेजने की कोशिश कर रहा हूं, और इसे दूसरे छोर पर प्राप्त करता हूं। प्राप्त करने के अंत में, मुझे हमेशा यह मिल रहा है कि एक्सएमएल शून्य है। क्या आप मुझे बता सकते हैं कि ऐसा क्यों है?HTTP अनुरोध के माध्यम से xml कैसे भेजें, और इसे एएसपी.नेट एमवीसी का उपयोग करके प्राप्त करें?
संदेश:
var url = "http://website.com";
var postData = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?><xml>...</xml>";
byte[] bytes = System.Text.Encoding.ASCII.GetBytes(postData);
var req = (HttpWebRequest)WebRequest.Create(url);
req.ContentType = "text/xml";
req.Method = "POST";
req.ContentLength = bytes.Length;
using (Stream os = req.GetRequestStream())
{
os.Write(bytes, 0, bytes.Length);
}
string response = "";
using (System.Net.WebResponse resp = req.GetResponse())
{
using (StreamReader sr = new StreamReader(resp.GetResponseStream()))
{
response = sr.ReadToEnd().Trim();
}
}
प्राप्त करें:
[HttpPost]
[ValidateInput(false)]
public ActionResult Index(string xml)
{
//xml is always null
...
return View(model);
}
थोड़ा बदसूरत लगता है, लेकिन MVC के साथ भी मेरे लिए काम किया 4. – AFract
धन्यवाद यह भी मेरे लिए काम किया .. हैं.यदि आप एक धारा आप को पढ़ने के लिए के रूप में यह पोस्ट कर रहे हैं डेटा प्राप्त करने के लिए इनपुट स्ट्रीम। "xml" में प्राप्त करने के लिए आपको पोस्ट पैरामीटर के रूप में क्वेरी स्ट्रिंग के साथ भेजना होगा –