Ich eingerichtet einen konfigurierten URL Endpunkt (mit der Methode wcf und POST) ausgelöst werden, wenn etwas auf meiner Client-Seite geschieht. es funktioniert gut, wenn der Inhaltstyp, für den Antrag, zu application/json gesetzt, aber es funktioniert nicht, wenn es um application/json + hal, die mein Kunde nutzen möchte, eingestellt ist. Meine Frage ist, wie ich mit dieser Angelegenheit umgehen soll und was ich ändern muss. Hier ist die Definition meiner Methode in der Schnittstelle:Umgang mit Anwendung/Hal + JSON-Format in wcf
[WebInvoke(Method = "POST", UriTemplate = "/payload", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Bare)]
string payload(requestpayload jsondata);
ich meine aktualisiert web.config
@carlosfigueira Vorschlag in Betracht zu ziehen:
<services>
<service behaviorConfiguration="RestServiceBehavior" name="RestRaw.RestService">
<endpoint address="http://mywebsite.com/RestService.svc" binding="customBinding" bindingConfiguration="RawReceiveCapable" contract="RestRaw.IRestService" behaviorConfiguration="Web">
<identity>
<dns value="localhost"/>
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="RestServiceBehavior">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="Web">
<webHttp/>
</behavior>
</endpointBehaviors>
</behaviors>
<bindings>
<customBinding>
<binding name="RawReceiveCapable">
<webMessageEncoding webContentTypeMapperType="RestRaw.JsonHalMapper, RestRaw" />
<httpTransport manualAddressing="true" />
</binding>
</customBinding>
Allerdings erhalte ich diese:
500 System.ServiceModel.ServiceActivationException
jeder Gedanke bitte
Vielen Dank @carlosfigueira, ich habe Ihren Vorschlag versucht. Allerdings bekomme ich das: ** 500 System.ServiceModel.ServiceActivationException ** –
Was ist der Körper der Aktivierung Ausnahmeantwort? Gibt es weitere Details zu der Ausnahme? Oder Sie können die Ablaufverfolgung aktivieren, und Sie sollten sehen, warum der Dienst nicht geöffnet werden konnte. – carlosfigueira
Ich habe mein Problem behoben. Im Allgemeinen habe ich ** WebContentTypeMapper ** verwendet, wie @carlosfigueira sagte. dann habe ich meine web.config wie oben erwähnt geändert, aber mit diesem Update: ** ** –