2010-06-14 2 views
8

previous question을 참조하면 클라이언트 응용 프로그램에서 WCF 서비스에 대한 정보를 추출하여 서비스가 하나의 끝점 만 노출하는 경우 노출되는 메서드/형식을 알 수있는 방법을 알고 싶습니다. 그 사용 webHttpBinding?webHttpBinding 끝점에서 메타 데이터 가져 오기

필자의 이전 질문에서 JSH 엔드 포인트이고 호환되지 않기 때문에 webHttpBinding을 사용하는 엔드 포인트가 생성 된 WSDL에 노출되지 않는다는 사실을 알게되었습니다.

답변

10

WebHttpBinding은 REST 기반 바인딩입니다. REST는 이 아니며은 SOAP과 달리 WSDL/XSD와 같은 메타 데이터를 노출합니다.

현재로서는 REST 엔드 포인트에서 메타 데이터를 추출 할 방법이 없습니다. WADL (Web Application Description Language)이라고하는 REST와 비슷한 구조를 만들기위한 노력이 있지만 아직 표준화 된 곳이 없습니다.

지금은 REST 엔드 포인트가 있어야합니다. 직접 확인하거나 서비스 제공 업체에서 제공 한 설명서가 필요합니다. 정적 HTML 페이지 또는 뭔가.

.NET 4는 자동 생성 된 도움말 페이지의 일부 수준을 제공합니다. 자세한 내용은 this blog post 또는 MSDN docs을 참조하십시오. 그러나 WSDL/XSD처럼 형식화되고 기계 해석이 가능한 곳은 아직 멀었습니다.

0

왜 REST 샘플이 MEX 엔드 포인트를 노출하는지 알려주는 이유가 궁금합니다. 필요하지 않으며 다음과 같이 제거하십시오.

  1. 구성 파일의 서비스 섹션에서 MEX 엔드 포인트를 제거하십시오.

  2. 구성 파일의 서비스 동작 섹션에서 서비스 메타 데이터 사용 줄을 제거합니다.

  3. 편집 비주얼 스튜디오 프로젝트 (그것은 WCF 서비스 라이브러리의 가정) 및 라인 제거 :

    <StartArguments> /client:"WcfTestClient.exe을 "</StartArguments >

하는 경우 마지막 2 부분을 나가기를 원할 것입니다 다른 비 휴식 서비스가 있습니다. MEX를 비활성화 할 때 WCF 클라이언트를 제거해야합니다. 그렇지 않으면 유용한 메타 데이터가 있는지 여부에 관계없이 프로젝트의 서비스를 열거 할 수없는 경우 디버깅하는 동안 불평 할 것입니다.

관련 문제