Comment puis-je envoyer un DataContract objet en tant que paramètre pour un WCF REPOSANT webservice?

Je suis en train d'élaborer un WCF resful un service qui sera essentiellement consommé à partir de certaines applications mobiles.
Sur le POST, je suis en train d'envoyer un DataContract objet [fait j'ai envoyer une Liste d'objet] et un autre id de chaîne. Ma question est de savoir si il est possible de définir ma fonction à accepter DataContract objet et la seule chaîne ?

Voici mon code :
Déclaration d'Interface:

[ServiceContract]
    public interface IService1
    {

        [OperationContract]
        [WebInvoke(Method = "POST", ResponseFormat = WebMessageFormat.Json, UriTemplate = "GetDataUsingDataContract/{id}")]
        CompositeType GetDataUsingDataContract(string id, CompositeType composite );


    }

    [DataContract]
    public class CompositeType
    {
        bool boolValue = true;
        string stringValue = "Hello ";

        [DataMember]
        public bool BoolValue
        {
            get { return boolValue; }
            set { boolValue = value; }
        }

        [DataMember]
        public string StringValue
        {
            get { return stringValue; }
            set { stringValue = value; }
        }
    }

Réelle définition de la fonction:

public CompositeType GetDataUsingDataContract(string id, CompositeType composite )
        {

            if (composite == null)
            {
                throw new ArgumentNullException("composite");
            }
            if (composite .BoolValue)
            {
                composite .StringValue += "- Suffix and the id is"+id;
            }
            return report;
        }

et de l'objet json, je suis en train d'envoyer de Fiddler est

{"BoolValue":true,"StringValue":"sdfsdfsf"}

Comment puis-je envoyer un DataContract objet en tant que paramètre pour un WCF REPOSANT webservice?
Comment puis-je envoyer un DataContract objet en tant que paramètre pour un WCF REPOSANT webservice?
Ci-dessus sont les boutons de la fiddler je suis en train de tester le service.
Après quelques recherches sur google, j'ai le lien suivant où le client utilise le service web de référence pour obtenir le DataContract type et sérialise json avant de l'envoyer en tant que corps de la requête. Mais pourquoi, alors, mon test de Fiddler ne pas réussir ?!
http://dotnetmentors.com/wcf/wcf-rest-service-to-get-or-post-json-data-and-retrieve-json-data-with-datacontract.aspx

Quelqu'un peut s'il vous plaît suggérer quelque chose ?

Le web.la config est comme ci-dessous:

<?xml version="1.0"?>
<configuration>

  <system.web>
    <compilation debug="true" targetFramework="4.0" />
  </system.web>
  <system.serviceModel>
    <services>
      <service name="JSONWebService.Service1" behaviorConfiguration="JSONWebService.Service1Behavior">
        <endpoint address="../Service1.svc"
            binding="webHttpBinding"
            contract="JSONWebService.IService1"
            behaviorConfiguration="webBehaviour" />
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior name="JSONWebService.Service1Behavior">

          <!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
          <serviceMetadata httpGetEnabled="true"/>
          <!-- To receive exception details in faults for debugging purposes, set the value below to true.  Set to false before deployment to avoid disclosing exception information -->
          <serviceDebug includeExceptionDetailInFaults="true"/>
        </behavior>
      </serviceBehaviors>
      <endpointBehaviors>
        <behavior name="webBehaviour">
          <webHttp/>
        </behavior>
      </endpointBehaviors>
    </behaviors>
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
  </system.serviceModel>
 <system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
  </system.webServer>

</configuration>

OriginalL'auteur marifrahman | 2013-09-06