문제

도움을 주셔서 감사합니다.

외부 클라이언트용 wcf 웹 서비스를 만들고 있습니다.클라이언트가 wsdl의 복사본을 요청하고 있습니다.현재 클라이언트에게 서비스에 대한 액세스를 제공할 수 있기를 기다리고 있습니다.

서비스를 실행하는 로컬 웹서버로 이동하면(http://localhost/Services.svc?wsdl) WSDL에 표시되어 있으며 제공된 데이터에는 메소드 서명 (.SVC 코드의.

해당 객체를 얻으려면 표시된 데이터에서 참조를 찾아 URL로 이동하면 됩니다.

필요한 모든 정보를 클라이언트에게 제공하여 전체 WSDL을 갖도록 기본 스키마와 각 수입 스키마를 제공해야합니까?

아니면 이것을 달성하는 다른 방법이 있습니까 (클라이언트가 서버에 접속하는 것 외에는)

즉:하나의 파일에 모두 패키징하는 방법이 있나요?
(각 파일을 추출할 수 있는 것이 있을 것 같나요?)

각 파일에 .zip을 제공하면 충분할까요?

감사합니다, 스티븐

도움이 되었습니까?

해결책

이미 알고 있듯이 WCF는 WSDL과 XSD(전송되는 데이터를 설명하는 XML 스키마)를 다양한 조각으로 패키징합니다.이는 추가 href를 사용하여 기본 WSDL에서 참조됩니다.

또는 더 나은 방법은 다음과 같습니다.서비스 구현이 포함된 DLL 또는 EXE에 대해 명령줄에서 "svcutil -metadata" 명령을 실행할 수 있습니다. 이렇게 하면 svcutil 명령을 실행하는 디렉터리에 필요한 모든 파일(일반적으로 여러 WSDl 및 여러 XSD)이 생성됩니다.이는 일반적으로 ?wsdl URL에서 WSDL 및 XSD 파일을 함께 연결하는 것보다 더 안정적인 방법입니다(일반적으로 하나 또는 두 개의 파일이 누락됩니다).

마크

다른 팁

각각의 모든 서브 WSDL 및 XSD를 참조하면 수동으로 다운로드 한 경우 예, 효과가 있습니다. 그러나 최소한 말하는 것은 번거 롭습니다.

조사 할 가치가있는 옵션은 Christian Weyer 's를 사용하는 것입니다. WCF 확장 WCF가 단일 파일로 모든 것을 생성하도록 WSDL을 평평하게하여 클라이언트에게 제공합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top