WCF-Dienst-Fehler - Eingehende Nachricht eine unerwartete Nachricht-format 'Raw'. Erwartete Nachricht Formate sind 'Xml', 'Json'

Ich möchte zum senden von Daten in jason-format an einen wcf-Dienst für die Verarbeitung. Wcf-Dienst entwickelt und wenn jason Eingabe an den service mit fiddler, es wirft den Fehler -
Der server hat einen Fehler bei der Verarbeitung der Anfrage. Die Ausnahmemeldung lautet 'Der eingehenden Nachricht hat eine unerwartete message format 'Raw'. Die erwartete message-Formate für den Betrieb sind die 'Xml', 'Json'. Dies kann sein, weil ein WebContentTypeMapper nicht konfiguriert wurde auf die Bindung. Finden Sie in der Dokumentation von WebContentTypeMapper für weitere details.'. Siehe server-logs für weitere details.

Service contract
================

 public interface IRegisterEmployee
    {

        [OperationContract]
        [WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, BodyStyle=WebMessageBodyStyle.Bare, ResponseFormat=WebMessageFormat.Json, UriTemplate = "AddEmployee")]
        bool ProcessEmployee(Employee emp);
    }

   [DataContract]
    public class Employee
    {
        [DataMember]
        public string emp { get; set; } //this is actually a complex type, but simplified here

    }

Service class
============
public class RegisterEmployee : IRegisterEmployee
    {
        public bool ProcessEmployee(Employee emp)
        {
            //do some processing
            return true;

        }

Web.config
=========
<services>
      <service name="Project.RegisterEmployee">
        <endpoint address="Rest" behaviorConfiguration="RestfulBehavior" binding="webHttpBinding" name="Rest" contract="Project.IRegisterEmployee" />
        <endpoint address="Soap" behaviorConfiguration="" binding="basicHttpBinding" name="Soap" contract="Project.IRegisterEmployee" />
        <endpoint address="Mex" behaviorConfiguration="" binding="mexHttpBinding" name="Mex" contract="IMetadataExchange" />
        <host>
          <baseAddresses>
            <add baseAddress="http://localhost/Project" />
          </baseAddresses>
        </host>
      </service>
    </services>

    <endpointBehaviors>
        <behavior name="RestfulBehavior">
          <webHttp automaticFormatSelectionEnabled="true" />
        </behavior>
    </endpointBehaviors>

*Fiddler
======
POST;  http://localhost/Project/RegisterEmployee.svc/Rest/AddEmployee
Content-Type: application/jason
Request Body = {"emp" : "test"}*

Error - HTTP/1.1 400 Bad Request

Wenn ich wcftestclient (debug-Modus), funktioniert es - denke mal es verwendet soap/xml.

InformationsquelleAutor bdotnet | 2014-09-30
Schreibe einen Kommentar