2012-02-26 2 views
1

WCFクライアントは、複数のJavaサービスで使用される共有データコントラクトの異なる名前空間で重複データコントラクトを生成しています。複数のJavaサービスが同じデータコントラクトを参照しています。 WCFクライアントが共有データコントラクト用の重複データコントラクトを生成する

例:shared.xsdを使用する2つのJavaサービスこのスキーマには、約1000種類の複雑でシンプルなタイプが定義されています。
1.予約サービスは2つのスキーマを使用します
a。 Booking.xsd
b。 shared.xsd

2.チケットサービスでは、2つのスキーマ
が使用されます。 Ticketing.xsd
b。私はデータコントラクトを提供名前空間の下に作成されShared.xsdで定義するサービスの両方のためのVisual Studioでサービス参照を追加すると

shared.xsd。

たとえばPersonクラスはFoo.BookingService名前空間に2つ、Foo.TicketingService名前空間にも同様に定義されています。

私はコマンドオプションを指定することもできますし、Visual Studioを使ってShared.xsdデータコントラクトを再利用し、再生成しないこともできます。

答えて

0

svcutil.exeを使用して、XMLシリアライザ形式に準拠する.NET datacontract型を生成するようにしてください。例えば

svcutil.exe /対象:コード/ dataContractOnly /シリアライザ:XmlSerializerを/ importXmlTypes [あなたのXSDファイルのパス]

+0

おかげでハリ、データコントラクトを抽出した後。以前に抽出されたdataContractを使用せずにプロキシクライアントを生成するにはどうすればよいですか?上記のコードを実行した後、私はsvcutil booking.wsdlを実行する必要があります....私はxsdを指定しない場合、これはエラーをスローします。あなたにこれを感謝します –

関連する問題