If you build services the way I do, you create the XSD and then generate the classes using xsd.exe (instead of the other way around). I like this approach because the service's consumers will need to generate classes too (and if you start with code, they will probably be able to tell).
Anyway, each time I run XSD.EXE -c for the first time, I usually get the same error:
Warning: cannot generate classes because no top-level elements with complex type were found.
Ideally, VS.NET 03/05 would generate these elements for us as we're designing our complex types, but luckily the fix is quite simple.
For example, here is a complex type that VS.NET might generate in the designer:
<xs:complexType name="SomeType">
xs:sequence
<xs:element name="SomeDate" type="xs:dateTime" />
<xs:element name="SomeName" type="xs:string" />
</xs:sequence>
</xs:complexType>
What XSD.EXE -c needs is the following:
**<xs:element name="someRequest" type="SomeType" />
**<xs:complexType name="SomeType">
xs:sequence
<xs:element name="SomeDate" type="xs:dateTime" />
<xs:element name="SomeName" type="xs:string" />
</xs:sequence>
</xs:complexType>
