(Anterior) Diseño con SOAP

WSDL ("Web Services Description Language")

En Axis existen dos maneras para generar WSDL ("Web-Services Description Language") una de ellas es a través de una Clase proporcionada en su librería y otras de estas es directamente a través del URL donde se encuentra activado ("deployed") el web service, a continuación se describen ambas metodologías.

Generación de WSDL a partir de Clases Axis.

Esta metodología es proporcionada a través de la Clase org.apache.axis.wsdl.Java2WSDL incluida en la distribución de Axis, como su nombre lo indica, es una herramienta para la generación de WSDL a partir de Java, si ejecuta esta Clase en su ambiente obtiene el siguiente resultado :

 $ java org.apache.axis.wsdl.Java2WSDL
	-n, --namespace <argument>
		target namespace
	-N, --namespaceImpl <argument>
		target namespace for implementation wsdl
	-o, --output <argument>
		output WSDL filename
	-O, --outputImpl <argument>
		output Implementation WSDL filename, setting this causes --o
		utputWsdlMode to be ignored
	-m, --methods <argument>
		space or comma separated list of methods to export
	-l, --location <argument>
		service location url
	-L, --locationImport <argument>
		location of interface wsdl
        
         ............. y otras opciones más 
         
               

Las opciones anteriores son las más comunes al ser generado WSDL, se puede observar que de estas opciones tres de ellas: -o,-n,-l, son muy similares a los parámetros -O,-N,-L.

Las opciones con letra mayúscula representan la implementación del web service en lenguaje WSDL, mientras las letras minúsculas representan la interfase en WSDL del mismo web service. La diferencia entre ambas reside en que una interfase contiene únicamente los detalles genéricos del web service tales como parámetros de entrada y salida, mientras una implementación incluye los detalles específicos del web service como el URL donde se encuentra activado ("deployed") el web service.

Las razones por la separación entre interfase e implementación son diversas, sin embargo, existen dos motivos principales:

La generación de WSDL para el web service utilizado en este curso seria la siguiente:

java org.apache.axis.wsdl.Java2WSDL 
 -n"http://osmosis-interface"
 -N"http://osmosis"
 -o"Petroleo_Interface.wsdl"
 -O"Petroleo_Impl.wsdl"
 -l"http://www.osmosis.com/axis/Petroleo"
 -L"http://www.osmosis.com/axis/wsdl/Petroleo._Interfacewsdl"
 -m"cotizacion" com.osmosislatina.xml.soap.CotizacionPetroleo

Al ejecutar el comando anterior serán generados los archivos Petroleo_Interface.wsdl y Petroleo_Impl.wsdl que contienen la interfase e implementación respectivamente para el web service ubicado en el URL http://www.osmosis.com/axis/Petroleo.

Generación de WSDL a partir de URL en Axis.

Una metodologia más sencilla para generar WSDL en Axis es visitando directamente el URL donde se encuentra activado ("deployed") el web service como se ilustra a continuación :

http://www.osmosis.com/axis/Petroleo?wsdl

Como se puede observar, el URL anterior corresponde a la ubicación de activación/deployment del web service, sin embargo, ha sido agregado el elemento ?wsdl, lo anterior permite que al ser visitado este URL sea generado automaticamente un archivo WSDL para el web service en cuestión.

Sin embargo, a diferencia del mecanismo utilizando la Clase Java2WSDL también proporcionada con Axis, el archivo WSDL generado a través del URL contiene tanto la implementación como la interfase, aunque esto puede ser una limitante para ciertos ambientes, proporciona una manera rápida e igualmente válida para la generación de WSDL.

Menú Curso

XML y sus Orígenes

Manipulación y Proceso de XML

DOM, SAX y JDOM

Namespaces, Schemas y DTD's

XSL: XSLT, XPath y TraX

XMLRPC y SOAP (Web Services)

Diseño con XMLRPC

Diseño con SOAP .

Apéndice "A" (Procesando XML con parsers).

Apéndice "B" (Validando XML con Schemas y DTD's).

Apéndice "C" (XSL: XPath y "XSL Stylesheets").

Apéndice "D" (XMLRPC: Diseño).

Apéndice "E" (SOAP, WSDL, UDDI y WSIL : Diseño).