2010-11-21 3 views
0

WCF 서비스에 HTTP POST를 허용하려면 어떻게해야합니까?WCF 서비스에 대한 HTTP POST

사람들이이 서비스에서 SOAP를 사용할뿐만 아니라이 서비스에 HTTP POST가 가능하고 XML 응답을 받아야하는 것이 좋습니다.

WCF 서비스가 HTTP POST를 허용 할 수있는 쉬운 방법을 찾을 수 없습니다.

나는 HTTP 415 오류를 지나서 끝점에 관한 web.config 변경 또는 메서드 위의 추가 특성 (WebInvoke)에 대한 도움이 필요할 수 있습니다.

감사합니다.

+0

REST 스타터 키트 @를 사용하여 POX (일반 HTTP XML) WCF에 대한 훌륭한 비디오를 찾았습니다. http://www.msdev.com/Directory/Description.aspx?eventId=1312 –

답변

4

표준 HTTP 동사를 통해 WCF 서비스와 통신하려면 WCF REST 구성 요소를 사용해야합니다.

.NET 3.5 SP1에는 기본 패키지에 포함되지 않은 WCF REST Starter Kit가 필요합니다.

이 경우 WCF 서비스에서 끝점을 webHttpBinding으로 정의 할 수 있으며 기본적으로 GET, POST, PUT 및 DELETE 작업을 정의 할 수 있습니다.

WCF REST developer center에서 다양한 백서, 자습서, 워크 쓰루 및 스크린 캐스트를 확인하십시오. 정확하게이 모든 작업을 수행하는 방법을 보여줍니다.

간단히 말해서, 당신은 당신이 WebGet 또는 WebInvoke 속성과 URL 템플릿 REST HTTP를 통해 노출 할 서비스 방법 (들) 장식 것 - 같은 : 다음

[ServiceContract] 
public partial class YourService 
{ 
    [WebInvoke(Method = "POST", UriTemplate = "yourservice/{id}/save")] 
    [OperationContract] 
    SomeReturnType YourMethodCall(string someParam); 
    ... 
} 

과에 당신의 - WCF REST 데브 센터 모두에 가야

<endpoint name="webEndpoint" 
      address="...." 
      binding="webHttpBinding" 
      contract="IYourServiceContract" /> 

당신은 또한 당신의 설정에 약간의 여분의 일을해야 할 수도 있습니다 web.config는 나 app.config에서 (IIS에서 호스팅) 당신은 바로 바인딩과 엔드 포인트 필요 세부 깊숙한 곳.

+0

신속한 응답을 해주셔서 감사합니다. . 나는 스타터 키트와 개발자 센터를 보게 될 것이다. –

관련 문제