2012-10-19 4 views
20

C#으로 RESTful 웹 서비스를 만들고이를 IIS에 배포했습니다. HeadOffice.svc 서비스에 액세스 할 때 WSDL (HeadOffice.svc? wsdl)을 볼 수있는 옵션이 있습니다. WADL을 볼 수있는 옵션이 있습니다 (예 : HeadOffice.svc? wadl). 이것이 가능한가?RESTful 웹 서비스 WADL 자동 생성

나는 이것이 모범 사례가 아니라는 일반적인 견해가 있다는 것을 읽었습니다. 그러나, 학교 과제물에 WADL이 필요하기 때문에 어떤 도움을 주시면 감사하겠습니다.

답변

17

WADL이 표준이 아니거나 널리 지원되지 않는다는 것을 이미 알고 있다고 가정 해보십시오. 누군가 WADL을 필요로 할 때 WS */SOAP 서비스 + WSDL을 사용하는 것이 더 좋습니다. 그래서 당신의 작업은 매우 이상하게 보입니다.

어쨌든 WADL은 Microsoft의 REST 구현 중 WCF 3.5 Rest Starter Kit, WCF 4 REST 및 ASP.NET WebAPI와 같은 "기본 제공"기능을 지원하지 않습니다.

.NET 용 WADL을위한 신뢰할 수있는 도구는 없습니다.

목표가 WADL을 사용하여 C# 클라이언트 코드를 생성하는 것이라면 나 자신이 직접 클라이언트 코드를 작성하는 데 더 많은 시간을 할애 할 것입니다. 그리고 더 나은 해결책이 있습니다.

쉽게 수동으로 클라이언트를 작성하는 HttpClient 클래스 또는 RestSharp 또는 유사한 라이브러리와 같은 새로운 클래스를 사용할 수 있습니다 그것은 더 빨리 유래에 .NET

비슷한 질문에 대한 신뢰할 수있는 WADL 솔루션에 대한 인터넷 검색 후가 될 것입니다 : Restful service in .NET with WADL instead of WSDL

업데이트 - Swagger : 몇 년 동안 swagger은 그와 같은 형식으로 자리 매김했습니다. Swagger editor에 swagger의 YAML을 사용하여 서비스 정의를 작성하거나 Swashbuckle 라이브러리를 사용하여 .NET에 대해 기존 서비스에서 swagger를 생성 할 수 있습니다. 두 번째는 WSDL로 얻은 것인데, 편집자가 클라이언트와 서버의 상용구를 생성 해 줄 것입니다. 서버 또는 클라이언트를 생성했는지 여부에 관계없이, swagger는 실제로 REST 서비스를위한 매우 좋은 계약 교환 형식이며 이상적이지는 않지만 좋은 옵션입니다.

+0

정보 주셔서 감사합니다! 나는 WADL에서 자바 코드를 생성하려고했다. 그러나 WADL의 경로가 아닌 다른 경로로 티크를 치지 않는 것처럼 보입니다. –

+0

첫 번째 링크는 완전히 쓸모가 없습니다. 소스 코드가없는 프로젝트에 링크 된 것처럼 보입니다. 점은 무엇인가? –

+0

Dmitri Nesteruk Point는 WADL이 .NET과 데이트 용으로 죽었습니다. 수동으로 서비스 액세스를 작성한 다음 WSDL SOAP 스타일로 생성 해보십시오. – Regfor