support <service>-less wsdls in svcutil. Look for portTypes instead.
authorAtsushi Eno <atsushi@ximian.com>
Thu, 28 Apr 2011 10:52:08 +0000 (19:52 +0900)
committerAtsushi Eno <atsushi@ximian.com>
Thu, 28 Apr 2011 10:52:08 +0000 (19:52 +0900)
mcs/tools/svcutil/Driver.cs

index 5c2a8c49e46f1415e265622b38c618a895757502..e77a697e56f98b17f5b025813bc5f8af96e39289 100644 (file)
@@ -98,7 +98,14 @@ namespace Mono.ServiceContractTool
                                //WsdlImporter importer = new WsdlImporter (metadata, null, list);
                                WsdlImporter importer = new WsdlImporter (metadata);
                                ServiceEndpointCollection endpoints = importer.ImportAllEndpoints ();
-                               Collection<ContractDescription> contracts = new Collection<ContractDescription> ((from se in endpoints select se.Contract).ToArray ());
+                               Collection<ContractDescription> contracts = new Collection<ContractDescription> ();
+                               if (endpoints.Count > 0) {
+                                       foreach (var se in endpoints)
+                                               contracts.Add (se.Contract);
+                               } else {
+                                       foreach (var cd in importer.ImportAllContracts ())
+                                               contracts.Add (cd);
+                               }
 
                                Console.WriteLine ("Generating files..");