Mandato wsgen para aplicaciones JAX-WS

La herramienta de línea de mandatos wsgen genera los artefactos necesarios para las aplicaciones JAX-WS (Java™ API for XML Web Services) cuando se inicia el código Java. Los artefactos generados son compatibles con Java 5, lo que los hace portables entre distintas plataformas y versiones de Java.

Cuando utiliza un método en sentido ascendente para desarrollar los servicios web de JAX-WS y comienza desde una implementación de punto final de servicio, puede utilizar la herramienta wsgen para generar los artefactos JAX-WS necesarios.

Supported configurations Supported configurations: Las herramientas de línea de mandatos wsimport, wsgen, schemagen y xjc no tienen soporte en la plataforma z/OS. Esta funcionalidad la proporcionan las herramientas de ensamblaje proporcionadas con WebSphere Application Server que se ejecutan en la plataforma z/OS. Obtenga información sobre estas herramientas de línea de mandatos para las aplicaciones JAX-WS para obtener más información sobre estas herramientas. sptcfg
Best practice Best practice: WebSphere Application Server proporciona la API Java para servicios web basados en XML (JAX-WS) y las herramientas de arquitectura Java para enlaces XML (JAXB). Las herramientas de línea de mandatos wsimport, wsgen, schemagen y xjc se encuentran en el directorio raíz_servidor_aplicaciones\bin\ de WebSphere Application Server tradicional. Los mandatos xjc y schemagen se encuentran en el directorio raíz_servidor_aplicaciones\jaxb\bin\ del perfil Liberty. En algunas ocasiones, los artefactos generados por las herramientas que proporcionan WebSphere Application Server y JDK dan soporte a los mismos niveles de las especificaciones. En general, los artefactos generados por las herramientas JDK tienen portabilidad en otros entornos de ejecución compatibles. Sin embargo, es más recomendable utilizar las herramientas que se proporcionan con este producto para alcanzar una integración sin interrupciones dentro del entorno de WebSphere Application Server y aprovechar las características que puedan estar soportadas únicamente en WebSphere Application Server. Para aprovechar las herramientas de JAX-WS y JAXB V2.2, utilice las herramientas que se proporcionan con el servidor de aplicaciones y que se encuentran en el directorio raíz_servidor_aplicaciones\bin\.bprac
Nota: Puede utilizar las herramientas de línea de mandatos wsimport, wsgen, schemagen y xjc con Liberty y WebSphere Application Server tradicional del servidor de aplicaciones.
La herramienta wsgen acepta como entrada una implementación de punto final de servicio anotada adecuadamente mediante la anotación @WebService y genera los siguientes artefactos:
  • cualquier clase JAXB (arquitectura Java para enlaces XML) adicional que sea necesaria para clasificar y desclasificar los contenidos del mensaje.
  • un archivo WSDL, si se especifica el argumento opcional -wsdl . La herramienta wsgen no genera automáticamente el archivo WSDL.

Cuando se utilizan las herramientas de JAX-WS V2.2, las referencias a java.lang.RuntimeException y java.rmi.RemoteException y sus subclases ya no están correlacionadas en el archivo WSDL. Este cambio de comportamiento cumple con la regla de conformidad con la especificación JAX-WS V2.1 que se describe en la sección 3.7 de la especificación. Esta regla de conformidad especifica que las clases java.lang.RuntimeException y java.rmi.RemoteException y sus subclases no se pueden tratar como excepciones específicas del servicio ni correlacionar en el archivo WSDL.

Además de utilizar las herramientas de la línea de mandatos, puede invocar estas herramientas JAX-WS desde los entornos de compilación Ant para WebSphere Application Server tradicional. Utilice la tarea Ant com.sun.tools.ws.ant.WsGen desde el entorno de compilación Ant para invocar la herramienta wsgen. Para que funcione debidamente, esta tarea Ant requiere que se invoque Ant mediante el script ws_ant.

Avoid trouble Avoid trouble: El mandato wsgen no distingue el espacio de nombres XML entre varias anotaciones XMLType que tienen el mismo nombre @XMLType definido en distintos paquetes Java. Cuando se produce este escenario, se genera el error siguiente:
Error: dos clases tiene el mismo nombre de tipo XML ....
Utilice @XmlType.name y @XmlType.namespace para asignarles nombres diferentes...
Este error indica que tiene nombres de clases o valores @XMLType.name con el mismo nombre, pero que existen dentro de paquetes Java diferentes. Para impedir este error, añada la clase @XML.Type.namespace a la anotación @XMLType existente para distinguir entre los tipos de XML.gotcha

Con las aplicaciones JAX-WS, la herramienta de línea de mandatos wsgen no puede ubicar los archivos de clase compartidos en el perfil completo. Puede especificar la ubicación de estos archivos de clase utilizando la propiedad personalizada com.ibm.websphere.webservices.WSDL_Generation_Extra_ClassPath . Para obtener más información, consulte la documentación acerca de propiedades personalizadas de la máquina virtual Java .

Sintaxis

La sintaxis de la línea de mandatos es:

[Windows]
raíz_servidor_aplicaciones\bin\wsgen.bat
[options] clase_implementación_servicio
[AIX][HP-UX][Linux][Solaris]
raíz_servidor_aplicaciones/bin/wsgen.sh
[options] clase_implementación_servicio
[IBM i]
raíz_servidor_aplicaciones/bin/wsgen
[options] clase_implementación_servicio

Parámetros

El nombre de la clase_implementación_servicio es el único parámetro necesario. Los siguientes parámetros son opcionales para el mandato wsgen:

-classpath <vía_acceso>
Especifica la ubicación de la clase de implementación de servicio.
-cp <vía_acceso>
Especifica la ubicación de la clase de implementación de servicio. Este parámetro es el mismo que -classpath <vía_acceso>.
-d <directorio>
Especifica dónde se han de colocar los archivos de salida generados.
-extension
Especifica si se habilitan extensiones personalizadas para las funciones que no están especificadas en la especificación JAX-WS. Si se utilizan extensiones, es posible que las aplicaciones no se puedan portar o no puedan interactuar con otras implementaciones.
-help
Muestra el menú de ayuda.
-keep
Especifica si se conservan los archivos de origen generados.
-r <directorio>
Este parámetro sólo se utiliza con el parámetro -wsdl. Especifica dónde se ha de colocar el archivo WSDL generado.
-s <directorio>
Especifica el directorio dónde se han de colocar los archivos fuente generados.
-verbose
Especifica que se han de generar mensajes de salida relacionados con las acciones del compilador.
-version
Imprime la información de versión. Si especifica esta opción, sólo se incluye en la salida la información de la versión y no se produce el proceso de mandatos normal.
-wsdl [:protocolo]
De forma predeterminada, la herramienta wsgen no genera un archivo WSDL. Este parámetro opcional hace que wsgen genere un archivo WSDL y generalmente sólo se utiliza para permitir que un desarrollador revise un archivo WSDL antes de que se despliegue el punto final. La opción protocolo es opcional y especifica el protocolo que se utiliza en wsdl:binding. Los valores válidos para protocol son soap 1.1 y Xsoap 1.2. El valor predeterminado es soap 1.1. El valor Xsoap 1.2 no es estándar y sólo se utiliza con la opción -extension .
-servicename <nombre>
Este parámetro sólo se utiliza con la opción -wsdl. Especifica un nombre wsdl:service que se ha de generar en el archivo WSDL. Por ejemplo,
-service name "{http://mynamespace/}MyService"
-portname
Este parámetro sólo se utiliza con la opción -wsdl. Especifica un nombre wsdl:port que se ha de generar en el archivo WSDL. Por ejemplo,
-portname "{http://mynamespace/}MyPort"

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_wsgen
File name: rwbs_wsgen.html