I am developing WCF services in .net 3.5 framework and hosting them in IIS 5.1 windows xp sp3 with basicHttpBiding. Services consuming client developed in .net 2.0 fra开发者_StackOverflow中文版mework
I am developing WCF services in .net 3.5 framework and hosting them in IIS 5.1 windows xp sp3 with
basicHttpBiding.
Services consuming client developed in .net 2.0 fra
开发者_StackOverflow中文版mework. For this I generated proxy client using WSDL.EXE. This tool generates proxy class without any problem, but the problem it adds for every property adds extra property
"[property]Specified", but that work fine without any problem, only need to specify
"specified = true" when assigning value to any property
To remove this extra property I added
XmlSerializerFormat attribe along with
ServiceContract attribute. WSDL.EXE generates the class without extra property,
but it excludes some class which are included previously.
Is there any properties that I need to set to generate the excluded classes?
Note: All contract classes are attributed with
DataContract and properties with
DataMemeber.
nRk
XmlSerializer uses XmlIncludeAttribute instead of KnownTypeAttribute
to discover child types that are not included in operation contracts. So you might try adding them to the base class:
[XmlInclude(typeof(ChildClass1))]
[XmlInclude(typeof(ChildClass2))]
public class BaseClass {}
The standard WCF DataContractSerializer will serialize everything marked with [DataMember]
- regardless of the .NET visibility (public/protected/private/internal).
When you switch to the XmlSerializerFormat, the behavior changes - now the XmlSerializer will serialize everything that has a public
visibility, and does not have a [XmlIgnore]
marked on it.
I would assume some of your classes and members are not marked with public
and thus don't get serialized anymore. Also the XmlSerializer requires classes to have an explicit, parameter-less constructor which will be used in deserialization - do all your classes have that? And of course, that constructor also needs to be public
.
精彩评论