Erste (415) Unsupported Media Type error
Was ich zu tun habe ist, dass ich posten, um JSON-Daten in der angegebenen URL
Wo mein JSON sieht wie
{
"trip_title":"My Hotel Booking",
"traveler_info":{
"first_name":"Edward",
"middle_name":"",
"last_name":"Cullen",
"phone":{
"country_code":"1",
"area_code":"425",
"number":"6795089"
},
"email":"[email protected]"
},
"billing_info":{
"credit_card":{
"card_number":"47135821",
"card_type":"Visa",
"card_security_code":"123",
"expiration_month":"09",
"expiration_year":"2017"
},
"first_name":"Edward",
"last_name":"Cullen",
"billing_address":{
"street1":"Expedia Inc",
"street2":"108th Ave NE",
"suite":"333",
"city":"Bellevue",
"state":"WA",
"country":"USA",
"zipcode":"98004"
},
"phone":{
"country_code":"1",
"area_code":"425",
"number":"782"
}
},
"marketing_code":""
}
Und meine Funktion
string message = "URL";
_body="JSON DATA";
HttpWebRequest request = HttpWebRequest.Create(message) as HttpWebRequest;
if (!string.IsNullOrEmpty(_body))
{
request.ContentType = "text/json";
request.Method = "POST";
using (var streamWriter = new StreamWriter(request.GetRequestStream()))
{
streamWriter.Write(_body);
streamWriter.Flush();
streamWriter.Close();
}
}
using (HttpWebResponse webresponse = request.GetResponse() as HttpWebResponse)
{
using (StreamReader reader = new StreamReader(webresponse.GetResponseStream()))
{
string response = reader.ReadToEnd();
}
}
Und wenn ich Beitrag bin es; ich bin immer ein Fehler
"Der Remoteserver hat einen Fehler zurückgegeben: (415) Unsupported Media Type."
Jemand Ahnung davon; wo ich bin, zu verwechseln?
- Hast du jemals das gelöst? Ich bin stecken mit einem sehr ähnlichen Problem gepostet, dass ich über das hier
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie dies:
Für WebAPI >> Wenn Sie
calling this POST method from fiddler
, fügen Sie einfach das unten Zeile im header.Umbenannt habe ich mein Projekt und aktualisiert alle namespaces zu korrelieren, nach denen habe ich diese genau die gleiche Nachricht.
Ich erkannte, dass ich hatte nicht aktualisiert, die die Namensräume im Internet.config (name und Vertrag):
Hoffe, dies hilft allen, die dies Lesen.
Als beantwortet, von anderen das Problem mit dem ContentType. Sollte 'application/json'.
Hier ist ein Beispiel mit der alten WebRequest
Ich bin nicht 100% sicher, aber ich vermute du hast den text zu schicken, als ein byteArray, versuchen Sie dies:
diesem Beispiel wird von einem code, den ich erstellt für die web-api-Funktion akzeptiert json-Daten
Serialisieren Sie die Daten, die Sie übergeben möchten und codieren. Auch zu erwähnen
req.ContentType = "application/json";
"martin" - code funktioniert.