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.

[z/OS]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.

Best practice Best practice: Se recomienda utilizar espacios de nombres absolutos en el WSDL o el esquema. De manera predeterminada, la herramienta WSDL2Java no permite e uso de espacios de nombres relativos. XML Plenary Interest Group ha dejado de utilizar los espacios de nombres relativos y el uso de dichos espacios de nombres hace que la firma digital XML falle, tal y como indica la especificación Canonical XML Versión 1.0. Sin embargo, si dispone de un esquema o archivo WSDL establecido que se basa en espacios de nombres relativos, en condiciones específicas puede utilizar la propiedad allowRelativeNamespace para inhabilitar las restricciones del espacio de nombres relativo en la herramienta WSDL2Java. Para obtener información adicional, consulte la descripción de las propiedades. bprac
Puede convertir los espacios de nombres relativos en espacios de nombres absolutos. A continuación, se muestra un ejemplo de un espacio de nombres relativo:
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

La sintaxis de la línea de mandatos es:
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 EE
    Especifica 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.

  • -container contenedor Java EE
    Indica el contenedor Java EE que se va a utilizar. Los argumentos válidos incluyen:
    • cliente

      Indica contenedor cliente.

    • ejb

      Indica un contenedor EJB (Enterprise JavaBeans).

    • ninguno

      Indica ningún contenedor.

    • web

      Indica un contenedor web.

    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.
  • -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
    public class Bean {
    		public Date x;
    }
    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 {
    		private Calendar x;
    		public void setx(Calendar value) (x=value;)
    		public Calendar getX() { return 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.
  • -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.

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 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 argumento
    La 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.


Icon that indicates the type of topic Reference topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rwbs_wsdl2java
File name: rwbs_wsdl2java.html