J'ai un type complexe: J'ai alors un service Web de WCF reposant qui l'a dit: p> Le côté du navigateur i jsonized mon objet CustomClass à on ressemble à: p> i soumettez les données w / jQuery en utilisant $ .ajax afin que je puisse définir manuellement le type de contenu sur "Application / JSON "et quand il soumet, le post-collaboration ressemble à p> i obtenir l'erreur suivante: p> Le serveur a rencontré une erreur de traitement de la demande. Le message d'exception est 'là
Un élément de démarrage de la vérification des erreurs était l'objet de type myassembly.customclass. Rencontré inattendu
caractère 'c'. '. Voir les journaux du serveur pour plus de détails. La trace de la pile d'exception est la suivante:
chez System.Runtime.Serialization.xmlobjectSerializer.SstartObjectHandleExceptions
(XMLReaderDelegator Reader)
à System.Runtime.Sériialization.json.datacontractJsonSonerializer.SstartObject (XmblondictionaryReader
lecteur)
chez System.ServiceModel.Dispatcher.SingleBodyParameMessageFormather.readObject (message message)
chez System.ServiceModel.Dispatcher.SingleBodyParameMessageFormatter.Desérializequest (message de message
, Paramètres d'objet [])
au système.servicemodel.dispatcher.demultitiplexingdispatchMessageformatter.deserializequest (message
message, objet [] paramètres)
chez System.ServiceModel.Dispatcher.URImplateSpatchformatter.Deserializequest (message de message
, Paramètres d'objet [])
sur system.servicemodel.dispatcher.comPositedispatchformatter.deserializequest (message de message, objet
[] paramètres)
à System.Servicemodel.Dispatcher.DispatchOrleryRuntime.DeserializeInputs (MessagerPC et RPC)
à System.ServiceModel.Dispatcher.DispatchOperlerationRuntime.invokebegin (MessagerPC et RPC)
à System.ServiceModel.Dispatcher.ImmmutAftSapatchRuntime.ProcessMessage5 (MessagerPCC & RPC)
Au System.ServiceModel.Dispatcher.immmutAftActachRuntime.ProcessMessage4 (MessagerPCC & RPC)
à System.ServiceModel.Dispatcher.ImmmutableDispatchRuntime.ProcessMessage3 (MessagerPCC & RPC)
chez System.ServiceModel.Dispatcher.immmutAftSpatchRuntime.ProcessMessage2 (MessagerPCC & RPC)
à System.ServiceModel.Dispatcher.ImmmutAftInpatchRuntime.ProcessMessage1 (MessagerPCC & RPC)
sur system.servicemodel.dispatcher.messagerpc.process (booléen isopérationcontextset) p> J'ai essayé d'envelopper mes données Json'ized ... J'ai essayé d'utiliser $ .post pour envoyer le message (mais cela ne fait pas Définissez le contenu de l'application / JSON pour que le WebService ne comprenne pas) .. toutes idées? P> P>
3 Réponses :
Regardez ici pour une partie de votre réponse: Comment poster un tableau d'objets complexes avec JSON, JQuery to ASP.NET MVC Controller? P>
Donc, le problème que vous rencontrez est une erreur de sérialisation. Wcf veut voir le nom des propriétés dans le JSON enveloppé avec ""
donc je viens de courir dans la même erreur où p> n'a pas fonctionné mais p> travaille p> J'espère que cela aide quelqu'un d'autre dehors p> p>
Le problème que vous avez échappé à l'objet correctement, mais lorsque vous construisez un objet JSON complexe dans la méthode de Post JQuery, vous n'êtes pas échapper.
Donc, vous avez besoin d'un objet d'évacuation de tout ce que ceci: "{\" personnalisé \ ": \" {foo: \ "hello \", barre: 2} \ "}" (Je n'ai pas essayé moi-même, mais devrait travailler),
WCF est vraiment sensible aux objets JSON qu'il reçoit pour la sérialisation. p>