I am trying to create code from this WSDL using the following command:
svcutil /noConfig /language:C# /out:ICatalog.cs http://schemas.opengis.net/csw/2.0.2/profiles/ebrim/1.0/wsdl/2.0/csw-ebrim-interface.wsdl
However, svcutil cannot read it, and the xMethods WSDL validator says it is not valid.
What is invalid? How can I get svcutil to generate interface code?
I'm not sure if the WSDL is valid or not, but what you are trying to do will not work. Svcutil can only generate code for WSDL version 1.1 files. Your version of WSDL 2.0.
The WSDL validator that you specified in your question returns the following message when providing the WSDL:
faultCode = INVALID_WSDL: The expected element is 'http://schemas.xmlsoap.org/wsdl/:definitions'.
It parses the file as WSDL 1.1. and expects the root to be definitions , but which has changed in WSDL 2.0 to description .
definitions
description
If you have a valid WSDL 2.0 file, Svcutil2 could generate the code for you, but this tool is not stable.
To check WSDL, I think you can use validator
The idea is this: version 1.1 is still the "de facto" language when using WSDL . Not many WS platforms adopted WSDL 2.0 like this (only my 2 cents!) I think it's best to stick with the βstandardβ until the support is fully matured for WSDL 2.0.
try adding the link Links> Add Link> COM> System.ServiceModel