¿Qué es un punto final de servicio web?

Resuelto karakays asked hace 12 años • 0 respuestas

Digamos que mi servicio web está ubicado en http://localhost:8080/foo/mywebservicey mi WSDL está en http://localhost:8080/foo/mywebservice?wsdl.

¿Es http://localhost:8080/foo/mywebserviceun punto final, es decir, es el mismo que el URI de mi servicio web o donde se reciben y desordenan los mensajes SOAP?

¿Podrías explicarme qué es y cuál es su finalidad?

karakays avatar Mar 21 '12 22:03 karakays
Aceptado

Esta es una respuesta más corta y, con suerte, más clara... Sí, el punto final es la URL donde una aplicación cliente puede acceder a su servicio. El mismo servicio web puede tener varios puntos finales, por ejemplo para que esté disponible mediante diferentes protocolos.

lbalazscs avatar Sep 12 '2013 15:09 lbalazscs

Respuesta actualizada, de Peter en los comentarios:

Esta es la "terminología antigua", utilice directamente la definición de "punto final" de WSDL2 (WSDL2 se traduce como "puerto" como "punto final").


Quizás encuentre una respuesta en este documento: http://www.w3.org/TR/wsdl.html

Un documento WSDL define servicios como colecciones de puntos finales o puertos de red. En WSDL, la definición abstracta de puntos finales y mensajes está separada de su implementación de red concreta o enlaces de formato de datos. Esto permite la reutilización de definiciones abstractas: mensajes, que son descripciones abstractas de los datos que se intercambian, y tipos de puertos que son colecciones abstractas de operaciones. Las especificaciones concretas de protocolo y formato de datos para un tipo de puerto particular constituyen un enlace reutilizable. Un puerto se define asociando una dirección de red con un enlace reutilizable, y una colección de puertos define un servicio. Por tanto, un documento WSDL utiliza los siguientes elementos en la definición de servicios de red:

  • Tipos: un contenedor para definiciones de tipos de datos que utilizan algún sistema de tipos (como XSD).
  • Mensaje: una definición abstracta escrita de los datos que se comunican.
  • Operación: una descripción abstracta de una acción respaldada por el servicio.
  • Tipo de puerto: un conjunto abstracto de operaciones admitidas por uno o más puntos finales.
  • Enlace: un protocolo concreto y una especificación de formato de datos para un tipo de puerto particular.
  • Puerto: un único punto final definido como una combinación de un enlace y una dirección de red.
  • Servicio: una colección de puntos finales relacionados.

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

El punto final es un punto de conexión donde se exponen archivos HTML o páginas activas del servidor. Los puntos finales proporcionan la información necesaria para abordar un punto final de servicio web. El punto final proporciona una referencia o especificación que se utiliza para definir un grupo o familia de propiedades de direccionamiento de mensajes y proporcionar características de mensaje de extremo a extremo, como referencias para el origen y destino de los puntos finales, y la identidad de los mensajes para permitir una uniformidad. direccionamiento de mensajes "independientes". El punto final puede ser una PC, una PDA o un terminal de punto de venta.

Julien avatar Mar 21 '2012 15:03 Julien

Un punto final de servicio web es la URL que otro programa usaría para comunicarse con su programa. Para ver el WSDL que agrega ?wsdla la URL del punto final del servicio web.

Los servicios web son para la interacción de programa a programa , mientras que las páginas web son para la interacción de programa a humano .

Entonces: el punto final es:http://www.blah.com/myproject/webservice/webmethod

Por tanto, WSDL es:http://www.blah.com/myproject/webservice/webmethod?wsdl


Para ampliar más los elementos de un WSDL, siempre me resulta útil compararlos con el código:

Un WSDL tiene 2 porciones (física y abstracta).

Porción física:

Definiciones - variables - ej: myVar, x, y, etc.

Tipos - tipos de datos - por ejemplo: int, double, String, myObjectType

Operaciones - métodos/funciones - ej: myMethod(), myFunction(), etc.

Mensajes: parámetros de entrada de método/función y tipos de retorno

  • ej: público myObjectType myMethod ( String myVar)

Tipos de puerto: clases (es decir, son un contenedor para operaciones), por ejemplo: MyClass{}, etc.

Porción abstracta:

Enlace: se conectan a los tipos de puerto y definen el protocolo elegido para comunicarse con este servicio web. - un protocolo es una forma de comunicación (es decir, texto/SMS, frente a teléfono, frente a correo electrónico, etc.).

Servicio: enumera la dirección donde otro programa puede encontrar su servicio web (es decir, su punto final ).

specialk1st avatar Jan 26 '2016 12:01 specialk1st

En proyectos anteriores en los que trabajé, el punto final era una propiedad relativa. Es decir, puede que se haya añadido o no, pero siempre contuvo el archivo protocol://host:port/partOfThePath.

Si el servicio al que se llama tuviera una parte dinámica, por ejemplo a ?param=dynamicValue, entonces esa parte se agregaría al punto final. Pero muchas veces el punto final podría usarse tal como está sin tener que modificarlo.

Lo que es importante entender es qué no es un punto final y cómo ayuda. Por ejemplo, una forma alternativa de pasar la información almacenada en un punto final sería almacenar las diferentes partes del punto final en propiedades separadas. Por ejemplo:

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

O si el mismo host y puerto en múltiples servicios:

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

En esos casos, la URL completa deberá construirse en su código como tal:

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

Por contrato, esto se puede almacenar como un punto final como tal.

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

Y sí, muchas veces almacenamos el punto final hasta el '=" inclusive. Esto llevó a un código como este:

String url = serviceAEndpoint + dynamicValue;

Espero que arroje algo de luz.

Jose Martinez avatar Jan 29 '2015 18:01 Jose Martinez

En pocas palabras, un punto final es un extremo de un canal de comunicación. Cuando una API interactúa con otro sistema, los puntos de contacto de esta comunicación se consideran puntos finales. Para las API, un punto final puede incluir una URL de un servidor o servicio. Cada punto final es la ubicación desde la cual las API pueden acceder a los recursos que necesitan para llevar a cabo su función.

Las API funcionan mediante "solicitudes" y "respuestas". Cuando una API solicita información de una aplicación web o de un servidor web, recibirá una respuesta. El lugar donde las API envían solicitudes y donde reside el recurso se denomina punto final.

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

Satya avatar Oct 06 '2018 20:10 Satya