3
요청의 원시 데이터를 보내려고 노력 중이며 Page.Request.InputStream
이 필요하다는 것을 알았지 만 내 페이지에 들어갈 때는 항상 비어 있습니다.Request.InputStream 항상 비어 있습니다.
저는 C#의 Windows Forms 응용 프로그램을 사용하고 있기 때문에 새로운 개념입니다.
이 내가로드 나의 페이지입니다 :
public override void process(NameValueCollection parametersReceived)
{
string urlDestination = "";
urlDestination = parametersReceived[Includes.SUPPLIER_URL];
Stream str; String strSoapMessage = "";
Int32 strLen, strRead;
str = Request.InputStream;
strLen = Convert.ToInt32(str.Length);
byte[] strArr = new byte[strLen];
strRead = str.Read(strArr, 0, strLen);
for (int i = 0; i < strLen; i++)
{
if (strSoapMessage.Length > 0)
strSoapMessage += "&";
strSoapMessage += strArr[i].ToString();
}
saveMyLog("DATA COMMUNICATION: \n Destination: " + urlDestination + "\n Request: " + strSoapMessage);
HttpWebRequest webRequest = null;
webRequest = (HttpWebRequest)WebRequest.Create(new Uri(urlDestination));
webRequest.Method = "POST";
webRequest.ContentType = "text/xml";
webRequest.Headers.Add("SOAPAction", urlDestination);
using (StreamWriter requestStream = new StreamWriter(webRequest.GetRequestStream()))
{
requestStream.Write(strSoapMessage);
}
strSoapMessage = "";
strSoapMessage = new StreamReader(webRequest.GetResponse().GetResponseStream()).ReadToEnd();
Response.Write(strSoapMessage);
saveMyLog("\n Status: " + ((HttpWebResponse)webRequest.GetResponse()).StatusCode.ToString() + "\n Response: " + strSoapMessage);
}
감사합니다!
나는이 tryed했던 나는 내가 그것을 잘 0 – XandrUu
을 말하는 Request.InputStream보고 내 페이지를로드 단지 befor를 노후된 일시 정지 할 때 작동하지 않았다, 이 경우 코드를 표시하는 것이 좋습니다. 클라이언트와 서버뿐입니다. –
나는 질문을 업데이트했다 – XandrUu