views:

54

answers:

1

Hi,

I'm building a contract-first SOAP client. When I try to generate the proxy classes with svcutil, I get the error messages listed below and no classes are generated. Some of the error messages are in Dutch, but they're similar to the errors in this question on MSDN. The poster of that question provides the following solution:

[...] WCF Publishing wizard does not like multiple includes (t be precise - more than 3). SO I reduced my Schema includes to zero [...]

Since I'm not in control of the wsdl's and xsd's, and since there are many and they're large, reducing the schema includes would cause severe maintainability problems. So before I try this, I'd like to know if this is indeed what's causing the problem. I'm unable to find confirmation of this.

Has anybody else heard of this as a cause of problems? Are there other things I could try?

The wsdl and related files are available online. As far as I can tell they are all valid.

I tried to run svcutil with arguments /dcOnly and /ser:XmlSerializer, but that didn't help. I also tried reducing the set of operations to what I need, but that didn't help either.

Thanks, Miel.

Error: Er is een validatiefout opgetreden op een schema dat tijdens het exporteren werd gegenereerd: Bron: Regel: 17518 Kolom: 6 Validatiefout: Het attribuut groepsnaam wordt genegeerd omdat de waarde 'prohibited' (verboden) voor attribuutgebruik er alleen voor zorgt dat het overnemen van een identieke attribuutnaam uit de basistypedefinitie wordt verhinderd.

Error: Er is een validatiefout opgetreden op een schema dat tijdens het exporteren werd gegenereerd: Bron: Regel: 17519 Kolom: 6 Validatiefout: Het attribuut elementnaam wordt genegeerd omdat de waarde 'prohibited' (verboden) voor attribuutgebruik er alleen voor zorgt dat het overnemen van een identieke attribuutnaam uit de basistypedefinitie wordt verhinderd.

Error: Kan wsdl:portType niet importeren Detail: Er is een uitzondering opgetreden tijdens het uitvoeren van een WSDL-importextensie: System.ServiceModel.Description.XmlSerializerMessageContractImporter Fout: Kan geen ongeldige schema's importeren. Compilatie op de XmlSchemaSet is mislukt. XPad naar foutbron: //wsdl:definitions[@targetNamespace='http://www.egem.nl/StUF/sector/zkn/0310']/wsdl:portType[@name='BeantwoordVraag']

Error: Kan wsdl:binding niet importeren Detail: Er is een fout opgetreden bij het importeren van een wsdl:portType waar de wsdl:binding van afhankelijk is. XPad naar wsdl:portType: //wsdl:definitions[@targetNamespace='http://www.egem.nl/StUF/sector/zkn/0310']/wsdl:portType[@name='BeantwoordVraag'] XPad naar foutbron: //wsdl:definitions[@targetNamespace='http://www.egem.nl/StUF/sector/zkn/0310']/wsdl:binding[@name='SOAPBeantwoordVraag']

Error: Kan wsdl:port niet importeren Detail: Er is een fout opgetreden bij het importeren van een wsdl:binding waar de wsdl:port van afhankelijk is. XPad naar wsdl:binding: //wsdl:definitions[@targetNamespace='http://www.egem.nl/StUF/sector/zkn/0310']/wsdl:binding[@name='SOAPBeantwoordVraag'] XPad naar foutbron: //wsdl:definitions[@targetNamespace='http://www.egem.nl/StUF/sector/zkn/0310']/wsdl:service[@name='BeantwoordVraag']/wsdl:port[@name='BeantwoordVraag']

Generating files... Warning: No code was generated. If you were trying to generate a client, this could be because the metadata documents did not contain any valid contracts or services or because all contracts/services were discovered to exist in /reference assemblies. Verify that you passed all the metadata documents to the tool.

Warning: If you would like to generate data contracts from schemas make sure to use the /dataContractOnly option.

A: 

Somebody helpful told me that svcutil.exe and wsdl.exe do not handle fault messages defined in a wsdl very well.

After I removed those, svcutil did indeed generate the proxies.

So, at least in this case the problem is not the multiple includes, but fault messages. Now I will need to figure out a workaround for the now missing fault messages.

I'll try to keep this answer updated.

Miel