Generate webservice from wsdl

This is maybe a really simple question, but I couldn’t locate an answer:

For a client I need to HOST a webservice. The client has sent me a wsdl file that the webservice should ‘implement’. How do I go about that? I’ve generated any number of client-rpoxies but this is the other way around. I can use both ASP.NET 2.0 webservices or Windows Communication Foundation.

Answers:

Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.

Method 1

wsdl.exe /server.

Generates an abstract class for an XML
Web service based on the contracts.
The default is to generate client
proxy classes. When using the
/parameters option, this value is a
element that contains
“server”.

You can do a similar thing with svcutil.exe for WCF- something like:

svcutil.exe thewsdl.wsdl /language:c# /out:ITheInterface.cs (I’ve not tested this).

Edit- John Saunders makes a good point in his answer to favour the WCF approach- I recommend this too.

Method 2

Actually, you should do this with svcutil.exe, not with wsdl.exe. WSDL.EXE is part of the ASMX web service technology that Microsoft now considers to be “legacy” code, which will not have bugs fixed.

Method 3

You can do plenty with that WSDL (wissd’le) file.

From doing the WS Class manually to use the Auto Generated class from wsdl.exe

let’s imagine that, for your example, you have this WDSL (tooked from WebServiceX.Net)


to create a C# auto generated proxy you go to your command prompt and write:

wsdl /language:cs /protocol:soap /out:C:myProxyScripts http://www.webservicex.net/TranslateService.asmx?wsdl

Note: inside your C:Program FilesMicrosoft SDKsWindowsv6.1Bin folder you will find wsdl.exe or just do a dir /s inside your C:Program Files

if you want in Visual Basic, just use /language:vb or /l:vb

/language:
The language to use for the generated proxy class. Choose from ‘CS’,
‘VB’, ‘JS’, ‘VJS’, ‘CPP’ or provide a fully-qualified name for a class implementing System.CodeDom.Compiler.CodeDomProvider.

The default
language is ‘CS’ (CSharp). Short form is ‘/l:’.

This command will put inside your C:myProxyScripts the auto generated proxy.

if your using the WSDL file in your computer, just change the URL to your full path, for example

wsdl /language:cs /protocol:soap /out:C:myProxyScripts C:myProxyScriptsmyWsdlFile.wsdl

Note: your Generated proxy will be called the Service Name, the one you have specified, in our example, as:
<wsdl:service name="TranslateService">

I hope this helps you, understand the WSDL, the Auto Generated Proxies and that you can manage now everything in your end to fulfill your client wishes.

Method 4

You can use the wsdl utility from microsoft to generate the server interfaces and implement them

Here is a short description of the WSDL utility.

wsdl.exe –
Utility to generate code for xml web service clients and xml web
services
using ASP.NET from WSDL contract files, XSD schemas and .discomap
discovery documents. This tool can be used in conjunction with disco.exe.


All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x