What is the best way to download all of the WSDL files exposed by a WCF service?
For example, the root WSDL file references the following other WSDL files:
<xsd:import schemaLocation="http://localhost:80/?xsd=xsd0" namespace="http://tempuri.com"/>
<xsd:import schemaLocation="http://localhost:80/?xsd=xsd1" namespace="http://tempuri.com"/>
Ideally it would be possible to automate the download so that every time the WSDL changes it would be easy to distribute the files to a customer or incorporate into a document/SDK.
Examine the wsdl to find the <wsdl:import> tag and the url you want browse to obtain the entire WSDL will be in the "location=" attribute of the tag. Now just browse to the location highlighted above and you will have the complete WSDL for the Organization Service.
In Chrome, pull up developer tools and go to the Network tab before you click the Generate button. Click the wsdl. jsp item and copy out of the Response tab. Start highlighting at the first character and then Ctrl+Shift+End.
WSDL stands for Web Service Description Language. The WCF service exposes the WSDL document for the clients, to generate proxies and the configuration file. The WSDL file provides the following information for the consumers of the WCF service.
Meanwhile, disco.exe is considered obsolete technology by Microsoft.
You can use svcutil.exe /t:metadata
to achieve the same in the WCF age. Additional benefits are support for additional features, eg WS-Policy.
Save schema from URL:
svcutil /t:metadata http://host/pathtomy.svc?wsdl
Save schema from assembly, eg in automated build:
svcutil /t:metadata c:\wcfweb\pathToWcfServiceAssembly.dll
If you own the service, another interesting option you could explore is using Christian Weyer's FlatWSDL behavior, which will force WCF to generate everything in a single WSDL document, which should make it a lot easier for you to distribute it.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With