SAP Netweaver / ABAP                  Notas técnicas / Tips / Tutorials

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:

SAP-WS-JavaBean-1

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

SAP-WS-JavaBean-2

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.

SAP-WS-JavaBean-3

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:

SAP-WS-JavaBean-4

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”.

SAP-WS-JavaBean-5

Pasos para el deployment de un WebService.

Sobre el archivo ConversionTemperatura.ear, hacer click derecho y presionar “Deploy”.

SAP-WS-JavaBean-6

Ingresar la contraseña del SDM y presionar “OK”.

SAP-WS-JavaBean-7

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”.

SAP-WS-JavaBean-8


Luego, debe seleccionarse alguno de los servicios que provee el WebService. Por ejemplo, hacer click sobre celsiusAFarenheit.

SAP-WS-JavaBean-9

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”.

SAP-WS-JavaBean-10

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.

SAP-WS-JavaBean-11

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.
Si desea suscribir otra dirección de e-mail para que comience a recibir las Notas Técnicas SAP, envíe un mensaje desde esa direcciónsapping@teknoda.com, aclarando nombre, empresa, cargo y país del suscriptor.

SAP, Netweaver, R/3, Fiori,S4/HANA y ABAP son marcas registradas de SAP AG. SAP no es el editor de esta publicación y no es responsable de la misma en ningún aspecto. La información contenida en esta publicación ha sido generada por nuestros especialistas a partir de fuentes consideradas confiables y del ejercicio profesional cotidiano. No obstante, por la posibilidad de error humano, mecánico, cambio de versión u otro, Teknoda no garantiza la exactitud o completud de la misma.
COPYRIGHT TEKNODA S.A. PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL SIN CONSENTIMIENTO DE TEKNODA

 


 

 

Copyright © 2024 Teknoda Tech Portal & Training. Todos los derechos reservados.
Joomla! es software libre, liberado bajo la GNU General Public License.