
En este blog, aprenderemos cómo generar un token de acceso a través de la API REST con un cuerpo de tipo formulario utilizando el código ABSL en SAP Cloud Application Studio. Primero mostraremos cómo podemos hacer lo mismo usando Postman y luego iremos a los detalles de cómo enviar esta solicitud usando el Código ABSL.
En Postman podemos enviar dicho Cuerpo usando “x-www-form-urlencoded”:
Imagen 01: Cuerpo en tipo Formulario
Después de seleccionar este tipo, podemos ingresar la clave y los valores de la siguiente manera o podemos usar «Edición masiva» para mantenerlos en modo masivo:
Imagen 02: Clave y Valores – Cuerpo
Imagen 03: Clave y valores en edición masiva – Cuerpo
En lugar de mantener Cuerpo, debemos mantener también Método, Punto final y Autorización (en nuestro ejemplo es Básico):
Imagen 04: Solicitar Endpoint y Autorización
Además, debemos agregar «Content-Type: application/x-www-form-urlencoded» como parámetro de encabezado:
Imagen 05: Cabecera de Solicitud
Una vez que enviemos la solicitud, se generará el token de acceso:
Imagen 06: Solicitud de envío
Ahora, podemos implementar la misma solicitud usando SAP Cloud Application Studio. En este sentido, primero deberíamos agregar una nueva «Integración de servicios web externos» a la solución deseada:
Imagen 07: Adición de integración de servicios web externos
En la siguiente pantalla, seleccionamos “REST” como tipo de servicio web y presionamos “Next”:
Imagen 08: Determinar el tipo de servicio web
Luego le damos a Endpoint para generar token de acceso y presionamos “Siguiente”:
Imagen 09: Configurar punto final API REST
Posteriormente, seleccionamos “Crear escenario de comunicación” y determinamos su nombre a través de “Nombre del escenario de comunicación” y presionamos “Siguiente”:
Imagen 10: Crear Servicio de Comunicación
Finalmente, lo revisamos y pulsamos “Finalizar”:
Imagen 11: Revisión y finalización del Servicio Web
Ahora, podemos mantener el acuerdo de comunicación haciendo clic con el botón derecho en el Escenario de comunicación en SDK y seleccionando «Gestionar acuerdo de comunicación»:
Imagen 12: Gestionar arreglo de comunicación
Posteriormente, seremos redirigidos a una pantalla C4C en la que podremos crear un nuevo arreglo de comunicación:
Imagen 13: Crear un nuevo Acuerdo de Comunicación 01
En el siguiente paso, seleccionamos el escenario de comunicación creado en SAP Cloud Application Studio:
Imagen 14: Crear un nuevo Acuerdo de Comunicación 02
Luego, seleccionamos el servicio web creado en SAP Cloud Application Studio:
Imagen 15: Crear un nuevo Acuerdo de Comunicación 03
En la siguiente pantalla, podemos mantener “Método de autenticación” y “Credenciales”:
Imagen 16: Crear un nuevo Acuerdo de Comunicación 04
Ahora, hemos terminado y podemos finalizar y activar el arreglo de comunicación:
Imagen 17: Crear un nuevo Acuerdo de Comunicación 04
Luego, podemos desarrollar una función ASBL para enviar la solicitud y generar el token de acceso. Deberíamos determinar ServiceName y ServiceScenario en función de lo que ya creamos en SAP Cloud Application Studio y luego definir HttpMethod. Debido a que queremos enviar un cuerpo de tipo «Formulario», el tipo de contenido debe ser «aplicación/x-www-form-urlencoded» y la clave y los valores del cuerpo deben estar separados por el signo «&».
Imagen 18: Enviar una solicitud utilizando el código ABSL
Como vemos arriba, debemos usar «WebServiceUtilities.ExecuteRESTServiceWithoutEncoding» para enviar solicitudes de este tipo con un cuerpo de tipo «Formulario» y, después de obtener la respuesta, podemos analizarlo y encontrar el token de acceso.
Podemos usar uno de los siguientes métodos para analizar una picadura en formato JSON:
Cómo analizar una cadena en formato JSON en ABSL
Analizar el formato JSON en ABSL usando Cloud Application Studio
Si depuramos la función, también podemos ver el Token generado:
Imagen 19: Generar Token de Acceso usando Código ABSL
Como conclusión, ahora podemos desarrollar una función ABSL para generar un token de acceso a través de la API REST con un cuerpo de tipo formulario. Este token puede incluso usarse en otras funciones o enviarse a la interfaz de usuario para cargar, como ejemplo, un Mashup.
Me gustaría solicitarle que comparta sus comentarios o pensamientos en un comentario y siga mi perfil (Mohammad Salmani) para futuras publicaciones.
Si tiene alguna pregunta sobre SAP Cloud Applications Studio, puede hacerla aquí o incluso leer otros blogs a través de este Enlace.
Calle Eloy Gonzalo, 27
Madrid, Madrid.
Código Postal 28010
Paseo de la Reforma 26
Colonia Juárez, Cuauhtémoc
Ciudad de México 06600
Real Cariari
Autopista General Cañas,
San José, SJ 40104
Av. Jorge Basadre 349
San Isidro
Lima, LIM 15073