Svcutil.exe and wsdl.exe are two different technologies for generating a proxy for consuming your service.
But wsdl was made for old .NET 2.0 web services, it is like old version of svcutil. In other hand, Svcutil allows you to generate proxies for both – web services and WCF services. For generating a proxy wsdl retrieves the data by means of DISCO discovery protocol. Svcutil also supports DISCO. But it can make the proxy retrieval using WS-Metadata Exchange protocol, which is an interoperable standard of SOA.
There are many ways to secure the calls to our web services, one of them is to use custom SOAP header.
Using this method we simply add a required SOAP header to our web services calls. We embed the SOAP header into our message and validate its contents on the server. If the SOAP header validation done successfully, the web server sends the web service response to the consumer.
Interoperability gotcha in wsdl.exe and it applies when the server is written in a Java framework and the client is in .Net. When we “add service reference” in VS to create the client proxy from the wsdl.exe tool, we may get this error:
Unable to import WebService/Schema.
Unable to import binding ‘SomeBinding’ from namespace ‘http://SomeNamespace’. Unable to import operation ‘myOpereration’.
These members may not be derived.
In order to understand what this means we need to take a look at some other (valid wsdl):
There are usually two ways to deal with web services. First, use a web service URL ../service.svc. This way you just need to use “Add web reference” in the visual studio project.
An alternative to using the Visual Studio.NET Web Reference wizard to create your proxy classes is a DOS utility called WSDL.exe. WSDL.exe, although much more complicated to use than the Visual Studio tool, provides far greater control over the DLL that is created.
Another great benefit of the WSDL.exe is that it is built into the .NET framework. This means that developers creating ASP applications without the benefit of the Visual Studio.NET tool set can create proxy classes, compile them using a set of DOS compilers, and consume Web services in their applications.
The Syntax for the WSDL.exe