Was ist tempuri.org?

92

Warum gibt es tempuri.org? Warum benötigt jeder XML-Webservice einen eigenen Namespace, der von allen anderen im Web einzigartig ist?

SpoiledTechie.com
quelle

Antworten:

44

Webservices erfordern eindeutige Namespaces, damit sie die Schemas und was auch immer nicht miteinander verwechseln. Eine URL (Domain, Subdomain, Subsubdomain usw.) ist eine clevere Kennung, da sie "garantiert" eindeutig ist und in den meisten Fällen bereits eine vorhanden ist.

Oddmund
quelle
Von Zeit zu Zeit kann es vorkommen, dass Sie Daten aus zwei (oder mehr) Quellen in einem einzigen XML-Dokument speichern (z. B. Informationen von mehreren Chemieherstellern zu einem bekannten Stoff sammeln) und Namespaces verwenden können für jeden Hersteller ermöglicht Ihnen die gleiche XML - Element - Tag zB haben <comp1:SubstanceName>Hand Soap</comp1:SubstanceName>und <comp2:SubstanceName>Palmolive</comp2:SubstanceName>und <comp3:SubstanceName>Soft Soap</comp3:SubstanceName>ohne Kollision und mit Klarheit , wo die Daten kamen aus
bkwdesign
1
Was ist tempuri.org?
Montag,
56

Leider tempuri.orgleitet die URL jetzt nur noch zu Bing weiter.

Sie können sehen, was es zum Rendern verwendet hat über archive.org:

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

Zitieren:

Jeder XML-Webdienst benötigt einen eindeutigen Namespace, damit Clientanwendungen ihn von anderen Diensten im Web unterscheiden können. Standardmäßig verwenden ASP.Net-Webdienste zu diesem Zweck http://tempuri.org/ . Während dies für in der Entwicklung befindliche XML-Webdienste geeignet ist, sollten veröffentlichte Dienste einen eindeutigen, permanenten Namespace verwenden.

Ihr XML-Webdienst sollte durch einen von Ihnen kontrollierten Namespace identifiziert werden. Beispielsweise können Sie den Internetdomänennamen Ihres Unternehmens als Teil des Namespace verwenden. Obwohl viele Namespaces wie URLs aussehen, müssen sie nicht auf tatsächliche Ressourcen im Web verweisen.

Bei XML-Webdiensten, die [sic] mit ASP.NET erstellen, kann der Standardnamespace mithilfe der Namespace-Eigenschaft des WebService-Attributs geändert werden. Das WebService-Attribut wird auf die Klasse angewendet, die die XML-Webdienstmethoden enthält. Unten finden Sie ein Codebeispiel, mit dem der Namespace auf " http://microsoft.com/webservices/ " gesetzt wird:

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
}

Lesen Sie auch den Abschnitt 'A 1.3 Generieren von URIs' unter:

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

Kev
quelle
11

Wahrscheinlich, um sicherzustellen, dass öffentliche Webservices einzigartig sind.

Ich denke immer an köstliche frittierte Leckereien ...

Andrew Kennan
quelle
9

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

tempuri.org ist der Standard-Namespace-URI, der von Microsoft-Entwicklungsprodukten wie Visual Studio verwendet wird.

Cody Brocious
quelle
7
Angesichts der Größe des Artikels hätten Sie genauso gut das Ganze zitieren können.
Chris Charabaruk
4
tempuri.org ist nicht speziell für Microsoft, sondern wird in den W3C-Hinweisen zu WDSL beschrieben: w3.org/TR/wsdl#_Toc492291092 - "Der Basis-URI" tempuri.org "kann zum Erstellen eines URI ohne eindeutige Zuordnung verwendet werden zu einer Entität "
Kev
Für das, was es wert ist, scheint es nicht mehr der Fall zu sein, dass tempuri.org irgendeine Unterstützung von w3.org hat (zumindest auf dieser verlinkten Seite)
Mikeb
7

Beachten Sie, dass Namespaces im Format einer gültigen Web-URL nicht unbedingt dereferenziert werden müssen, dh Sie müssen keinen tatsächlichen Inhalt unter dieser URL bereitstellen. Alles was zählt ist, dass der Namespace global eindeutig ist.

Ates Goral
quelle