public override WebServiceDiscoveryResult Load (WebReferenceItem item) { FilePath basePath = item.MapFile.FilePath.ParentDirectory; ReferenceGroup resfile = ReferenceGroup.Read (item.MapFile.FilePath); // TODO: Read as MetadataSet DiscoveryClientProtocol protocol = new DiscoveryClientProtocol (); foreach (MetadataFile dcr in resfile.Metadata) { DiscoveryReference dr; switch (dcr.MetadataType) { case "Wsdl": dr = new System.Web.Services.Discovery.ContractReference (); break; case "Disco": dr = new System.Web.Services.Discovery.DiscoveryDocumentReference (); break; case "Schema": dr = new System.Web.Services.Discovery.SchemaReference (); break; default: continue; } dr.Url = dcr.SourceUrl; FileStream fs = new FileStream (basePath.Combine (dcr.FileName), FileMode.Open, FileAccess.Read); protocol.Documents.Add (dr.Url, dr.ReadDocument (fs)); fs.Close (); protocol.References.Add (dr.Url, dr); } return new WebServiceDiscoveryResultWCF (protocol, null, item, resfile); }
public override string GetServiceURL() { ReferenceGroup resfile = ReferenceGroup.Read(Item.MapFile.FilePath); if (resfile.MetadataSources.Count == 0) { return(null); } return(resfile.MetadataSources [0].Address); }
public override void Update() { ReferenceGroup resfile = ReferenceGroup.Read(Item.MapFile.FilePath); if (resfile.MetadataSources.Count == 0) { return; } string url = resfile.MetadataSources [0].Address; WebServiceDiscoveryResultWCF wref = (WebServiceDiscoveryResultWCF)WebReferencesService.WcfEngine.Discover(url); if (wref == null) { return; } metadata = wref.metadata; protocol = wref.protocol; GenerateFiles(Item.Project, Item.MapFile.Project.Name, Item.Name); }