Служба отдыха возвращает "метод не разрешен" на веб-странице
Я пытаюсь передать параметр объекта в формате JSON в службу отдыха WCF.
код контракта на обслуживание, подобный этому;
[OperationContract]
[WebInvoke(Method = "GET", ResponseFormat = WebMessageFormat.Xml, BodyStyle = WebMessageBodyStyle.Wrapped, UriTemplate = "xml/{id}")]
string XMLData(string ID);
И мой файл web.config вот так;
<system.serviceModel>
<services>
<service name="RestService.RestServiceImpl" behaviorConfiguration="ServiceBehaviour">
<endpoint address="" binding="webHttpBinding" contract="RestService.IRestServiceImpl" behaviorConfiguration="web">
</endpoint>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="ServiceBehaviour">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="web">
<webHttp/>
</behavior>
</endpointBehaviors>
</behaviors>
<protocolMapping>
<add binding="basicHttpsBinding" scheme="https" />
</protocolMapping>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
Когда я пытался вызвать службу с URL-адресом " http://localhost/serviceurl/xml/123 ", служба вернула сообщение об ошибке "Метод не разрешен".
1 ответ
Я решил это. Я должен был удалить <ProtocolMapping>
а также <ServiceHostingEnvironment>
тег из web.config
файл.
Теперь работает нормально.