2010-11-30 21 views
2

Iは、以下のクラス(すべて同じ名前空間、Test.NamespaceTestに定義される)を有する:SGEN:名前空間の参照からトップXML要素の異なるタイプ

[XmlRootAttribute("rootTag")] 
public class BaseClass 
{ 
} 


[XmlRootAttribute("rootTag")] 
public class MyClass : BaseClass 
{ 
} 

と同様

[XmlRootAttribute("rootTag")] 
public class Class1 
{ 
} 


[XmlRootAttribute("rootTag")] 
public class Class2 
{ 
} 

SGENをこれらのクラスのシリアライゼーションアセンブリを作成しようとすると、次のエラーが発生します(BaseClassとMyClassの場合と同じ)。

The top XML element 'rootTag' from namespace " references distinct types Test.NamespaceTest.Class1 and Test.NamespaceTest.Class2. Use XML attributes to specify another XML name or namespace for the element or types. 

これらのクラスは同じルート名を使用する必要がありますので、XmlRootAttributeを定義しました。 sgenを動作させるためには何をする必要がありますか?これらのクラスはシリアライズされ、既存のサービスにSOAPリクエストとして送信されるため、名前空間の値を追加すると、元々名前空間が定義されていないため、リクエストを逆シリアル化しようとしたときにサービスが壊れることはありませんか?

答えて

1

これは、名前空間の属性をいくつか追加した後に解決されました。

+7

どのように追加しましたか? –

関連する問題