2009-12-23 42 views

Respuesta

126

XSD define un esquema que es una definición de cómo se puede estructurar un documento XML. Puede usarlo para verificar que un documento XML dado sea válido y que siga 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 deberían estructurarse los datos para enviar a esas operaciones.

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

+9

La respuesta de Paolo es correcta. Solo realzándolo. Como WSDL es en realidad XML y puede o no tener XSD para validar su estructura. Associated XSD puede ser un archivo separado e importado en WSDL o XSD completo puede incorporarse en línea en el archivo WSDL usando la etiqueta . Para obtener más detalles, http://www.ibm.com/developerworks/webservices/library/ws-tip-imports/ – supernova

+0

IBM XSD para WSDL @ http://schemas.xmlsoap.org/wsdl/ –

+0

Si son dos cosas separadas, ¿por qué cuando creo un servicio web, por ejemplo, en Netbeans, obtengo un '? xsd = 1' en la URL automáticamente? – CodyBugstein

8

XSD valida el documento y contiene metadatos sobre el XML, mientras que WSDL describe la ubicación y las operaciones del servicio web.

3

XSD (definición de esquema XML) define el elemento en un documento XML. Se puede usar para verificar si los elementos en el documento xml se adhieren a la descripción en la que se 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.

161

WSDL (Lenguaje de descripción de servicios web) describe su servicio y sus operaciones: ¿cómo se llama el servicio, qué métodos ofrece, qué tipo de parámetros y valores devueltos 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 intercambiados por esos métodos de servicio. Describe los tipos, sus campos, cualquier restricción en esos campos (como la 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, propiedades estáticas del servicio: se trata de datos.

+19

Esta es una respuesta mucho mejor que explica XSD en el contexto de un WSDL y no solo la diferencia entre los dos. Para agregar, las definiciones XSD son parte de WSDL en la etiqueta . – airboss

1

WSDL - Contiene la Operación como 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 mapear esto a un Se usa xml datatype xsd. y en base al xsd, un usuario que quiera acceder a un servicio web desde diferentes plataformas puede proporcionar los datos de manera apropiada.

Consulte: ayazroomy-java.blogspot.com para leer sobre los conceptos básicos del servicio web.

42

XSD: XML Schema Definition.

XML: eXtensible Markup Language.

WSDL: Lenguaje de definición de servicios web.

No voy a responder en términos técnicos. Dirijo 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 compañía en Chicago podría desarrollar una aplicación web usando Java y otra compañía en Nueva York podría desarrollar una aplicación en C# y cuando estas dos compañías decidieran compartir información, entonces XML entra en acción. 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 quiero decir que les está diciendo a los usuarios que desarrollen su XML en dicho esquema. Por favor, vea las imágenes a continuación, y observe atentamente el elemento "carga al inicio" y su tipo que es entero. En la imagen XSD, puede ver que está destinado a ser un valor entero para "cargar al iniciar" 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 una forma de comunicarse con otra aplicación o sistema. Uno tiene que ver XSD y crear XML de esa manera o de lo contrario no se comunicará con otra aplicación o sistema que se haya desarrollado con una tecnología diferente. Una compañía 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 cumplió con esas reglas o esquemas mencionados en XSD, entonces es imposible esperar información correcta de la compañía en Chicago. Hay tanto para hacer después de la historia mencionada anteriormente, que un aficionado o novato tiene que saber mientras codifica algo que dije anteriormente. Si realmente quiere saber qué sucede más tarde, entonces es mejor sentarse con los ingenieros de software senior que realmente desarrollaron los servicios web. A continuación viene WSDL, por favor sigue las imágenes y tratar de averiguar dónde está el WSDL encajar.

*************** ======== A continuación es parcial Imagen XML ========== *************** XML image partial

*************** == ====== imagen XSD parcial ========== ***************

XSD image partial

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

WSDL image partial

Tuve que crear un WSDL de muestra para un servicio web llamado Book. Tenga en cuenta que es un XSD, pero debe llamarlo WSDL (lenguaje de definición de servicios web) porque es muy específico para los servicios web. El siguiente WSDL (o en otras palabras, XSD) se crea para una clase llamada Book.java y ha creado un servicio SOAP. La forma en que el servicio web SOAP lo creó es un tema diferente. Uno tiene que escribir una clase de Java y antes de ejecutarla crear como un servicio web, el usuario debe asegurarse de que la API de Axis2 esté instalada y de que esté instalado Tomcat para alojar el servicio web.

Como administrador (el que permite que otros (clientes) accedan a información o datos de sus sistemas) realmente le da al cliente (el que necesita usar información o datos del administrador) acceso completo a 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 externas. Al igual que mi empresa, decidí dar cierta información sobre los productos a través de los servicios web, por lo que tuvimos que crear una plantilla XSD y transferirla a algunos de nuestros clientes que desean trabajar con nosotros. Deben escribir un código para hacer un uso completo del XSD proporcionado y realizar llamadas al servicio web para obtener datos del administrador 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 simple sería la reserva de boletos de VUELO. Una aerolínea permitirá a terceros utilizar los datos de vuelo en su sitio para la venta de boletos. Pero, una vez más, hay mucho más que eso, simplemente no está permitiendo 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 boleto de vuelo de varias fuentes.

Espero que los expertos contribuyan a mi respuesta. Es realmente difícil para principiantes o novatos entender XML, XSD y luego trabajar en servicios web.

+2

Información muy detallada. Realmente me gustó. – Gendaful

+0

Información útil. – 0991

0

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 accionar la solicitud, etc.) que deberían formar parte de XML. Por definición quiero decir: 1) Nombres de solicitud o respuesta 2) Qué se debe tratar como entrada, qué se debe tratar como salida.

XSD es como el comando DESC en mysql. Indica qué contienen todas las variables y sus tipos, una solicitud y una respuesta.

Cuestiones relacionadas