Domanda
Qualcuno conosce un buon strumento per generare il WSDL per un contratto di servizio scritto in C# (ad es.set di metodi contrassegnati come "[OperationContract]" utilizzando WCF)?Tutti gli strumenti che ho trovato funzionano al contrario:creare stub di codice da un WSDL.Non voglio dover bloccare manualmente un file WSDL.Ho trovato strumenti per PHP e J2EE, ma non C#.Grazie!
Soluzione
La cosa più semplice da fare è ospitare il servizio con una configurazione dell'indirizzo di base e quindi selezionarlo da un browser con "?wsdl" aggiunto alla fine.
Ecco un esempio di configurazione del servizio con un indirizzo di base specificato.Nota che questo va nel file <configuration><services>
elemento nella tua configurazione:
<service name="MyServiceName" behaviorConfiguration="MyServiceBehavior">
<host>
<baseAddresses>
<add baseAddress="http://localhost:9000/MyService"/>
</baseAddresses>
</host>
<endpoint address="net.tcp://localhost:9001/MyService"
binding="netTcpBinding"
contract="IMyService"
bindingConfiguration="MyServiceBinding"/>
</service>
Una volta ottenuto l'hosting, vai su http://localhost:9000/MyService?wsdl
per vedere la definizione WSDL.
Altri suggerimenti
svcutil o semplicemente ospitalo rapidamente e raggiungi il punto MEX :)
Due strade:
UN) Scarica il file wsdl ed esegui i passaggi seguenti:
i) Apri il prompt dei comandi di Visual Studio come amministratore.
ii) Digita il comando seguente:
wsdl.exe [percorso del file WSDL]
B) Con punto finale:
i) Apri il prompt dei comandi di Visual Studio come amministratore.
ii) digitare il comando seguente:wsdl.exe http://localhost:9000/MyService