xsd.exe - schema to class - for use with WCF

Posted by NealWalters on Stack Overflow See other posts from Stack Overflow or by NealWalters
Published on 2010-03-06T00:45:40Z Indexed on 2010/03/16 15:41 UTC
Read the original article Hit count: 439

Filed under:
|
|
|

I have created a schema as an agreed upon interface between our company and an external company. I am now creating a WCF C# web service to handle the interface.

I ran the XSD utility and it created a C# class. The schema was built in BizTalk, and references other schemas, so all-in-all there are over 15 classes being generated.

I put [DataContract} attribute in front of each of the classes. Do I have to put the [DataMember] attribute on every single property?
When I generate a test client program, the proxy does not have any code for any of these 15 classes.

We used to use this technique when using .asmx services, but not sure if it will work the same with WCF. If we change the schema, we would want to regenerate the WCF class, and then we would haev to each time redecorate it with all the [DataMember] attributes? Is there an newer tool similar to XSD.exe that will work better with WCF?

Thanks,

Neal Walters

SOLUTION (buried in one of Saunders answer/comments):

Add the XmlSerializerFormat to the Interface definition:

    [OperationContract]
    [XmlSerializerFormat]     // ADD THIS LINE 
    Transaction SubmitTransaction(Transaction transactionIn);

Two notes: 1) After I did this, I saw a lot more .xsds in the my proxy (Service Reference) test client program, but I didn't see the new classes in my intellisense. 2) For some reason, until I did a build on the project, I didn't get all the classes in the intellisense (not sure why).

© Stack Overflow or respective owner

Related posts about wcf

Related posts about xsd