it-swarm.com.de

Was ist ein Web-Service-Endpunkt?

Angenommen, mein Webdienst befindet sich unter http://localhost:8080/foo/mywebservice und meine WSDL unter http://localhost:8080/foo/mywebservice?wsdl.

Ist http://localhost:8080/foo/mywebservice ein Endpunkt, d. H. Ist er derselbe wie der URI meines Webdienstes oder wo die SOAP Nachrichten empfangen und nicht zugeordnet wurden?

Können Sie mir bitte erklären, was es ist und wozu es dient?

305
karakays

Dies ist eine kürzere und hoffentlich klarere Antwort ... Ja, der Endpunkt ist die URL, über die eine Clientanwendung auf Ihren Service zugreifen kann. Ein Webdienst kann mehrere Endpunkte haben, um ihn beispielsweise mit verschiedenen Protokollen verfügbar zu machen.

405
lbalazscs

Aktualisierte Antwort von Peter in Kommentaren:

Dies ist die "alte Terminologie", verwenden Sie direkt die WSDL2 "Endpunkt" Definition (WSDL2 übersetzt "Port" zu "Endpunkt").


Vielleicht finden Sie eine Antwort in diesem Dokument: http://www.w3.org/TR/wsdl.html

Ein WSDL-Dokument definiert Dienste als Sammlungen von Netzwerkendpunkten oder Ports. In WSDL wird die abstrakte Definition von Endpunkten und Nachrichten von ihrer konkreten Netzwerkbereitstellung oder Datenformatbindung getrennt. Dies ermöglicht die Wiederverwendung von abstrakten Definitionen: Nachrichten, bei denen es sich um abstrakte Beschreibungen der auszutauschenden Daten handelt, und Porttypen, bei denen es sich um abstrakte Auflistungen von Operationen handelt. Die konkreten Protokoll- und Datenformatspezifikationen für einen bestimmten Porttyp bilden eine wiederverwendbare Bindung. Ein Port wird definiert, indem eine Netzwerkadresse einer wiederverwendbaren Bindung zugeordnet wird, und eine Sammlung von Ports definiert einen Dienst. Daher werden in einem WSDL-Dokument die folgenden Elemente bei der Definition von Netzwerkdiensten verwendet:

  • Types - Ein Container für Datentypdefinitionen mit einem bestimmten Typsystem (z. B. XSD).
  • Nachricht - eine abstrakte, typisierte Definition der zu übermittelnden Daten.
  • Operation - eine abstrakte Beschreibung einer vom Dienst unterstützten Aktion.
  • Porttyp: Eine abstrakte Gruppe von Vorgängen, die von einem oder mehreren Endpunkten unterstützt werden.
  • Bindung - Eine konkrete Protokoll- und Datenformatspezifikation für einen bestimmten Porttyp.
  • Port - Ein einzelner Endpunkt, der als Kombination aus Bindung und Netzwerkadresse definiert ist.
  • Service - Eine Sammlung verwandter Endpunkte.

http://www.ehow.com/info_12212371_definition-service-endpoint.html

Der Endpunkt ist ein Verbindungspunkt, an dem HTML-Dateien oder aktive Serverseiten verfügbar gemacht werden. Endpunkte stellen Informationen bereit, die zur Adressierung eines Webdienst-Endpunkts erforderlich sind. Der Endpunkt stellt eine Referenz oder Spezifikation bereit, die zum Definieren einer Gruppe oder Familie von Nachrichtenadressierungseigenschaften und zum Angeben von Ende-zu-Ende-Nachrichtenmerkmalen verwendet wird, z Adressierung von "unabhängigen" Nachrichten. Der Endpunkt kann ein PC, ein PDA oder ein Kassenterminal sein.

46
Julien

Ein Web-Service-Endpunkt ist die URL, die ein anderes Programm für die Kommunikation mit Ihrem Programm verwenden würde. Um die WSDL anzuzeigen, fügen Sie ?wsdl zur Webdienst-Endpunkt-URL hinzu.

Webdienste sind für die Programm-zu-Programm-Interaktion vorgesehen, während Webseiten für die Programm-zu-Mensch-Interaktion vorgesehen sind.

Also: Endpunkt ist: http://www.blah.com/myproject/webservice/webmethod

Daher lautet WSDL: http://www.blah.com/myproject/webservice/webmethod?wsdl


Um die Elemente einer WSDL weiter zu erweitern, finde ich es immer hilfreich, sie mit Code zu vergleichen:

Eine WSDL besteht aus 2 Teilen (physisch und abstrakt).

Körperlicher Teil:

Definitionen - Variablen - zB: myVar, x, y, etc.

Typen - Datentypen - Beispiel: int, double, String, myObjectType

Operationen - Methoden/Funktionen - Beispiel: myMethod (), myFunction () usw.

Nachrichten - Methoden-/Funktionseingabeparameter und Rückgabetypen

  • beispiel: public myObjectType myMethod (String myVar)

Porttypen - Klassen (d. H. Sie sind Container für Operationen) - z. B .: MyClass {} usw.

Abstrakter Teil:

Bindung - Diese stellen eine Verbindung zu den Porttypen her und definieren das ausgewählte Protokoll für die Kommunikation mit diesem Webdienst. - Ein Protokoll ist eine Form der Kommunikation (also Text/SMS vs. Telefon vs. E-Mail etc.).

Dienst - Hier wird die Adresse aufgeführt, unter der ein anderes Programm Ihren Webdienst finden kann (d. H. Ihr Endpunkt).

31
specialk1st

In früheren Projekten, an denen ich gearbeitet habe, war der Endpunkt eine relative Eigenschaft. Das heißt, es kann angehängt worden sein oder nicht, aber es enthielt immer den protocol://Host:port/partOfThePath.

Wenn der aufgerufene Dienst einen dynamischen Teil enthält, z. B. einen ?param=dynamicValue, wird dieser Teil dem Endpunkt hinzugefügt. Der Endpunkt kann jedoch so oft verwendet werden, wie er ist, ohne geändert werden zu müssen.

Es ist wichtig zu verstehen, was ein Endpunkt nicht ist und wie er hilft. Eine alternative Möglichkeit, die in einem Endpunkt gespeicherten Informationen weiterzuleiten, besteht beispielsweise darin, die verschiedenen Teile des Endpunkts in separaten Eigenschaften zu speichern. Zum Beispiel:

hostForServiceA=someIp
portForServiceA=8080
pathForServiceA=/some/service/path
hostForServiceB=someIp
portForServiceB=8080
pathForServiceB=/some/service/path

Oder wenn derselbe Host und Port über mehrere Dienste verteilt ist:

Host=someIp
port=8080
pathForServiceA=/some/service/path
pathForServiceB=/some/service/path

In diesen Fällen müsste die vollständige URL in Ihrem Code als solche erstellt werden:

String url = "http://" + Host + ":" + port + pathForServiceA  + "?" + dynamicParam + "=" + dynamicValue;

Im Vertrag kann dies als Endpunkt als solcher gespeichert werden

serviceAEndpoint=http://Host:port/some/service/path?dynamicParam=

Und ja, oft haben wir den Endpunkt bis einschließlich '=' gespeichert. Dies führte zu folgendem Code:

String url = serviceAEndpoint + dynamicValue;

Hoffe, dass etwas Licht wirft.

14
Jose Martinez

Einfach ausgedrückt ist ein Endpunkt ein Ende eines Kommunikationskanals. Wenn eine API mit einem anderen System interagiert, werden die Berührungspunkte dieser Kommunikation als Endpunkte betrachtet. Bei APIs kann ein Endpunkt eine URL eines Servers oder Dienstes enthalten. Jeder Endpunkt ist der Ort, an dem APIs auf die Ressourcen zugreifen können, die sie zur Ausführung ihrer Funktion benötigen.

APIs arbeiten mit Anfragen und Antworten. Wenn eine API Informationen von einer Webanwendung oder einem Webserver anfordert, erhält sie eine Antwort. Der Ort, an dem APIs Anforderungen senden und an dem sich die Ressource befindet, wird als Endpunkt bezeichnet.

Referenz: https://smartbear.com/learn/performance-monitoring/api-endpoints/

5
Satya

Ein Endpunkt wird als relative oder absolute URL angegeben, die normalerweise zu einer Antwort führt. Diese Antwort ist normalerweise das Ergebnis eines serverseitigen Prozesses, der beispielsweise eine JSON-Zeichenfolge erzeugen kann. Diese Zeichenfolge kann dann von der Anwendung verwendet werden, die den Aufruf an den Endpunkt vorgenommen hat. Daher sind Endpunkte im Allgemeinen vordefinierte Zugriffspunkte, die in TCP/IP-Netzwerken verwendet werden, um einen Prozess zu initiieren und/oder eine Antwort zurückzugeben. Endpunkte können Parameter enthalten, die innerhalb der URL übergeben werden. Mehrere Schlüsselwertpaare werden durch ein kaufmännisches Und getrennt, sodass der Endpunkt beispielsweise einen Aktualisierungs-/Einfügungsprozess aufrufen kann. Endpunkte müssen also nicht immer eine Antwort zurückgeben, aber eine Antwort ist immer nützlich, auch wenn sie nur den Erfolg oder Misserfolg einer Operation anzeigt.

5
Martyn Wynn