У меня есть 2 проекта: один - просто общий обработчик .ashx, а другой - тестовый проект, который отправляет в него документ XML.Как получить документ XML, который был опубликован?
Код клиента (сокращен для краткости)
string xmlToSend = "<?xml version=\"1.0\" encoding=\"utf-8\" ?><APPLICATION> <TRANSACTIONTYPE>12</TRANSACTIONTYPE></APPLICATION>";
WebRequest webRequest = WebRequest.Create(new Uri("http://localhost:8022/handle.ashx"));
webRequest.ContentType = "text/xml";
webRequest.Method = "POST";
byte[] bytes = Encoding.ASCII.GetBytes(xmlToSend);
Stream os = null;
webRequest.ContentLength = bytes.Length;
os = webRequest.GetRequestStream();
os.Write(bytes, 0, bytes.Length);
os.Close();
WebResponse webResponse = webRequest.GetResponse();
//if (webResponse == null)
//{ return null; }
StreamReader sr = new StreamReader(webResponse.GetResponseStream());
string sRet = "";
sRet = sr.ReadToEnd().Trim();
Код получения
public void ProcessRequest(HttpContext context)
{
// Well, not sure what to do here.
// context.Request.Params has a count of 48, but doesn't have the XML.
// context.Request.Form has a count of 0
}
Я знаюЯ здесь упускаю что-то фундаментальное.Но я не могу понять это ради своей жизни.
Пожалуйста, не предлагайте использовать WCF, если только я не заставлю это работать.Я нахожу WCF очень трудным и привередливым, чтобы встать и уйти.
Я даже не могу заставить свой обработчик ломать свои контрольные точки, но я знаю, что он вызывается (я менял его несколько раз навернуть дату, дату и время, несколько набросков, которые я ввожу, так что я знаю, что он вызывается и может ответить.)