I have thought about this many times, but never had the time to make the research to find an solution.
The problem is that if you put an .asmx (web service) on a web server, it will as the default, be able to show the WSDL information to everybody. This isn’t of cause very good, as anyone then easily can see all methods in the web service. Of cause a web service is typically accessible from the public, as this is where it’s purpose to be used from. Anyways, it’s not good to show the WSDL, so I wanted to remove it.
All you need to do, is to add these lines to your web.config:
<? xmlversion="1.0" encoding="utf-8"?>
Read the rest of the article from where I found this here: http://www.15seconds.com/Issue/040609.htm