When trying to generate an ASP.NET proxy class from a physical wsdl on your local file system, you're probably doing something like this:
wsdl.exe MySevice.wsdl /o:Proxy.cs /l:CS
You'd expect a file named Proxy.cs to get created in C# for you. You'd be right, except if you're attempting to generate proxy for a service that uses complex types. If that is the case, you'll get an error that looks a lot like this:
Error: Unable to import binding 'MyBinding' from namespace 'http://www.example.org/MyNameSpace/'.
- Unable to import operation 'MyOperation'.
- The element 'http://mydomain.com:MyComplexType' is missing.
If you would like more help, please type "wsdl /?".
This error is basically saying that you your service is expecting one or more XSD file containing the definitions for those complex types. Here's what your command line should look like:
wsdl.exe MySevice.wsdl MyServiceDefinitions.xsd /o:Proxy.cs /l:CS
If you need to add additional XSD files for other complex type definitions, just add them to the command line like you did for the first one, separated by a space (order doesn't matter).