web-dev-qa-db-fra.com

Qu'est-ce qu'un point de terminaison de service Web?

Supposons que mon service Web se trouve sur http://localhost:8080/foo/mywebservice et que mon WSDL se trouve sur http://localhost:8080/foo/mywebservice?wsdl.

http://localhost:8080/foo/mywebservice est-il un point de terminaison, c’est-à-dire est-il le même que l’URI de mon service Web ou est-ce que les messages SOAP ont été reçus et n’ont pas été masqués?

Pourriez-vous s'il vous plaît m'expliquer ce que c'est et à quoi ça sert?

305
karakays

C'est une réponse plus courte et, espérons-le, plus claire ... Oui, le point final est l'URL à laquelle votre application peut accéder à votre service. Un même service Web peut avoir plusieurs noeuds finaux, par exemple pour le rendre disponible en utilisant différents protocoles.

405
lbalazscs

Réponse mise à jour de Peter dans les commentaires:

Il s'agit de "l'ancienne terminologie", utilisez directement la définition de WSDL2 "endepoint" (WSDL2 traduit "port" en "point final").


Peut-être trouvez-vous une réponse dans ce document: http://www.w3.org/TR/wsdl.html

Un document WSDL définit les services comme des collections de points de terminaison réseau ou de ports. Dans WSDL, la définition abstraite des points de terminaison et des messages est séparée de leur déploiement réseau concret ou de leurs liaisons de format de données. Cela permet de réutiliser des définitions abstraites: les messages, qui sont des descriptions abstraites des données échangées, et les types de port, qui sont des collections abstraites d'opérations. Les spécifications concrètes de protocole et de format de données pour un type de port particulier constituent une liaison réutilisable. Un port est défini en associant une adresse réseau à une liaison réutilisable et une collection de ports définit un service. Par conséquent, un document WSDL utilise les éléments suivants dans la définition des services réseau:

  • Types - un conteneur pour les définitions de type de données utilisant un système de type (tel que XSD).
  • Message - une définition abstraite et typée des données en cours de communication.
  • Operation: description abstraite d'une action prise en charge par le service.
  • Type de port: ensemble abstrait d'opérations pris en charge par un ou plusieurs points d'extrémité.
  • Liaison: spécification concrète de protocole et de format de données pour un type de port particulier.
  • Port: un point de terminaison unique défini comme une combinaison d'une liaison et d'une adresse réseau.
  • Service - un ensemble de terminaux associés.

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

Le noeud final est un point de connexion où les fichiers HTML ou les pages du serveur actif sont exposés. Les points finaux fournissent les informations nécessaires pour adresser un point final de service Web. Le noeud final fournit une référence ou une spécification utilisée pour définir un groupe ou une famille de propriétés d’adressage de messages et pour donner des caractéristiques de message de bout en bout, telles que des références pour la source et la destination des noeuds finaux, ainsi que l’identité des messages permettant une application uniforme adressage de messages "indépendants". Le terminal peut être un PC, un PDA ou un terminal de point de vente.

46
Julien

Un point de terminaison de service Web est l'URL qu'un autre programme utiliserait pour communiquer avec votre programme. Pour voir le WSDL, vous ajoutez ?wsdl à l'URL du noeud final du service Web.

Les services Web sont destinés à une interaction programme à programme , tandis que les pages Web sont destinés à programme à personne interaction.

Donc: le point final est: http://www.blah.com/myproject/webservice/webmethod

Par conséquent, WSDL est: http://www.blah.com/myproject/webservice/webmethod?wsdl


Pour développer davantage les éléments d’un WSDL, j’ai toujours trouvé utile de les comparer au code:

Un WSDL a 2 parties (physique et abstraite).

Portion physique:

Définitions - variables - ex: myVar, x, y, etc.

Types - types de données - ex: int, double, String, myObjectType

Opérations - méthodes/fonctions - ex: myMethod (), myFunction (), etc.

Messages - paramètres d'entrée de méthode/fonction et types de retour

  • ex: public myObjectType myMethod (String myVar)

Types de port - classes (c'est-à-dire un conteneur pour les opérations) - ex: MyClass {}, etc.

partie abstraite:

Liaison - ceux-ci se connectent aux types de port et définissent le protocole choisi pour la communication avec ce service Web. - un protocole est une forme de communication (texte/SMS, téléphone ou courrier électronique, etc.).

Service - ceci répertorie l'adresse où un autre programme peut trouver votre service Web (c'est-à-dire votre endpoint).

31
specialk1st

Dans les projets précédents sur lesquels j'ai travaillé, le point final était une propriété relative. C'est-à-dire qu'il peut avoir été ajouté ou non, mais il contenait toujours le protocol://Host:port/partOfThePath.

Si le service appelé comportait une partie dynamique, par exemple un ?param=dynamicValue, cette partie serait alors ajoutée au noeud final. Mais plusieurs fois, le point final pourrait être utilisé tel quel sans avoir à être modifié.

Ce qui est important à comprendre, c'est ce qu'un point final n'est pas et en quoi cela aide. Par exemple, une autre façon de transmettre les informations stockées sur un noeud final serait de stocker les différentes parties du noeud final dans des propriétés distinctes. Par exemple:

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

Ou si le même hôte et le même port sur plusieurs services:

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

Dans ces cas, l'URL complète devra être construite dans votre code en tant que telle:

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

En contrat, cela peut être stocké en tant que terminal en tant que tel

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

Et oui, nous avons souvent enregistré le point final, y compris le '='. Cela a conduit à coder comme ceci:

String url = serviceAEndpoint + dynamicValue;

Espérons que cela nous éclaire un peu.

14
Jose Martinez

En termes simples, un point d'extrémité est l'une des extrémités d'un canal de communication. Lorsqu'une API interagit avec un autre système, les points de contact de cette communication sont considérés comme des points d'extrémité. Pour les API, un noeud final peut inclure l'URL d'un serveur ou d'un service. Chaque noeud final est l'emplacement à partir duquel les API peuvent accéder aux ressources dont elles ont besoin pour remplir leur fonction.

Les API utilisent des ‘requêtes’ et des ‘réponses’. Lorsqu'une API demande des informations à une application Web ou à un serveur Web, elle reçoit une réponse. L'endroit où les API envoient des demandes et où réside la ressource s'appelle un noeud final.

Référence: https://smartbear.com/learn/performance-monitoring/api-endpoints/

5
Satya

Un point de terminaison est spécifié en tant qu'URL relative ou absolue qui entraîne généralement une réponse. Cette réponse est généralement le résultat d'un processus côté serveur qui pourrait, par exemple, produire une chaîne JSON. Cette chaîne peut ensuite être utilisée par l'application qui a appelé l'appel au noeud final. Ainsi, les points d'extrémité sont généralement des points d'accès prédéfinis, utilisés dans les réseaux TCP/IP pour lancer un processus et/ou renvoyer une réponse. Les points d'extrémité peuvent contenir des paramètres passés dans l'URL. En tant que paires clé-valeur, plusieurs paires clé-valeur sont séparées par une perluète, ce qui permet à l'extrémité de faire appel, par exemple, à un processus de mise à jour/insertion. Par conséquent, les ordinateurs d'extrémité n'ont pas toujours besoin de renvoyer une réponse, mais une réponse est toujours utile, même si c'est simplement pour indiquer le succès ou l'échec d'une opération.

5
Martyn Wynn