Mandato WSDL2Java para aplicaciones JAX-RPC
Ejecute la herramienta de línea de mandatos WSDL2Java en el archivo WSDL para crear API Java™ y plantillas de descriptores de despliegue.
La herramienta de línea de mandatos WSDL2Java no está soportada en la plataforma
z/OS. Esta funcionalidad se proporciona gracias a las herramientas de ensamblaje suministradas con WebSphere Application Server que se ejecutan en la plataforma z/OS.
Un archivo WSDL (Web Services Description Language) describe un servicio web. La especificación JAX-RPC 1.1 (API Java para llamadas a procedimientos remotos basadas en XML) define una correlación de API Java que interactúa con el servicio web. La especificación Java EE (Web Services for Java Platform, Enterprise Edition) define descriptores de despliegue que despliegan un servicio web en un entorno Java EE. Se ejecuta el mandato WSDL2Java contra el archivo WSDL para crear API Java y plantillas de descriptores de despliegue de acuerdo con estás especificaciones.

targetNamespace="MyRelNamespace"
.
Puede cambiar el espacio de nombres relativo de este ejemplo por un espacio de nombres absoluto añadiendo la información sobre el URI base y el protocolo: targetNamespace="http://www.sample.com/MyRelNamespace"
Sintaxis de la línea de mandatos
WSDL2Java [argumentos] WSDL-URI
Argumentos necesarios
- WSDL-URI
Especifica la ubicación del archivo WSDL de entrada utilizando un URI (Universal Resource Identifier). También se puede utilizar una vía de acceso de archivos normal si el archivo WSDL está en el sistema de archivos local.
Argumentos importantes
- -role rol Java EEEspecifica el rol de desarrollo Java EE que identifica qué archivos se deben generar. Los argumentos válidos incluyen:
- cliente
Una combinación de los argumentos develop-client y deploy-client.
- deploy-client
Genera archivos de enlaces para despliegue de clientes.
- deploy-server
Genera archivos de enlaces para despliegue de servidores.
- develop-client (valor predeterminado)
Genera archivos para desarrollo de clientes.
- develop-server
Genera archivos para desarrollo de servidores.
- servidor
Una combinación de los argumentos develop-server y deploy-server.
- cliente
- -container contenedor Java EE Indica el contenedor Java EE que se va a utilizar. Los argumentos válidos incluyen:Para los roles de cliente (consulte la opción -role), el argumento predeterminado es none. Para los roles de servidor, el contenedor debe ser ejb o web. Debe utilizarse la misma opción de contenedor para desarrollo y despliegue.
- cliente
Indica contenedor cliente.
- ejb
Indica un contenedor EJB (Enterprise JavaBeans).
- ninguno
Indica ningún contenedor.
- web
Indica un contenedor web.
- cliente
- -output directorio
Establece el directorio raíz de los archivos emitidos.
- -inputMappingFile archivo de correlación
Especifique el nombre de archivo de correlación de Web Services for Java EE.
- -introspect
Utilice beans de Java existente con una nueva API de servicio web.
En algunos casos, es aconsejable utilizar clases Java en lugar de generar nuevas clases. La opción -introspect dirige el mandato WSDL2Java para que examine clases Java existentes al generar clases. Las clases existentes se validan contra la especificación JAX-RPC. Por ejemplo:
Suponga que tiene un bean de Java existente
El archivo WSDL define x como xsd:dateTime. Si la opción -introspect, el mandato WSDL2Java genera un bean de Java que es parecido al siguiente ejemplo:public class Bean { public Date x; }
El mandato WSDL2Java utiliza la opción -introspect para examinar el bean de Java original y generar clases compatibles con beans de Java existentes.public class Bean { private Calendar x; public void setx(Calendar value) (x=value;) public Calendar getX() { return x;) }
- -classpath vías de acceso
Define una vía de acceso de clase alternativa para buscar clases Java.
- -noDataBinding
Inhabilita el enlace entre tipos XML y tipos Java. En su lugar, cada tipo XML se correlaciona con una interfaz javax.xml.soap.SOAPElement definida por la especificación SAAJ (SOAP with Attachments API for Java).
Un modelo de programación JAX-WS (Java API for XML Web Services) da soporte a SAAJ 1.2 y 1.3.
El modelo de programación JAX-RPC da soporte a SAAJ 1.2.
Los modelos de programación Java definen las correlaciones Java para un subconjunto de tipos XML. Varios tipos XML no pueden correlacionarse con beans de Java o primitivos. En esta situación, el mandato WSDL2Java correlaciona el tipo con un SOAPElement de SAAJ. Un SOAPElement de SAAJ es una representación genérica del elemento en el mensaje. Los métodos del SOAPElement pueden utilizarse para examinar el elemento y sus hijos.
En algunos casos, es posible que sea más adecuado utilizar de forma exclusiva la correlación SOAPElement genérica. Para aprender más sobre el uso de SOAPElement, consulte la información sobre la interfaz SOAP with attachments API for Java y los enlazadores de datos personalizados para las aplicaciones JAX-RPC.
Para obtener una lista completa de los estándares y las especificaciones a los que se da soporte, consulte las especificaciones y la documentación de la API de los servicios Web.
- -help
Muestra un mensaje de ayuda y sale.
- -helpX
Muestra un mensaje de ayuda para las opciones ampliadas. Las opciones incluyen:
- -verbose
Muestra información de proceso, incluidos los nombres de los archivos generados.
- -NStoPkg namespace=package
De forma predeterminada, los nombres de paquetes se derivan automáticamente de las series de espacios de nombres en el archivo WSDL. Por ejemplo, si el espacio de nombres tiene la forma http://x.y.com o urn:x.y.com, el paquete correspondiente es com.y.x.
Puede proporcionar su propia correlación utilizando el argumento -NStoPkg, que se puede repetir cuanto sea necesario, una vez para cada correlación exclusiva de espacios de nombres. Por ejemplo, si un espacio de nombres en el archivo WSDL se llama urn:AddressFetcher2 y desea que los archivos generados a partir de los objetos de este espacio de nombres residan en el paquete samples.addr, proporcione el argumento -NStoPkg "http://urn:AddressFetcher2/"=samples.addr en el mandato WSDL2Java.
- -timeout segundos
Especifica cuánto tiempo espera el mandato WSDL2Java, en segundos, a que WSDL-URI responda antes de darse por vencido. El valor predeterminado es 45 segundos; -1 inhabilita el tiempo de espera.
- -genResolver
Genera una clase absolute-import resolver (solucionador de importación absoluta). El objetivo de esta clase es anotar el contenido de los archivos WSDL importados que utiliza el URI de WSDL. Esta clase la utiliza el tiempo de ejecución y también puede utilizarse para futuras ejecuciones del mandato WSDL2Java. Esta flexibilidad es deseable cuando los archivos WSDL importados son remotos y pueden ser inaccesibles. Cuando se utiliza un solucionador de importación, se elimina la posibilidad de que un archivo WSDL remoto tenga distintos contenidos durante la ejecución de los que tenía durante el desarrollo. La clase generada se denomina _AbsoluteImportResolver.java. Compile y empaquete esta clase con las otras clases Java generadas por el mandato WSDL2Java.
- -useResolver clase de solucionador
Especifica la clase absolute-import resolver (solucionador de importación absoluta) que se debe utilizar durante el análisis. Esta clase debe crearse durante una ejecución anterior del mandato WSDL2Java con la opción -genResolver. La clase debe estar disponible en la variable CLASSPATH.
- -deployScope argumento Indica cómo desplegar la implementación del servidor. Los argumentos válidos incluyen:
- Aplicación
Utiliza una instancia de la clase de implementación para todas las solicitudes.
- Solicitud
Crea una instancia nueva de la clase de implementación para cada solicitud.
- Sesión
Crea una instancia nueva de la clase de implementación para cada sesión.
- Aplicación
Otros argumentos
- -user identificación
Especifica el nombre de usuario de inicio de sesión para acceder al URI de WSDL.
- -password contraseña
Especifica la contraseña de usuario de inicio de sesión para acceder al URI de WSDL.
- -all
Genera archivos Java para todos los tipos, incluso para aquellos a los que no se hace referencia.
- -allowRelativeNamespace true o false
Especifica si se deben inhabilitar las restricciones del espacio de nombres relativo. Si especifica -allowRelativeNamespace=true, se inhabilitan las restricciones del espacio de nombres relativo.
Avoid trouble: Utilice esta propiedad sólo si ha establecido un esquema o archivo WSDL que se base en los espacios de nombres relativos y si desea interactuar con un conjunto de proveedores definido que permita el uso de espacios de nombres relativos.gotcha
- -debug
Imprime información de depuración.
- -genJava argumento Genera archivos Java. Los argumentos válidos incluyen:
- IfNotExists, valor predeterminado
- Overwrite
- No
- -javaSearch argumentoLa opción -javaSearch se utiliza con la opción -genJava. En caso de -genJava IfNotExists, utilice la opción -javaSearch para determinar cómo se detecta la existencia de un archivo.
- File (valor predeterminado): busca un archivo en el directorio de salida
- Classpath: busca una clase en la variable CLASSPATH
- Both: busca un archivo en el directorio de salida o en una clase en la variable CLASSPATH
- -genXML argumento Genera los archivos .xml y .xmi. Los argumentos válidos son:
- IfNotExists, valor predeterminado
- Overwrite
- No
- -genImplSer true o false
Indica que cada bean de Java generado implementa java.io.Serializable. El valor predeterminado es false.
- -genEquals true o false
Indica que cada bean de Java generado tiene métodos equals y hashCode. El valor predeterminado es false.
- -noWrappedOperations
Inhabilita la detección de operaciones con envoltura. Se generan beans de Java para los mensajes de solicitud y respuesta.
- -noWrappedArrays
Inhabilita la detección de matriz con envoltura.
- -fileNStoPkg nombre de archivo
Especifica el archivo del espacio de nombres para empaquetar correlaciones. El valor predeterminado es NStoPKG.properties.
- service nombre de servicio wsdl
Sólo genera archivos para el servicio WSDL instalado.
- -testCase
Genera la plantilla de casos de prueba JUnit para probar servicios web. JUnit es una infraestructura sencilla para escribir pruebas repetibles.