O que é tempuri.org?

92

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?

SpoiledTechie.com
fonte

Respostas:

44

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.

Oddmund
fonte
De vez em quando, você pode ter uma situação em que está armazenando dados de 2 (ou mais) fontes em um único documento XML (por exemplo, reunindo informações de vários fabricantes de produtos químicos sobre uma substância bem conhecida) e podendo usar namespaces para cada fabricante permite que você tenha o mesmo elemento XML tag por exemplo, <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
bkwdesign
1
O que é tempuri.org?
Segunda
56

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 Class

Visual 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:

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

Kev
fonte
11

Provavelmente para garantir que os webservices públicos sejam únicos.

Sempre me faz pensar em deliciosas guloseimas fritas ...

Andrew Kennan
fonte
9

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.

Cody Brocious
fonte
7
Dado o tamanho do artigo, você poderia muito bem ter citado o artigo inteiro.
Chris Charabaruk,
4
tempuri.org não é específico da Microsoft, na verdade é descrito nas notas do W3C em WDSL: w3.org/TR/wsdl#_Toc492291092 - "O URI básico" tempuri.org "pode ​​ser usado para construir um URI sem qualquer associação exclusiva para uma entidade "
Kev,
Pelo que vale a pena, não parece mais ser o caso de tempuri.org ter qualquer endosso de w3.org (pelo menos naquela página vinculada)
Mikeb
7

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.

Ates Goral
fonte