Rendre un Service WCF Accepter les Données JSON à partir de jQuery.AJAX()

J'ai été chercher pendant des heures en essayant différentes choses pour obtenir ce travail. J'ai essayé tellement de nombreux articles sur stackoverflow et soit je suis trop stupide pour obtenir des choses de travail ou j'ai quelques unique et étrange configuration qui m'empêche de l'expérience de la joie.

J'ai créer le service WCF décrites par ce tutoriel:

http://www.codeproject.com/Articles/97204/Implementing-a-Basic-Hello-World-WCF-Service

C'est super de base et a une méthode et tout ce que je veux c'est de permettre à moi de le consommer avec jQuery.AJAX() en utilisant json.

Je l'ai hébergé dans IIS, et il fonctionne. Je peux accéder à la WSDL sans problèmes.

J'essaie de consommer avec le code suivant:

$.ajax({
    dataType: 'json',
    type: 'POST',
    contentType: "application/json",
    url: "//localhost:546/HelloWorldService.svc/GetMessage",
    data: {
        name: "Joe"
    }
    }).done(function(msg){
        console.log(msg);
        $("#result").append(msg);
});

Je reçois toujours des erreurs. Basé sur ce que j'ai essayé-je obtenir 500 erreurs, 402 erreurs, des erreurs sur le contenu incorrect... Toutes les erreurs.

J'ai essayé de mettre en œuvre des solutions à partir des articles suivants. Ils vont de m'avoir changer le web.config points de terminaison (je sais que je dois les changer mais rien j'ai essayé jusqu'à présent fonctionne en ce qui concerne l'ajout d'un JSON point de terminaison) pour ajouter des choses comme

[WebInvoke(Method = "POST", UriTemplate = "json/PostSalesOrderData", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Bare)]

à l'interface.

Ici sont quelques-uns des articles que j'ai regardé et essayé de défoncer dans ma solution pour le faire fonctionner sans beaucoup de succès.

Javascript JSON et WCF webservice sur Android, Phonegap

HTTP/1.1 415 Ne peut pas traiter le message, car le type de contenu application/json; charset=utf-8 "n'était pas au type attendu" text/xml; charset=utf-8'

Services WCF avec JSON, JSONP de SAVON et les Points de Fin

Deux d'extrémité (soap ,json) et une méthode de service

WCF REST Service de ne pas accepter de JSON .Net 4

Moi aussi je suis passé par le biais de ce tuto et essayé d'utiliser ce qu'il avait à dire pour obtenir la solution de travail. Toujours rien!

http://www.primordialcode.com/blog/post/passing-json-serialized-objects-wcf-service-jquery

C'est comment mon interface ressemble

[ServiceContract]
public interface IHelloWorldService
{
    [OperationContract]
    [WebInvoke(UriTemplate = "GetMessage", Method = "POST",
        BodyStyle = WebMessageBodyStyle.WrappedRequest,
        RequestFormat = WebMessageFormat.Json,
        ResponseFormat = WebMessageFormat.Json)]
    String GetMessage(String name);
}

Quelqu'un peut-il m'aider à l'expérience de la joie?

Merci d'avance pour la regarder à ma question. Si vous avez besoin de plus d'informations ou je n'ai pas fourni suffisamment laissez-moi savoir si je peux vous aider à m'aider!

Je doit manquer quelque chose de stupide... je sais que ce n'est pas cela difficile.

EDIT:

De Travail Web.Config

<?xml version="1.0"?>
<configuration>
  <system.web>
    <compilation debug="false" targetFramework="4.0" />
  </system.web>
  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
  </system.webServer>
  <system.serviceModel>
    <behaviors>
      <endpointBehaviors>
        <behavior name="WebHTTPEndpointBehavior">
          <webHttp />
        </behavior>
      </endpointBehaviors>
      <serviceBehaviors>
        <behavior name="MyServiceTypeBehaviors">
          <serviceMetadata httpGetEnabled="true" />
          <serviceDebug includeExceptionDetailInFaults="false" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <bindings>
      <webHttpBinding>
        <binding name="MyWebServiceBinding" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647"/>
      </webHttpBinding>
    </bindings>
    <services>
      <service name="MyWCFServices.HelloWorldService"
       behaviorConfiguration="MyServiceTypeBehaviors">
        <endpoint address="" binding="webHttpBinding" bindingConfiguration="MyWebServiceBinding" behaviorConfiguration="WebHTTPEndpointBehavior"
          contract="MyWCFServices.IHelloWorldService"/>
        <endpoint contract="IMetadataExchange"
          binding="mexHttpBinding" address="mex"/>
      </service>
    </services>
  </system.serviceModel>
</configuration>

OriginalL'auteur Steve | 2013-03-20