cuál es la diferencia entre XSD y WSDL


¿Cuál es la diferencia entre un XML Schema y WSDL?

La diferencia que noté es que WSDL contiene XSD y en WSDL podemos declarar operaciones, pero no en XSD. ¿Es correcto?

Author: make, 2009-12-23

7 answers

XSD define un esquema que es una definición de cómo se puede estructurar un documento XML. Puede usarlo para comprobar que un documento XML determinado es válido y sigue las reglas que ha establecido en el esquema.

WSDL es un documento XML que describe un servicio web. Muestra qué operaciones están disponibles y cómo deben estructurarse los datos para enviarlos a esas operaciones.

Los documentos WSDL tienen un XSD asociado que muestra lo que es válido poner en un documento WSDL.

 138
Author: Paolo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-12-23 10:41:13

WSDL (Web Services Description Language) describe su servicio y sus operaciones: ¿cómo se llama el servicio, qué métodos ofrece, qué tipo de parámetros y valores de retorno tienen estos métodos?

Es una descripción del comportamiento del servicio - su funcionalidad.

XSD (Definición de esquema Xml) describe la estructura estática de los tipos de datos complejos que intercambian esos métodos de servicio. Describe los tipos, sus campos, cualquier restricción en esos campos (como longitud máxima o un patrón de expresiones regulares) y así sucesivamente.

Es una descripción de los tipos de datos y, por lo tanto, de las propiedades estáticas del servicio - se trata de datos.

 179
Author: marc_s,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-10-17 10:28:22

XSD : Definición de esquema XML.

XML: Lenguaje de marcado eXtensible.

WSDL : Lenguaje de Definición de Servicio Web.

No voy a responder en términos técnicos. Estoy apuntando esta explicación a los principiantes.

No es fácil comunicarse entre dos aplicaciones diferentes que se desarrollan utilizando dos tecnologías diferentes. Por ejemplo, una empresa en Chicago podría desarrollar una aplicación web utilizando Java y otra empresa en Nueva York podría desarrollar una aplicación en C# y cuando estas dos empresas decidieron compartir información entonces XML entra en escena. Ayuda a almacenar y transportar datos entre dos aplicaciones diferentes que se desarrollan utilizando diferentes tecnologías. Nota: No se limita a un lenguaje de programación, investigue sobre el transporte de información entre dos aplicaciones diferentes.

XSD es una definición de esquema. Con eso lo que quiero decir es, que está diciendo a los usuarios a desarrollar su XML en un esquema de este tipo. Por favor vea abajo imágenes, y por favor observe de cerca con el elemento "load-on-startup" y su tipo que es entero. En la imagen XSD se puede ver que está destinado a ser un valor entero para el "load-on-startup" y por lo tanto, cuando el usuario creó su XML pasaron un valor int a ese elemento en particular. Como recordatorio, XSD es un esquema y estilo, mientras que XML es un formulario para comunicarse con otra aplicación o sistema. Uno tiene que ver XSD y crear XML de tal manera o de lo contrario no se comunicará con otra aplicación o sistema que ha sido desarrollado con una tecnología diferente. Una empresa en Chicago proporciona una plantilla XSD para que una empresa en Texas escriba o genere su XML en el formato XSD dado. Si la compañía en Texas no cumple con esas reglas o esquemas mencionados en XSD, entonces es imposible esperar información correcta de la compañía en Chicago. Hay mucho que hacer después de la historia mencionada anteriormente, que un aficionado o novato debe saber mientras codifica para alguna cosa como dije anteriormente. Si realmente quiero saber lo que sucede más tarde, entonces es mejor sentarse con ingenieros de software senior que realmente desarrollaron servicios web. A continuación viene WSDL, por favor siga las imágenes y trate de averiguar dónde encajará el WSDL.

***************========a Continuación es parcial XML de imagen ==========*************** Imagen XML parcial

***************========a Continuación es parcial XSD de la imagen ==========***************

Imagen XSD parcial

***************========A continuación se muestra la imagen parcial de WSDL =======*************

WSDL imagen parcial

Tuve que crear un WSDL de muestra para un servicio web llamado Book. Tenga en cuenta que es un XSD pero tiene que llamarlo WSDL (Web Service Definition Language) porque es muy específico para Servicios Web. El siguiente WSDL (o en otras palabras XSD) se crea para una clase llamada Book.java y ha creado un servicio SOAP. Cómo lo creó el servicio web SOAP es un tema diferente. Uno tiene que escribir una clase Java y antes de ejecutarla crear como un servicio web el usuario tiene que asegurarse de que la API Axis2 esté instalada y que el servicio web Tomcat to host esté instalado.

Como administrador (el que permite a otros (clientes) acceder a información o datos de sus sistemas ) en realidad le da al cliente (el que necesita usar información o datos del administrador) acceso completo a los datos a través de un Servicio Web, porque ninguna compañía en la tierra está dispuesta a exponer su Base de Datos para personas ajenas. Al igual que mi empresa, decidimos dar alguna información sobre los productos a través de Servicios Web, por lo tanto, tuvimos que crear una plantilla XSD y pasarla a algunos de nuestros clientes que quieren trabajar con nosotros. Tienen que escribir algún código para hacer un uso completo del XSD dado y hacer llamadas al Servicio Web para obtener datos del servicer y convertir los datos devueltos en sus requisitos adecuados y luego mostrar o publicar datos o información sobre el producto en su sitio web. Un ejemplo sencillo sería la reserva de billetes de avión. Una aerolínea permitirá que terceros utilicen los datos de vuelo en su sitio para la venta de boletos. Pero de nuevo hay mucho más, es simplemente no dejar que un agente de boletos de vuelo de terceros venda boletos, habrá sincronización y seguridad en su lugar. Si no hay sincronización, entonces hay 100% de posibilidades de que más de 1 cliente pueda comprar el mismo billete de avión de varias fuentes.

Espero que los expertos contribuyan a mi respuesta. Es muy difícil para los novatos entender XML, XSD y luego trabajar en Servicios Web.

 48
Author: MKod,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-08-04 17:28:41

XSD es para validar el documento, y contiene metadatos sobre el XML, mientras que WSDL es para describir la ubicación del servicio web y las operaciones.

 8
Author: Priyank Bolia,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-12-23 10:38:44

XSD (definición de esquema XML) define el elemento de un documento XML. Se puede utilizar para verificar si los elementos del documento xml se adhieren a la descripción en la que se va a colocar el contenido. Mientras que wsdl es un tipo específico de documento XML que describe el servicio web. WSDL se adhiere a un XSD.

 3
Author: vivyzer,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-12-23 10:47:52

WSDL - Contiene la Operación como los Métodos que proporciona un servicio web.y estos métodos pueden aceptar tipos de datos simples como int, float, etc. y tipos de datos complejos como objetos, vectores, matrices, etc. por lo que la asignación de esto a un tipo de datos xml xsd se utilizan. y basado en el xsd, un usuario que quiera acceder al servicio web desde una plataforma diferente puede proporcionar los datos adecuadamente.

Refiérase : ayazroomy-java.blogspot.com para leer sobre los conceptos básicos de webservice.

 1
Author: ayaz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-07-22 11:43:48

Si alguien está buscando una analogía , esta respuesta podría ser útil.

WSDL es como el comando 'SHOW TABLE STATUS' en mysql. Define todos los elementos (tipo de solicitud, tipo de respuesta, formato de URL para hit request, etc.).,) que debería formar parte de XML. Por definición quiero decir: 1) Nombres de solicitud o respuesta 2) Lo que debe ser tratado como entrada , lo que debe ser tratado como salida.

XSD es como el comando DESC en mysql. Dice lo que todas las variables y sus tipos, una solicitud y respuesta contener.

 0
Author: Sunny Gangisetti,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-11-23 09:45:24