2009-10-06 4 views
0

SOAP/RPC (향후에 중단 될 수 있음)와 REST를 모두 지원하는 자체 호스팅 서버 (Windows 서비스)가 있습니다. RESTful GET은 예상대로 작동하지만 PUT/POST는 405 오류 (Method Not Supported)를 제공합니다. 나는 이것이 내 app.config의 구성 문제라고 확신하지만, 나는 이것에 익숙하지 않고 무엇을 시도해야할지 모르겠다.자체 호스트 WCF REST 구성에서 PUT/POST가 작동하지 않습니다.

다음은 설정 파일입니다. 어떤 도움 내가이 사용 CURL을 두 번 확인하고 내 클라이언트에 작은 변화를 만들어

<system.serviceModel> 
    <!-- bindings --> 
    <bindings> 
     <basicHttpBinding> 
     <binding name ="soapBinding"> 
      <security mode="None" /> 
     </binding> 
     </basicHttpBinding> 
     <webHttpBinding> 
     <binding name="webBinding" /> 
     </webHttpBinding> 
    </bindings> 
    <!-- behaviors --> 
    <behaviors> 
     <endpointBehaviors> 
     <!-- plain old XML --> 
     <behavior name="poxBehavior"> 
      <webHttp/> 
     </behavior> 
     <!-- JSON --> 
     <behavior name="jsonBehavior"> 
      <enableWebScript /> 
     </behavior> 
     </endpointBehaviors> 
     <serviceBehaviors> 
     <behavior name="DSServerBehavior"> 
      <serviceMetadata httpGetEnabled="true"/> 
      <serviceDebug includeExceptionDetailInFaults="True"/> 
     </behavior> 
     </serviceBehaviors> 
    </behaviors> 
    <!-- services --> 
    <services> 
     <service behaviorConfiguration="DSServerBehavior" name="dsServer.DSServer"> 
     <host> 
      <baseAddresses> 
      <add baseAddress="http://localhost:8000/DecisionSupportServer" /> 
      </baseAddresses> 
     </host> 
     <endpoint address="soap" 
        binding="basicHttpBinding" 
        bindingConfiguration="soapBinding" 
        contract="dsServer.IDSServer" /> 
     <endpoint address="mex" 
        binding="mexHttpBinding" 
        contract="IMetadataExchange" /> 
     <endpoint address="rest" 
        binding="webHttpBinding" 
        bindingConfiguration="webBinding" 
        behaviorConfiguration="poxBehavior" 
        contract="dsServer.IDSServer" /> 
     </service> 
    </services> 
    </system.serviceModel> 
+0

Ack. XML 구성이 게시에서 제외되었으므로 첨부 방법을 알아야합니다. –

+0

@Allan : XML (또는 코드)을 강조 표시 한 다음 "코드 "버튼 (010 101)을 누르거나 키보드의 Ctrl-K를 눌러 포맷을 잘하십시오 –

+0

아! 포스트 포맷을 고쳐 주셔서 감사합니다 –

답변

0

평가 greately ... 것이다. 이것은 바로 사용자 오류입니다. :