In WSDL IIS 7.0 uses its machine name in URL if the value has not been given. Well it looks like a bug for an entry level programmer or admin of Windows Server.
Two ways to fix this.
1. Bind the website with a proper domain in IIS. This is working for HTTP. If the WCF service is only for HTTP, IIS will smoothly give WSDL with given domain .
2. For HTTPS, modifying the applicationHost.config is needed.
It is located in c:\Windows\System32\inetsrv\config .
We must modify protocol=”https” bindingInformation to “*:443:www.niceurl.com” .
* this information is only for IIS7.0 above and for IIS6.0 there are some vbs to do that.
IIS 6.0 information is found in below..
http://www.jstawski.com/archive/2008/05/01/wcf-wsdl-location-address-with-https.aspx