2009-11-06 2 views
0

저는 언젠가 WebServices로 작업 해 왔습니다. XSD가 유효성 검사 등을 위해 WSDL과 연결된 많은 서비스를 다루었습니다 ...어디서 XSD.exe가 필요합니까?

하지만 이러한 요구 사항이 발생할 때마다 항상 WSDL 도구를 사용하여 .wsdl 및 .xsd 파일을 사용하여 프록시를 생성했습니다. XSD에 정의 된 유형은 프록시에서 자동으로 생성됩니다.

이 도구의 기능을 알고 있습니다. 그러나 정확히 어디에서 어떤 요구 사항이 필요한지 잘 모르겠습니다.

답변

2

나는 인터페이스에서 개체가 별도로 관리되는 프로젝트에서 작업했습니다. 그것에 대해

삽입 (ModeledObject)

은 WSDL은 ModeledObject에 대한 스키마를 이해할 수 있지만, 그게 예를 들어, 아마도 웹 서비스는 그 계약과 같이 보입니다 방법으로 만들었습니다. 그런 다음 다른 팀이 ModeledObject 계약을 준수하는 다양한 모델링 된 객체에 대해 XSD를 관리합니다. 첫 번째 팀은 wsdl.exe를 사용하고 두 번째 팀은 xsd.exe를 사용합니다.

+0

비즈니스 요구 사항은 다양한 변화하는 데이터 요구 사항을 지원하면서 인터페이스가 정방향 및 역방향 호환이 가능하고 상당히 정적 인 것입니다. – zac

+0

고맙습니다 Zac ... 그래서 wsdl.exe를 사용하여 프록시를 생성 할 때 클래스의 정의가 나타납니다. 내가 xsd.exe를 사용하고있을 때 (아마도 다른 팀에서) 나는 같은 정의를 얻고있다. 그럼 갈등이 아니겠습니까? –

+1

그들은 같은 클래스가 아니어야합니다. 첫 번째 웹 서비스 디자인 (http://www.code-magazine.com/Article.aspx?quickid=0507061) 계약을 연습하기로 결정한 경우 WSDL 내부의 XSD 스키마는 매우 일반적이며 요소를 사용하는 경우에도 마찬가지입니다. WSDL과 무관하게 특정 객체를 정의하는 추가 XSD 스키마를 가질 수 있으며 xsd.exe를 사용하여 이러한 클래스를 생성 할 수 있습니다. – zac

1

웹 서비스 외부에서 xml을 직접 처리 할 때 사용합니다. 예를 들어 문서 또는 프로토콜 스키마 정의를 수행 할 때. 그 컨텍스트에서 모델에 대한 가장 직접적인 설명이고 많은 도구에서 사용할 수 있기 때문에 항상 .xsd 파일을 먼저 작성합니다. 그런 다음 xsd.exe와 함께 사용하는 C# 클래스를 생성합니다.