REST Webサービスにアクセスしようとしていますが、HTTP 500エラーが発生しました。正しくはないものの、見つからないものがあります。それは公に利用できるサービスです、そうでなければ私は403のエラーを得たでしょう。ここでC#からRESTサービスを呼び出す:エラー500
は私のコードです: (URLは、WebサービスのURLを含む文字列で、paramはパラメータを含む文字列です。)
string url = @"http://crimemapping.edmontonpolice.ca/DataProvider.asmx/getOccurrenceInfo";
string param = "{\"method\":\"send\",\"params\":[\"neighbourhoodID\":\"2\",\"crimeTypes\":\"Assault\",\"strStartDate\":\"2011,12,02\",\"strEndDate\":\"2012,03,01\"]}";
// Reassigning param to increase readability.
param = @"{""method"":""send"",""params"":[""neighbourhoodID"":""2"",""crimeTypes"":""Assault;Sexual Assaults;Break and Enter;Theft From Vehicle;Homicide;Theft Of Vehicle;Robbery;Theft Over $5000"",""strStartDate"":""2012,02,01"",""strEndDate"":""2012,03,01""]}";
string response;
WebRequest request = WebRequest.Create(url);
request.Method = "POST"; //REST based-services using Post method
request.ContentType = "application/json"; //tells request the content typs is JSON
request.ContentLength = param.Length;
StreamWriter requestWriter = new StreamWriter(request.GetRequestStream(), System.Text.Encoding.ASCII);
requestWriter.Write(param);
requestWriter.Close();
StreamReader responseReader = new StreamReader(request.GetResponse().GetResponseStream());
response = responseReader.ReadToEnd();
responseReader.Close();
は、url変数の値とparam変数を参照する必要があります。 500は内部サーバーエラーです。サービスが不安定であるか、処理方法がわからないデータが渡されたことを意味します。 –
Webサービスがjsonを受け入れることは確かですか?すべてではありません。 –
はい、これはJSONを受け入れます。私はフィドラーの跡からそれを知っています。 – Farhan