WSDL è un formato basato su XML che descrive come si dovrebbe parlare a un determinato servizio Web. Tuttavia, questa non è l'unica incarnazione di quella sintassi. Il server stesso conosce la sintassi (ovviamente) ma anche il client legittimo.
Se un utente malintenzionato vuole sapere come parlare al tuo servizio Web, deve solo decodificare il codice client. Il codice client viene distribuito in vari punti, è un file scritto su dischi e nastri di backup e supporti di distribuzione, è anche nella testa di diversi sviluppatori e il protocollo può essere documentato e stampato, in modo che l'utente malintenzionato possa scansionare i bidoni della spazzatura nel sito di sviluppo per ottenere le informazioni sulla sintassi. Il WSDL può solo aiutare l'aggressore, ma sarebbe un errore credere che senza il WSDL l'aggressore sia gravemente danneggiato.
Come dice @Rook, lasciare che il servizio Web pubblichi il WSDL sia conveniente per i test; è anche un bene per gli sviluppi di interoperabilità. Dal momento che qualsiasi sana politica di sicurezza deve presupporre che sia pubblica o quasi pubblica, puoi comunque lasciarla pubblica.