Esta regla detecta la presencia de servicios Web de JAX-RPC basándose en los
siguientes criterios:
- La presencia del archivo, web-services.xml
- La presencia del archivo, weblogic-webservices.xml y el archivo webservices.xml, en la misma carpeta
Solución manual
Para generar servicios web JAX-RPC basados en descriptores de despliegue de servicios web WebLogic J2EE, debe crear manualmente una secuencia de comandos Ant mediante tareas específicas IBM® Ant específicas. El script debe añadirse a la carpeta raíz del proyecto si no existe ya un archivo generado por IBM Ant. Estas tareas se encargarán de generar los servicios web JAX-RPC a partir de los descriptores de despliegue.
Propiedades de la regla
Debe proporcionar los valores correctos para las propiedades de la regla para garantizar resultados precisos durante el análisis. Estas propiedades deben ser revisadas y configuradas adecuadamente en función del contexto de su aplicación. Las propiedades de esta regla son:
- Nombre del script Ant generado:
Especifica el nombre de la nueva secuencia de comandos Ant generada debe ser un nombre de archivo válido. El valor no debe incluir barras diagonales. El script estará en la carpeta raíz del proyecto.
Valor por omisión: build-ibm-ws.xml
- Nombre de la carpeta de generación:
Especifica el nombre de la carpeta donde residirán los artefactos de generación. El valor no debe incluir barras inclinadas ni barras inclinadas invertidas. La carpeta de generación estará en la carpeta raíz del proyecto.
Valor por omisión: ibm-ws-gen
Classpath Ant
La classpath de Ant se calcula a partir del proyecto Eclipse.
Es importante comprobar que todos los
elementos que son necesarios para la compilación estén en la classpath de Eclipse.
Servicios JAX-RPC definidos en el archivo web-services.xml
Según la información y el tipo de servicios definidos en
web-services.xml, se genera un script Ant y probablemente
un código Java adicional que representa la interfaz de punto final de servicio Web
para reproducir el servicio JAX-RPC.
- Componentes soportados
Sólo pueden reconocerse y convertirse componentes de enterprise beans de sesión sin
estado (<stateless-ejb>) y Java(R) (<java-class>).
- Componentes EJB sin estado:
El archivo JAR Enterprise JavaBeans (TM) (EJB), definido en el atributo path del elemento <ejb-link>, debe existir en el proyecto. La corrección automatizada escanea el archivo JAR EJB y genera una nueva clase Service Endpoint Interface (SEI) basada en la clase remota EJB.
Las interfaces SEI difieren de las interfaces remotas EJB en que la clase debe ampliarse
java.rmi.Remote
, y cada método debe emitir la excepción,
java.rmi.RemoteException
.
La corrección automatizada utilizará Java reflection en la interfaz remota EJB para generar el nuevo SEI .
Por lo tanto, asegúrese de que el classpath de su proyecto Eclipse incluye todas las clases, archivos JAR y directorios necesarios para para cargar correctamente la clase remota EJB.
El SEI debe generarse en la carpeta, sei, dentro de la carpeta de generación, según lo proporcionado por el usuario en la regla properties. El paquete SEI coincide con el paquete de interfaz remota EJB y el nombre del SEI será el mismo que el de la interfaz remota EJB con la palabra SEI añadida. Además, la nueva carpeta SEI se agrega a la ruta de la clase del proyecto.
- Componentes de clase Java:
De forma similar a los componentes EJB, la corrección automatizada generará una interfaz de punto final de servicio a partir de la clase Java que se define en el atributo <class-name>.
- Destinos Ant generados:
El script Ant generado contiene objetivos para generar el archivo WSDL y el servicio JAX-RPC basado en el nuevo SEI que que se creará.
El destino de generación WSDL tendrá el nombre genWSDL_ssss, donde ssss es el
nombre del servicio JAX-RPC que se ha proporcionado en el campo de atributo name
del elemento <web-service>.
Los destinos de generación de servicios tienen el nombre genService_pppp, donde
pppp es el nombre del componente del atributo name del elemento
<stateless-ejb> o <java-class>.
La corrección automatizada no utilizará la información proporcionada en otros elementos, como <handlers-chain>, <types>, <operations>, <security>, etc.
Servicios JAXRPC definidos en el archivo webservices.xml
Según la información y el tipo de servicios definidos en el archivo
webservices.xml, se genera un script Ant para reproducir el servicio JAX-RPC.
- Destinos Ant generados:
El script Ant generado contiene destinos para generar el archivo WSDL y el servicio
JAX-RPC.
El objetivo de generación WSDL sólo se genera si no se puede localizar el archivo WSDL definido en el elemento <archivo WSDL>.
Si se crea, el destino de generación WSDL tiene el nombre genWSDL_ssss, donde ssss
es el nombre del servicio tal como se ha definido en el elemento
<webservice-description-name>.
Los destinos de generación de servicios tendrán el nombre genService_pppp, donde
pppp es el nombre del puerto tal como se ha definido en el elemento
<port-component-name>.
Tareas Ant de IBM WebSphere Application Server
WebSphere(R) Application Server incluye tareas Ant como, por ejemplo, java2wsdl y
wsdl2java, para generar los artefactos necesarios para los servicios JAX-RPC. El script
Ant generado utiliza estas tareas para compilar el servicio.
Puede obtenerse información adicional sobre estas tareas en la
documentación de WebSphere Application Server.
Ejecución del script Ant
Una vez elaborado el script Ant, visualícelo y añada personalizaciones adicionales si es necesario.
Consulte la documentación del servidor de aplicaciones sobre personalizaciones adicionales de las tareas Ant de IBM.
Hay que ejecutar el script con las herramientas Ant que
se incluyen en WebSphere Application Server. El script Ant de IBM
se puede ejecutar desde:
- WAS_HOME\bin\ws_ant.bat en los sistemas operativos Windows(R)
- WAS_HOME\bin\ws_ant.sh en los sistemas operativos UNIX(R)
Por ejemplo: c:\IBM\AppServer\bin\ws_ant.bat -f
c:\eclipse\MyProject\ibm-ws-gen.xml genService_TestService
Una vez ejecutados los destinos Ant, los artefactos producidos residen en la carpeta de
generación. A continuación, el usuario puede inspeccionar el código generado y los
descriptores de despliegue, y añadir estos artefactos a sus módulos.