Служба отдыха возвращает "метод не разрешен" на веб-странице

Я пытаюсь передать параметр объекта в формате 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 файл.

Теперь работает нормально.

Другие вопросы по тегам