Por que existe tempuri.org? Por que cada serviço da Web em XML requer seu próprio namespace, exclusivo de qualquer outro na web?
Por que existe tempuri.org? Por que cada serviço da Web em XML requer seu próprio namespace, exclusivo de qualquer outro na web?
Respostas:
Os serviços da Web exigem namespaces exclusivos para que não confundam os esquemas uns dos outros e qualquer coisa entre eles. Um URL (domínio, subdomínio, subsubdomínio, etc.) é um identificador inteligente, pois é "garantido" ser único e, na maioria das circunstâncias, você já tem um.
Infelizmente, a tempuri.orgURL agora redireciona apenas para o Bing.
Você pode ver o que costumava ser renderizado por meio de archive.org:
https://web.archive.org/web/20090304024056/http://tempuri.org/
Citar:
Cada XML Web Service precisa de um namespace exclusivo para que os aplicativos cliente possam distingui-lo de outros serviços na web. Por padrão, os serviços da Web ASP.Net usam http://tempuri.org/ para essa finalidade. Embora seja adequado para XML Web Services em desenvolvimento, os serviços publicados devem usar um namespace exclusivo e permanente.
Seu XML Web Service deve ser identificado por um namespace que você controla. Por exemplo, você pode usar o nome de domínio da Internet da sua empresa como parte do namespace. Embora muitos namespaces pareçam URLs, eles não precisam apontar para recursos reais na web.
Para a criação de XML Web Services [sic] usando ASP.NET, o namespace padrão pode ser alterado usando a propriedade Namespace do atributo WebService. O atributo WebService é aplicado à classe que contém os métodos XML Web Service. Abaixo está um exemplo de código que define o namespace para " 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 ClassVisual J # .NET
/**@attribute WebService(Namespace="http://microsoft.com/webservices/")*/ public class MyWebService { // implementation }
Também vale a pena ler a seção 'A 1.3 Gerando URIs' em:
Provavelmente para garantir que os webservices públicos sejam únicos.
Sempre me faz pensar em deliciosas guloseimas fritas ...
http://en.wikipedia.org/wiki/Tempuri
tempuri.org é o URI de namespace padrão usado por produtos de desenvolvimento da Microsoft, como o Visual Studio.
Observe que os namespaces que estão no formato de um URL da Web válido não precisam necessariamente ser desreferenciados, ou seja, você não precisa servir conteúdo real naquele URL. Tudo o que importa é que o namespace seja globalmente único.
<comp1:SubstanceName>Hand Soap</comp1:SubstanceName>e<comp2:SubstanceName>Palmolive</comp2:SubstanceName>e<comp3:SubstanceName>Soft Soap</comp3:SubstanceName>sem risco de colisão e, com clareza onde os dados vieram