Bonjour,

Je voudrais poster un object Client en JSON à mon service WCF.

Interface
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
[OperationContract]
        [WebInvoke(Method = "POST", UriTemplate = "UpdateClientByClientId", ResponseFormat = WebMessageFormat.Json, RequestFormat=WebMessageFormat.Json, BodyStyle= WebMessageBodyStyle.Wrapped)]
        void UpdateClientByClientId(BusinessObject.Clients client);
Et je lui envoie via xmlhttprequest :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
{"Clients:"{"ClientID":30,"ClientShortName":"TEST"}}
Et j'ai ce message d'erreur:

The exception message is 'The data at the root level is invalid. Line 1, position 1.'. See server logs for more details. The exception stack trace is:</P>

<P class="intro"> at System.Xml.XmlExceptionHelper.ThrowXmlException(XmlDictionaryReader reader, String res, String arg1, String arg2, String arg3)

at System.Xml.XmlExceptionHelper.ThrowInvalidRootData(XmlDictionaryReader reader)

at System.Xml.XmlUTF8TextReader.Read()

at System.Xml.XmlBaseReader.IsStartElement()

at System.Xml.XmlBaseReader.IsStartElement(XmlDictionaryString localName, XmlDictionaryString namespaceUri)

at System.ServiceModel.Dispatcher.DataContractSerializerOperationFormatter.DeserializeBody(XmlDictionaryReader reader, MessageVersion version, String action, MessageDescription messageDescription, Object[] parameters, Boolean isRequest)

at System.ServiceModel.Dispatcher.OperationFormatter.DeserializeBodyContents(Message message, Object[] parameters, Boolean isRequest)

at System.ServiceModel.Dispatcher.OperationFormatter.DeserializeRequest(Message message, Object[] parameters)

at System.ServiceModel.Dispatcher.DemultiplexingDispatchMessageFormatter.DeserializeRequest(Message message, Object[] parameters)

at System.ServiceModel.Dispatcher.UriTemplateDispatchFormatter.DeserializeRequest(Message message, Object[] parameters)

at System.ServiceModel.Dispatcher.CompositeDispatchFormatter.DeserializeRequest(Message message, Object[] parameters)

at System.ServiceModel.Dispatcher.DispatchOperationRuntime.DeserializeInputs(MessageRpc& rpc)

at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)

at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)

at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4(MessageRpc& rpc)

at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage3(MessageRpc& rpc)

at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage2(MessageRpc& rpc)

at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage1(MessageRpc& rpc)

at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)</P>


Par contre je n'ai aucun pb a lire des donnees via REST/JSON

Merci de votre aide