Tecnología

Inicio

Cómo importar XSD WSDL

Cómo importar XSD WSDL


descripción del servicio Web Language (WSDL) es un modelo y el formato para describir servicios web usando XML. Un consumidor puede localizar un servicio y ejecutar sus operaciones. Este proceso se puede automatizar utilizando herramientas de desarrollo más comunes, lo que permite la integración de aplicaciones con poco código producido desarrollador. WSDL son un contrato entre el proveedor y el consumidor; que hace un servicio de auto-descripción. WSDL proporcionan descripciones de todas las operaciones públicas, tipos de datos para todos los mensajes de servicio, los detalles de unión para la información del protocolo de transporte y la dirección del servicio. Un elemento de "importación" se puede utilizar en un WSDL para importar los WSDL o XML esquemas externos. Importación de elementos externos es útil para permitir el WSDL para ser más modular, la reutilización de los tipos de datos XML entre múltiples definiciones de servicio y soporte a múltiples versiones de un esquema.

Instrucciones

1 Crear un nuevo archivo en su editor de texto o XML. Si el editor soporta WSDL WSDL, seleccione el tipo de archivo. Si no es compatible con los WSDL, pero compatible con XML, seleccione XML como tipo de archivo. Si se admiten ni WSDL o XML, seleccione un tipo de archivo de texto sin formato.

2 Nombre el archivo con cualquier nombre que desee, y asigne al archivo una extensión ".wsdl". Por ejemplo, el fichero podría llamarse "HelloWorld.wsdl."

3 Crear un segundo archivo de nuevo en su editor de texto o XML. Si el editor soporta esquemas XML, seleccione esquema XML o XSD como el tipo de archivo. Si no es compatible con esquemas XML, pero es compatible con archivo XML, seleccione XML como el tipo de archivo. Si se admiten ni los esquemas XML o XML, seleccione un tipo de archivo de texto sin formato.

4 Nombre el archivo con cualquier nombre que desee, y asigne al archivo una extensión ".xsd". Por ejemplo, el fichero podría llamarse "HelloWorld.xsd."

5 Introduzca la siguiente línea de código en el archivo de esquema XML que ha creado:

<? Xml version = "1.0"?>

<Xsd: schema targetNamespace = "http://schemas.myorg.com/person/phone"

xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<Xsd: import namespace = "http://www.w3.org/2001/XMLSchema" />

<Xsd: complexType name = "teléfono">

&lt;xsd:sequence>

& Lt; xsd: element name = tipo "AreaCode" = "xsd: int" />

& Lt; xsd: element name = tipo de "intercambio" = "xsd: int" />

& Lt; xsd: element name = tipo "número" = "xsd: int" />

& Lt; / xsd: sequence>

</ Xsd: complexType>

</ Xsd: schema>

Esto define un esquema con el espacio de nombres "http://schemas.myorg.com/person/phone", que define un único tipo de datos "Teléfono".

6 Introduzca la siguiente línea de código en el archivo WSDL que ha creado:

<? Xml version = "1.0"?>

<Wsdl: Descripción xmlns: WSDL = "http://www.w3.org/ns/wsdl"

xmlns: wsoap = "http://www.w3.org/ns/wsdl/soap"

xmlns: externa = "http://schemas.myorg.com/person/phone"

xmlns: helloWorld = "http://schemas.myorg.com/wsdl/helloworld"

targetNamespace = "http://schemas.myorg.com/wsdl/helloworld">

<Wsdl: documentación>

WSDL con un ejemplo de importación

</ Wsdl: documentación>

<wsdl: types>

&lt;xs:import namespace="http://schemas.myorg.com/person/phone"

schemaLocation = "http://www.myorg.com/supporting/schemas/helloworld.xsd" />

& Lt; xsd: schema xmlns: xsd = "http://www.w3.org/2001/XMLSchema"

targetNamespace = "http://schemas.myorg.com/wsdl/helloworld">

& Lt; xsd: element name = tipo "CallNumber" = "externa: Número de teléfono" />

& Lt; xsd: element name = tipo "HelloResponse" = "xsd: string" />

& Lt; / xsd: schema>

</ Wsdl: types>

<Wsdl: nombre de la interfaz = "helloInterface">

&lt;wsdl:operation name="CallMe"

Modelo = "http://www.w3.org/ns/wsdl/in-out"

style = "http://www.w3.org/ns/wsdl/style/iri">

& Lt; WSDL: entrada messageLabel = "En"

elemento = "helloWorld: CallNumber" />

& Lt; WSDL: salida messageLabel = "hacia fuera"

elemento = "helloWorld: HelloResponse" />

& Lt; / wsdl: operation>

</ Wsdl: Interfaz>

<Wsdl: unión name = "helloBinding"

interface="hy:helloInterface"

type = "http://www.w3.org/ns/wsdl/soap"

wsoap: protocol = "http://www.w3.org/2003/05/soap/bindings/HTTP/">

& Lt; wsdl: operation ref = "HY: Hola"

wsoap: MEP = "http://www.w3.org/2003/05/soap/mep/soap-response" />

</ Wsdl: binding>

<Wsdl: service name = "HelloService"

interface="hy:helloInterface">

& Lt; WSDL: nombre del punto final = "helloEndpoint"

vinculante = "HY: helloBinding"

abordar = "http://www.myorg.com/Service/Hello" />

</ Wsdl: service>

</ Wsdl: description>

Este marcado define un WSDL que importa un esquema XML externo denominado "helloworld.xsd", que contiene el espacio de nombres "http://schemas.myorg.com/person/phone."

La declaración de importación en el WSDL importa un espacio de nombres XML de un archivo. El propósito principal del elemento de importación es importar el espacio de nombres, no para indicar cuando las declaraciones del espacio de nombres se pueden encontrar. El elemento incluye el atributo opcional "schemaLocation". El atributo es opcional, ya que un espacio de nombres se pueden importar desde el mismo archivo o estar registrada en otra forma. Según la especificación WSDL, "schemaLoction" es sólo un indicio; un analizador XML es libre de ignorar la ubicación. Si el analizador ya se sabe acerca de los tipos de esquema en ese espacio de nombres, o tiene otro mecanismo de búsqueda de ellos, que no tiene que usar la ubicación. Sin embargo, en muchos casos un espacio de nombres es importado que el analizador XML no sabe nada acerca de, por lo que el atributo "schemaLocation" se hace necesaria, pero técnicamente es todavía sólo un toque.

Consejos y advertencias

  • Las nuevas tecnologías tales como el intercambio de metadatos, MEX, se han introducido para compartir información acerca de lo que es compatible con las capacidades de un servicio, pero estas normas aún no han sido ampliamente adoptados.
  • WSDL incluye el apoyo y las importaciones. Ellos pueden parecer similares, pero se comportan de manera diferente. Una declaración de importación importa otro espacio de nombres. Una sentencia include declaraciones de tipo de datos XML importaciones en un espacio de nombres existente.