Frage Hintergrund:HttpWebRequest gibt 500 Statuscode, aber gibt JSON von der API zurück?
Ich versuche, eine einfache HttpWebRequest
auf eine Web-API zu machen, die ich in Azure gehostet haben.
Das Problem:
Wenn ich meinen Web-API-Endpunkt über einen Browser oder ein Tool zum Zugriff wie Postman ich ohne Probleme eine JSON
Antwort erhalte.
Wenn ich versuche, den gleichen Endpunkt durch einen HttpWebRequest
Anruf Zugriff erhalte ich einen 500 fatalen Fehler, aber ich bin in der Lage in der Ansprecheigenschaft der Try Catch
, um zu sehen, dass die JSON
Antwort zurückgegeben wurde.
The remote server returned an error: (500) Internal Server Error.
Der Code:
Das Folgende ist die einfache Anfrage ich auf den Web-API mache ich habe. Wie bereits erwähnt, in der Catch
die Antwort die JSON
Ich erwarte, dass der Rückkehr zurück, wie gezeigt:
{"ResponseMessage":"OK","ResponseContent:[{"kind":"youtube#playlistItem","etag":"\"gMxXHe- ........ etc }]}
Die Anfrage:
string url ="http://myapi.azurewebsites.net/api/videos/GetYouTubeVideos";
try
{
HttpWebRequest req = WebRequest.Create(url) as HttpWebRequest;
WebResponse wr = req.GetResponse();
}
catch (WebException wex)
{
var pageContent = new StreamReader(wex.Response.GetResponseStream())
.ReadToEnd();
}
Ich schätze, dass die Ursache für eine Identifizierung 500 ist nicht geradlinig, aber kann jemand einen Grund geben, dass ich diesen Fehler bekommen würde, aber auch noch die JSON
von dem Dienst erhalten, der anscheinend eine Ausnahme wirft? !
Hat Ihr JSON-Antwort gültig ist? Die Antwort, die Sie gegeben haben, ist nicht gültig. Wahrscheinlich ist es, weil Sie nur Beispieldaten hinzugefügt haben. Zweite Sache fügen Sie Ihren vollständigen Methodencode hinzu und fügen Sie der Antwortnachricht eine Ausnahme hinzu! –