Domanda

Sto usando un file WSDL per creare un file di classe proxy, questo servizio ha una grande enumerazione. la descrizione per ciascun valore enum è nella sezione documentazione, come posso leggere programmaticamente quella sezione?

È stato utile?

Soluzione

Un file WSDL è sempre un file XML, quindi puoi aprirlo e leggere i dati degli elementi. Ad esempio, dato il file WSDL dei servizi eBay , puoi richiedere la documentazione di il valore COD dell'enumerazione BuyerPaymentMethodCodeType in questo modo:

    XmlDocument wsdlDoc = new XmlDocument();
    wsdlDoc.Load(@"D:\temp\eBaySvc.wsdl");

    XmlNamespaceManager nsMgr = new XmlNamespaceManager(wsdlDoc.NameTable);
    nsMgr.AddNamespace("xs", "http://www.w3.org/2001/XMLSchema");

    XmlNode node = wsdlDoc.SelectSingleNode("//xs:simpleType[@name='BuyerPaymentMethodCodeType']/xs:restriction/xs:enumeration[@value='COD']/xs:annotation/xs:documentation", nsMgr);
    string description = node.InnerText;
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top