Each XML Web Service needs a unique namespace in order for client
applications to distinguish it from other services on the Web. By
default, ASP.Net Web Services use http://tempuri.org/ for this
purpose. While this suitable for XML Web Services under development,
published services should use a unique, permanent namespace.
Your XML Web Service should be identified by a namespace that you
control. For example, you can use your company's Internet domain name
as part of the namespace. Although many namespaces look like URLs,
they need not point to actual resources on the Web.
For XML Web Services creating[sic] using ASP.NET, the default namespace can
be changed using the WebService attribute's Namespace property. The
WebService attribute is applied to the class that contains the XML Web
Service methods. Below is a code example that sets the namespace to
"http://microsoft.com/webservices/":
C#
[WebService(Namespace="http://microsoft.com/webservices/")]
public class MyWebService {
// implementation
}
Visual Basic.NET
<WebService(Namespace:="http://microsoft.com/webservices/")> Public Class MyWebService
' implementation
End Class
Visual J#.NET
/**@attribute WebService(Namespace="http://microsoft.com/webservices/")*/
public class MyWebService {
// implementation
}
It's also worth reading section 'A 1.3 Generating URIs' at:
Webservices require unique namespaces so they don't confuse each others schemas and whatever with each other. A URL (domain, subdomain, subsubdomain, etc) is a clever identifier as it's "guaranteed" to be unique, and in most circumstances you've already got one.
Note that namespaces that are in the format of a valid Web URL don't necessarily need to be dereferenced i.e. you don't need to serve actual content at that URL. All that matters is that the namespace is globally unique.