targetNamespace und Namespaces im WSDL
Ich studiere SOAP-web-Dienste und ich bin wirklich neu in Web-Services. In der WSDL-ich habe ein wenig Verwirrung in der targetNamespace element in der definition und der namespace enthalten in der xsd:schema
.
<definitions .... targetNamespace=" " >
<xsd:schema>
<xsd:import namespace=" " schemaLocation=""/>
</xsd:schema>
Was bedeutet es, von diesen beiden Elementen, und ich suchte durch viele Artikel im web, und ich war nicht in der Lage, klar zu identifizieren. Kann jemand bitte mir erklären?
Tun diese beiden sich gleichen Werte?
InformationsquelleAutor der Frage Dilan | 2015-01-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den Ziel-Namensraum der WSDL-Datei wird der name-space im Zusammenhang mit der SOAP-Dienst selbst. Zum Beispiel haben wir einen Kundendienst, den namespace wäre so etwas wie
http://www.acme.com/Customer/V1/CustomerService
.XSD importiert Abschnitt ist, wo Sie geben den Namensraum des XSD -, die Sie importieren. Eine XSD-Datei enthält die Daten, die der Dienst senden, d.h. es enthält die Objekt-Definitionen werden in XML serialisiert und gesendet nach oben und unten, wie die Anfrage und Antworten. Eine XSD-können enthalten auch die Operationen, die der WSDL-ausstellen wird.
Einer WSDL-Datei importieren können Sie eine oder mehrere XSD-Dateien und die einzelnen XSD-haben Ihren eigenen Namensraum. Eine XSD enthält ein Namensraum, wie:
http://www.acme.com/Customer/V1/GetCustomerRequest
für die GetCustomerRequest diese definieren die Datenstruktur der GetCustomerRequest Betrieb.http://www.acme.com/Customer/V1/CustomerObject
für die CustomerObject diese definieren die Datenstruktur der CustomerObject.Namespaces sind ein bisschen wie Java-Pakete, die Sie sich nur erlauben, Sie zu definieren, die eine Hierarchie von Objekten. Eine wichtige Sache zu verstehen ist, dass Sie möglicherweise haben zwei Kunden-Objekte gehört zu Ihren sale-system und eine, gehören zu Ihrem CRM-system zum Beispiel. Indem diese in separate namespaces, die Sie verwenden können sowohl der Kunde als Objekt in der gleichen service wie lange Sie haben eigene namespaces.
Normalerweise werden diese namespaces bilden einen Teil der SOA-Katalog als gut und zu definieren, werden Teil Ihrer SOA-governance-standards. Sie sind wichtig, wenn Sie wollen, um SOA erfolgreich.
InformationsquelleAutor der Antwort Namphibian
Ich erkläre mit Hilfe von Java-Analogie.
Namespace ist wie Java-namespace. Jedes xml-element in einem Namensraum. Die Bereitstellung einer targetNamespace bedeutet, dass alle Elemente (und-Typen) definiert sind, in diesem namespace. Es ist ähnlich, dass alle Java-Klassen in das Paket.
Xsd importiert wird seine eigenen Ziel-Namensraum, das würde bedeuten, dass alle Elemente im xsd-wird in den namespace definiert.
Den import in die wsdl ist wie die Bereitstellung eines java-import-Angabe das Paket.
Ich hoffe, ich bin klar und hilfreich :D.
InformationsquelleAutor der Antwort sashwat
targetNamespace ist ein XML-Schema "Artefakt".Benutzerdefinierte Datentypen sind, haben die Möglichkeit, name-clashes, wenn wir arbeiten mit verschiedenen Teams. Dieses Attribut
schema
- element definiert namespace d.h. Paket. Per Konvention verwenden wir URI/URLs, aber wir könnten jede beliebige Zeichenfolge verwenden..Beispiel:
Hinweis:
xsi:schemaLocation
bedeuten die namespace-und URL sind getrennt mit Leerzeichen. Undxmlns:mvc
bedeuten die namespacehttp://www.springframework.org/schema/mvc
definieren alsmvc
alias.Beispiel: Im Frühjahr werden die Bohnen xml-schema hat den gleichen targetNamespace für verschiedene Versionen von spring-beans.xsd.
namespace Analogie:
für mehr details
InformationsquelleAutor der Antwort Premraj