2012-02-26 2 views
1

WCF 클라이언트가 여러 Java 서비스에서 사용되는 공유 데이터 계약에 대해 서로 다른 네임 스페이스에서 중복 데이터 계약을 생성 중입니다.여러 Java 서비스가 동일한 데이터 계약을 참조합니다. WCF 클라이언트가 공유 데이터 계약에 대해 중복 데이터 계약을 생성합니다.

예 : shared.xsd를 사용하는 Java 서비스 2 개이 스키마에는 약 1000 개의 복잡하고 간단한 유형이 정의되어 있습니다.
예약 서비스는 두 개의 스키마를 사용합니다.
a. Booking.xsd
b. shared.xsd

2. Ticketing Service는 두 개의 스키마
을 사용합니다. Ticketing.xsd
b. i는 데이터 계약 제공된 네임 스페이스에 생성되는 Shared.xsd에서 정의한 서비스 모두에 대해 비주얼 스튜디오에서 서비스 기준을 추가하면

shared.xsd.

예를 들어 Person 클래스는 Foo.BookingService 네임 스페이스와 Foo.TicketingService 네임 스페이스에서 두 번 정의됩니다.

방법이 있습니다. 명령 옵션을 지정하거나 Visual Studio를 통해 Shared.xsd 데이터 계약을 다시 사용해야하며 다시 생성하면 안됩니다.

답변

0

svcutil.exe를 사용하여 XML serializer 형식을 준수하는 .NET datacontract 유형을 생성하십시오. 예 :

svcutil.exe에/대상 : 코드/dataContractOnly/시리얼 : XmlSerializer를/importXmlTypes [당신의 XSD 파일의 경로]

+0

감사 하리, 데이터 계약을 추출 후. 어떻게 이전에 추출 된 dataContract없이 프록시 클라이언트를 생성합니까? 위의 코드를 실행 한 후, 나는 svcutil booking.wsdl ....을 실행해야합니다. xsd를 지정하지 않으면 오류가 발생합니다. 이것에 대한 당신의 반응을 감사드립니다. –

관련 문제