WCF 4.0 : WebMessageFormat.Json ne fonctionne pas avec WCF REST Modèle
Téléchargé le WCF REST Modèle de cette emplacement.
De la réponse par défaut est le format XML, qui fonctionne très bien. Cependant, lorsque j'essaie d'obtenir une réponse JSON, je reçois encore XML.
C'est mon code modifié -
[WebGet(UriTemplate = "",ResponseFormat = WebMessageFormat.Json)]
public List<SampleItem> GetCollection()
{
//TODO: Replace the current implementation to return a collection of SampleItem instances
return new List<SampleItem>() { new SampleItem() { Id = 1, StringValue = "Hello" } };
}
Note le ResponseFormat=WebMessageFormat.Json. C'est le seul changement que j'ai fait pour ce modèle.
Ce qui me manque?
Merci!
Vous devez vous connecter pour publier un commentaire.
Compris.
automaticFormatSelectionEnabled
propriété pour standardendpoint doit être réglé àfalse
et defaultOutgoingReponseFormat doit être réglé àJson
.ResponseFormat = WebMessageFormat.Json
est ignoré en silence, et vous devez comprendre cela! WCF serait totalement inutilisable sans GoogleautomaticFormatSelectionEnabled="false"
serait juste assez pour contourner le bug.defaultOutgoingResponseFormat
propriété entre en jeu lorsque vous n'avez pas spécifié leWebMessageFormat
explicitement.Changements à 2 attributs dans le web.config permettra de le corriger:
automaticFormatSelectionEnabled=false
defaultOutgoingResponseFormat=Json
(édité: à partir de "vrai")Pour moi, la définition de la réponse au format JSON dans le WebGet attribut ne fonctionne pas. Réglage dans le corps de la méthode n';
Cliquez -> liens de référence
"Lorsque automatique du format de sélection est activé, l'infrastructure de l'analyse de l'en-tête Accept de le message de demande et détermine la forme de la réponse. Si l'en-tête Accept ne spécifiez pas une réponse adaptée du format, de l'infrastructure utilise le Content-Type du message de requête ou de la réponse par défaut le format de l'opération."
EDIT: ce lien pourrait vous aller de l'avant
http://blogs.msdn.com/b/endpoint/archive/2010/11/01/wcf-webhttp-service-returns-http-415-unsupported-media-type.aspx
J'ai été frappé des questions comme ça à chaque fois j'ai essayé de créer un JSON web service.
Maintenant, je viens de suivre les étapes indiquées ici.
http://mikesknowledgebase.com/pages/Services/WebServices-Page1.htm
Il montre comment créer un JSON service web, étape par étape, avec des captures d'écran et des exemples.
Espère que cette aide.