Qu'est-ce qu'un terminal de service web?

disons que mon service web est situé à http://localhost:8080/foo/mywebservice et ma WSDL est à http://localhost:8080/foo/mywebservice?wsdl .

est http://localhost:8080/foo/mywebservice un point final, c.-à-d., est-il identique à L'URI de mon service web ou où les messages SOAP reçus et non emmagasinés?

pourriez-vous m'expliquer ce que c'est et quel est son but?

273
demandé sur caiosm1005 2012-03-21 19:11:11

4 réponses

il s'agit d'une réponse plus courte et, espérons-le, plus claire... Oui, le point final est L'URL où votre service peut être accédé par une application client. Le même service web peut avoir plusieurs paramètres, par exemple afin de le rendre disponible en utilisant différents protocoles.

363
répondu lbalazscs 2013-09-12 15:47:58

réponse mise à jour, de Peter dans les commentaires:

C'est de "Ancienne terminologie", utilisez directement le wsdl2" endepoint" définition de (WSDL2 traduit par "port" de "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 suit: collectes de points terminaux de réseau, ou ports. Dans WSDL, la définition abstraite des paramètres et des messages est séparée de leur déploiement concret sur le réseau ou de leur format de données. Cela permet de réutiliser les définitions abstraites: les messages, qui sont des descriptions abstraites des données échangées, et les types de ports qui sont des collections abstraites d'opérations. Le protocole concret et les spécifications de format de données pour un type de port particulier constituent une reliure réutilisable. Un port est défini par associer une adresse réseau avec une reliure réutilisable, et un ensemble de ports définissent un service. Ainsi, un document WSDL utilise les éléments suivants dans la définition des services de réseau:

  • Types– un conteneur pour les définitions de type de données en utilisant un système de type (tel que XSD).
  • Message– d'un résumé, tapé à la définition des données communiquées.
  • Opération– une description abstraite d'un action soutenue par le service.
  • Type de Port-ensemble abstrait d'opérations appuyé par un ou plusieurs paramètres.
  • Lie– un protocole concret et spécifications de format de données pour un type de port particulier.
  • Port– un seul point de terminaison définis comme une combinaison d'une liaison et d'une adresse de réseau.
  • Service– une collection de points de terminaison.

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

l'endpoint est un point de connexion où les fichiers HTML ou les pages du serveur actif sont exposés. Les paramètres fournissent l'information nécessaire pour traiter un paramètre du service Web. Le paramètre fournit une référence ou une spécification qui est utilisée pour définir un groupe ou une famille de propriétés d'adressage de message et de donner des caractéristiques de message de bout en bout, telles que comme références pour la source et la destination des points terminaux, et l'identité des messages pour permettre l'adressage uniforme des messages "indépendants". Le terminal peut être un PC, un PDA ou un point de vente.

44
répondu Julien 2015-10-21 13:32:34

un endpoint 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 point final du service web.

Web services programme-programme interaction, tandis que les pages web sont pour programme-pour-homme interaction.

So: Le paramètre est: http://www.blah.com/myproject/webservice/webmethod

Donc, WSDL est: http://www.blah.com/myproject/webservice/webmethod?wsdl


pour développer davantage les éléments D'une WSDL, je trouve toujours utile de les comparer au code:

UN WSDL a 2 parties (physique et abstrait).

Partie 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-méthode / fonction Paramètres d'entrée et types de retour

  • ex: public myObjectType myMethod ( String myVar)

Porttypes - classes (c'est à dire qu'ils sont un conteneur pour les opérations) - ex: Maclasse{}, etc.

résumé Portion:

liaison - ceux-ci se connectent aux types de port et définissent le protocole choisi pour communiquer avec ce service web. - un protocole est une forme de communication (donc texte/SMS, vs. téléphone vs. e-mail, etc.).

Service - cette liste l'adresse où un autre programme peut trouver votre service web (i.e. votre endpoint ).

26
répondu specialk1st 2018-02-08 13:34:04

dans des projets antérieurs sur lesquels j'ai travaillé, le paramètre était une propriété relative. C'est-à-dire qu'elle peut avoir été ou non annexée, mais elle contenait toujours le protocol://host:port/partOfThePath .

si le service appelé avait une partie dynamique, par exemple un ?param=dynamicValue , cette partie serait ajoutée au point final. Toutefois, le paramètre pourrait être utilisé en l'état sans qu'il soit nécessaire de le modifier.

ce qu'il est important de comprendre, c'est ce qu'est un paramètre pas et comment ça aide. Par exemple, une autre façon de transmettre l'information stockée dans un paramètre serait de stocker les différentes parties du paramètre 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 comme tel:

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

dans le contrat cela peut être stocké comme un endpoint en tant que tel

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

Et oui, de nombreuses fois nous avons stocké le point de terminaison jusqu'à et y compris le '='. Cela mène au code comme ceci:

String url = serviceAEndpoint + dynamicValue;

J'espère qu'il y a de la lumière.

12
répondu Jose Martinez 2015-04-24 16:54:05