Cómo crear un WebService en base a un JavaBean
Aprenda a generar un Web Service en SAP a partir de un JavaBean sencillo y siga y un ejemplo paso a paso
Como se ha visto en el tip “Como consumir un WebService desde una WebDynpro JAVA”, se pudo comprobar la facilidad que brindaba este mecanismo para realizar una llamada a servicios remotos, disponibles a través de la red. De hecho, en el ejemplo práctico que se desarrolla en el tip mencionado se utiliza un WebService que se encuentra “deployado” en un servidor fuera de Argentina.
La disponibilidad del servicio depende exclusivamente del server sobre el cual éste corre. Por lo tanto, puede suceder que no esté disponible el servicio en un momento determinado, o que eventualmente sea dado de baja por el proveedor. Para los casos reales éste no es generalmente el caso, sino que se tiene cierto control de la disponibilidad de los servicios.
Sucede que en determinadas ocasiones, ya se cuenta con un servidor el cual publica servicios (Web Services) y se desea hacer uso de ellos mediante una WebDynpro, con lo cual nos encontramos en un escenario similar al del tipo de “Como consumir un WebService desde una WebDynpro JAVA”, sin que el servicio esté en un servidor a kilómetros de la aplicación cliente.
Un caso práctico
El caso práctico que desarrollaremos ejemplifica cómo se crea un WebService a partir de una clase de JAVA (JavaBean). Luego este WebService podrá ser consumido desde una WebDynpro, siguiendo los pasos mencionados en el tip de referencia Como consumir un WebService desde una WebDynpro JAVA (Importante: referirse a dicho tip antes de seguir los pasos que se detallan en el tip presente.)
Pasos para la creación de un proyecto JAVA
Seleccionar File → New → Project.
Aparece el asistente de New Project
En el panel izquierdo seleccionar Java y luego en el panel derecho Java Project y presionar Next.
Completar las opciones como sigue:
Pasos para la creación de una clase JAVA
Seleccionar File → New→ Class
Completar el gestor de clases como sigue:
El código para la nueva clase se muestra a continuación:
package com.teknoda.conversor;
public class ConversorTemperatura
{
public double celsiusAFarenheit(double celsius)
{
return (celsius*(9.0f)/(5.0f)) +32 ;
}
public double farenheitACelsius(double faren)
{
return ((faren-32)*(5.0f)/(9.0f)) ;
}
}
Una vez creada la clase se debe proceder a generar un WebService a partir de dicha clase.
Pasos para la creación de un WebService a partir de un JavaBean
Posándose sobre el proyecto ConversionTemperatura, hacer click con el botón derecho y seleccionar New→ Other...
En el Wizard desplegado seleccionar Web Services del panel izquierdo, y luego seleccionar Web Service (New VI and WSD) en el panel derecho. Luego presionar Next.
Se desplegará entonces la configuración del WebService para ser completada. La asignación de los parámetros en esta configuración son de suma importancia, ya que aquí especificaremos la clase a partir de la cual se creará el WebService, la URL del servicio y la autenticación necesaria para utilizarlo. En este caso, evitaremos el uso de autenticación porque es un ejemplo con fines “didácticos” donde sólo se realiza una conversión de temperatura, pero en casos donde la seguridad sea relevante, debe tenerse en cuenta para no dar acceso al servicio de manera inapropiada.
La configuración debe quedar como se muestra a continuación:
IMPORTANTE: En el último parámetro de la imagen anteior: Access URL se depliega el path relativo del servicio. Tener en cuenta, que luego, para poder utilizarlo, se deberá especificar la dirección absoluta (especificando host y puerto), como se muestra a continuación, en forma genérica:
http://<host>:<port>/<pathWS>
En un caso práctico, como ejemplo:
http://janett:50100/ConversionTemperaturaWS/ConfigConversorTemp
Presionar Finish.
Pasos para la creación de un EAR “deployable”
Abrir Window → Open Perspective → Other→ Web Services.
Luego seleccionar la solapa Java Explorer en el panel izquierdo.
Sobre el proyecto ConversionTemperatura, hacer click derecho y presionar “Build EAR”.
Pasos para el deployment de un WebService.
Sobre el archivo ConversionTemperatura.ear, hacer click derecho y presionar “Deploy”.
Ingresar la contraseña del SDM y presionar “OK”.
Una vez “deployado” el WebService, se puede proceder a probar el mismo.
Pasos para el testeo del WebService.
Abrir un browser e ingresar la URL del WebService en la barra de direcciones, genéricamente sería:
http://<host>:<port>/<pathWS>
Un ejemplo de especificación del path completo, sería:
http://janett:50100/ConversionTemperaturaWS/ConfigConversorTemp
Se desplegará en pantalla el WebService Navigator y tendremos la opción de realizar un testeo del servicio. Hacer click en “Test”.
Luego, debe seleccionarse alguno de los servicios que provee el WebService. Por ejemplo, hacer click sobre celsiusAFarenheit.
Se debe ingresar ahora un valor para el parámetro de entrada. Ingresar, entonces, una temperatura en grados celsius que desee convertir a farenheit. Luego presione “Send”.
Se le mostrará entonces el resultado de la llamada al servicio. Como se ve en el parámetro de Response se obtiene la temperatura en Farenheit como se esperaba.
Finalmente, con el WebService creado, ya se está en condiciones de utilizarlo desde una WebDynpro siguiendo los pasos detallados en el tip de referencia “Cómo consumir un Web Service desde una WebDynpro JAVA “, haciendo referencia al mismo a través de la url obtenida y pudiendo de esa manera utilizar sus servicios.
Copyright Teknoda S.A.
IMPORTANTE: “Notas técnicas de SAP ABAP" se envía con frecuencia variable y sin cargo como servicio a nuestros clientes SAP. Contiene notas/tutoriales/artículos técnicos desarrollados en forma totalmente objetiva e independiente. Teknoda es una organización de servicios de tecnología informática y NO comercializa hardware, software ni otros productos. |