What is tempuri.org?

前端 未结 5 1431
别跟我提以往
别跟我提以往 2020-12-23 19:58

Why does tempuri.org exist? Why does each XML Webservice require its own namespace, unique from any other on the web?

相关标签:
5条回答
  • 2020-12-23 20:34

    Probably to guarantee that public webservices will be unique.

    It always makes me think of delicious deep fried treats...

    0 讨论(0)
  • 2020-12-23 20:36

    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.

    0 讨论(0)
  • 2020-12-23 20:38

    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.

    0 讨论(0)
  • 2020-12-23 20:40

    http://en.wikipedia.org/wiki/Tempuri

    tempuri.org is the default namespace URI used by Microsoft development products, like Visual Studio.

    0 讨论(0)
  • 2020-12-23 20:45

    Unfortunately the tempuri.org URL now just redirects to Bing.

    You can see what it used to render via archive.org:

    https://web.archive.org/web/20090304024056/http://tempuri.org/

    To quote:

    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:

    http://www.w3.org/TR/wsdl#_Toc492291092

    0 讨论(0)
提交回复
热议问题