Я следующий код Классический ASP VBScript, который я должен использовать:VBScript - Как использовать Request.BinaryRead (Request.TotalBytes)
binRequest = Request.BinaryRead(Request.TotalBytes)
Set objDomDoc = Server.CreateObject("Msxml2.DOMDocument.4.0")
bGoodXml = objDomDoc.load(binRequest)
Этот код должен получить то, что будет превращаться в XML ,
Я использую следующий код в C#, чтобы послать запрос с XML на страницу, которая содержит код, указанный выше:
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
string postData = getXML();
byte[] data = Encoding.ASCII.GetBytes(postData);<br/>
req.Method = "POST";
req.ContentType = "application/x-www-form-urlencoded";
req.ContentLength = postData.Length;
using (Stream stream = req.GetRequestStream())
{
stream.Write(data, 0, postData.Length);
}
return "200";
и
private string getXML()
{
return "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>" +
"<MessageHeader>" +
"<ApplicationNo>" +
"1325447" +
"</ApplicationNo>" +
"</MessageHeader>";
}
Проблема заключается в том, что в VBScript код Request.TotalBytes
имеет значение (112), Request.Body содержит xml, но Request.BinaryRead(Request.TotalBytes)
возвращает Empty, а bGoodXml
- False.
Я делаю что-то неправильно? Я отправляю неверные данные? И НЕТ, я не могу использовать Request.Body
или objDomDoc.loadXML(binRequest)
. Я должен использовать код VBScript, который указан.
Edit:
забыл упомянуть, я использую .NET 2.0
VBScript, который вы опубликовали, представляет собой классический ASP-серверный код (который использует VBScript), простой ванильный VBScript не будет иметь доступа к объекту 'Request'. – Lankymart