Implementierter WCF-Dienst (.net 4.0). Serviceseite Config wie folgt aussieht:Wie kann der WCF-Dienst im REST-Modus genutzt werden?
<endpoint address=""
binding="webHttpBinding"
bindingNamespace="https://mydomain/myservice/services"
behaviorConfiguration="WebBehavior"
contract="MyService" />
<endpointBehaviors>
<behavior name="WebBehavior">
<webHttp />
</behavior>
</endpointBehaviors>
Der Versuch, Service in Web-App verbrauchen, web.config
wie folgt aussieht:
<system.serviceModel>
<client>
<endpoint name="MyServiceEndpointBasicHttp"
address="http://myDomain/myService"
binding="webHttpBinding" behaviorConfiguration="webBehavior"
contract="MyNamespace.IMyService" />
</client>
<behaviors>
<endpointBehaviors>
<behavior name="webBehavior">
<webHttp />
</behavior>
</endpointBehaviors>
</behaviors>
</system.serviceModel>
Ich Ausnahme bekommen, wenn Service Aufruf:
Operation 'Method1' des Kontrakts 'IMyService' gibt mehrere Anforderungs-Body-Parameter an, die serialisiert werden, ohne jegliche Wrapper Elemente. Es kann höchstens ein Body-Parameter ohne Wrapper Elemente serialisiert werden. Entfernen Sie entweder die zusätzlichen Körper Parameter, oder legen Sie die BodyStyle Eigenschaft auf dem WebGetAttribute/WebInvokeAttribute auf Wrapped fest.
Nach einigen googeln, haben wir [WebGet(BodyStyle = WebMessageBodyStyle.WrappedRequest, ResponseFormat = WebMessageFormat.Xml)]
auf Methoden gesetzt, aber kein Erfolg ...
Eine interessante Sache: Es ist immer die gleiche Methode Namen in Ausnahme, auch andere Methoden, ich rufe. ..
Service Arbeiten in REST-Modus in Ordnung, während sie mit Browser-Test durch Methodennamen und notwendige Eingabe ... Paramater
Können Sie uns den ** Servicevertrag ** mit der Definition Ihrer Servicemethoden zeigen? –