HttpWebRequest オブジェクトを使用し、ステータス 200 OK を取得して、ASP.Net アプリケーションから Java Web アプリケーションに Web URL を接続しようとしています。しかし、GetResponseStream() を使用して応答コンテンツを読み取ろうとすると、「responseStream.Length」というエラーが発生し、「System.NotSupportedException」型の例外がスローされました
ここにコードがあります
string uri="https://myapp.com/mainservlet/";
System.Net.HttpWebRequest hwrequest = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(uri);
hwrequest.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
hwrequest.AllowAutoRedirect = true;
hwrequest.UserAgent = "http_requester/0.1";
hwrequest.Timeout = 60000;
hwrequest.Method = "POST";
if (hwrequest.Method == "POST")
{
hwrequest.ContentType = "text/xml";
// Use UTF8Encoding instead of ASCIIEncoding for XML requests:
System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();
byte[] postByteArray = encoding.GetBytes(postData);
hwrequest.ContentLength = postByteArray.Length;
System.IO.Stream poststream = hwrequest.GetRequestStream();
poststream.Write(postByteArray, 0, postByteArray.Length);
poststream.Close();
}
//Get the Response now.
hwresponse = (System.Net.HttpWebResponse)hwrequest.GetResponse();
// System.Xml.Linq.XDocument doc;
//hwresponse.Method = "GET";
string str = hwresponse.CharacterSet;
string str1 = hwresponse.ContentEncoding;
if (hwresponse.StatusCode == System.Net.HttpStatusCode.OK)
{
System.IO.Stream responseStream = hwresponse.GetResponseStream();
// Here i am getting that exception
注:ブラウザに同じURLを貼り付けようとすると、
エラー 404 -- RFC 2068 ハイパーテキスト転送プロトコルから見つかりません -- HTTP/1.1: 10.4.5 404 見つかりません サーバーは、要求 URI に一致するものを見つけられませんでした。状態が一時的なものか永続的なものかは示されていません。サーバーがこの情報をクライアントに提供したくない場合は、代わりにステータス コード 403 (Forbidden) を使用できます。410 (Gone) ステータス コードは、古いリソースが永続的に利用できず、転送アドレスがないことを内部で構成可能なメカニズムを通じてサーバーが認識している場合に使用する必要があります。
また、200 OK ステータスに入り、例外を示します。解決/提案の方法を教えてもらえますか?