2010-12-02 2 views
0

우리는 클라이언트 (Silverlight)와 서버 (WCF) 측면에서 SOA 작업을하고 있지만 클라이언트가 제 3 자 (.NET, Java 등)에 의해 구현되고 있습니다. 우리는 WSDL 첫 번째 접근 방식을 사용하고 데이터 및 서비스 인터페이스 클래스 (C#)를 빌드 프로세스 중에 스키마에서 자동으로 생성하려고합니다. 따라서 컴파일 작업을 성공적으로 수행하려면 모든 서비스에 대해 재생성되지 않는 공통 데이터 클래스 코드가 필요합니다.스키마 (svcutil analogue)에서 서비스 코드를 생성하는 데 사용할 도구가 DataContractSerializer 요구 사항을 충족하지 않는 경우

내가 먼저 클래스 라이브러리를 분리하려면/dataContractOnly 스위치 XSD를 모든 데이터 계약 클래스를 생성하고이를 컴파일 시도하는 는 svcutil 유틸리티를 시도 - 첫 번째 단계. 그런 다음/reference 스위치 인 의 두 번째 단계을 사용하여 라이브러리에 이미있는 클래스를 생략하여 각 서비스 인터페이스 코드를 만듭니다.

문제는 우리 스키마가 DataContractSerializer 요구 사항을 충족시키지 않아서 svcutil이 데이터 클래스를 만들 수 없다는 것입니다. 이 용도로 xsd 유틸리티를 사용한 후에도이 스위치는 DataContract 클래스에서만 작동하기 때문에 두 번째 단계에서는 svcutil/reference 스위치를 사용할 수 없습니다. 그리고 이것은 xsd 유틸리티에 의해 생성 된 클래스에는 해당되지 않습니다.

그래서 이러한 도구로 무언가를 놓치고 제 상황에서 사용할 수있는 방법이 없으며 XSD 및 WSDL 스키마에서 데이터 클래스와 서비스 인터페이스를 생성 할 수있는 다른 도구가 있습니다. 일반적인 데이터 형식 여러 서비스 인터페이스에서 사용됩니까? 또는 DataContract 호환 스키마로 제한하지 않아야합니까? WSDL을 처음 개발할 때 어떤 접근 방식을 사용합니까?

답변

1

코드 플렉스로 WCF.blue tool을 사용해 보셨나요? WSCF.blue는 계약 우선 (특히 스키마 우선) 접근 방식을 사용하여 웹 서비스 개발을 용이하게하는 툴 세트입니다. 이것은 원래 Web Services Contract First 도구의 WCF 버전입니다. 또한

, 계약 - 첫 번째 개발에 대한 아름다운 글이 : http://msdn.microsoft.com/en-us/magazine/ee335699.aspx

+0

감사합니다. amit! WSCF.blue 툴셋에 시도해보고 결과를 여기에 써 보겠습니다. 기사에 대한 링크를 제공해 주셔서 감사합니다. 유용했습니다. –

+0

내가 이해하는 한, WSCF.blue는 명령 행 인터페이스를 지원하지 않으므로 빌드 프로세스 중에 자동으로 코드를 생성하는 데 사용할 수 없습니다. –

1

예 WSCF.Blue이 선박으로 VS 플러그인하지만 소스가 가능하며, 그래서이 명령 줄로 재 구축 할 수는 우리가해야만하는 것과 같은 인터페이스 버전, 약간의 노력으로 추가 할 수도 있습니다.

관련 문제