Introducción:
Los métodos http que modifican los datos (por ejemplo, POST) en el sistema requieren un token CSRF para publicar correctamente los datos. En el último parche de S/4 Hana, que sigue una estricta regla CSRF, tenemos que configurar la cookie junto con el token CSRF. Por lo tanto, obtener el token CSRF y la cookie cada vez desde la API GET y pasarlos a la cabecera del método POST es una tarea tediosa. En esta publicación del blog veremos cómo podemos utilizar una "Variable" en Postman para automatizar la llamada a la API POST.
Esta es una continuación de la publicación del blog "
Error de validación del token CSRF en el método POST en el cliente de Gateway
". Si estás obteniendo el error mencionado, por favor revisa la publicación del blog para la solución.
Configurando el escenario:
-
Se ha creado un OData en el sistema S/4 Hana en el Service Builder de Gateway (T-Code: SEGW). Hemos creado 2 API de OData.
-
La primera API se utiliza para obtener el token CSRF y la cookie. La mayoría de nosotros preferimos obtener el token CSRF y la cookie utilizando la misma API que publica los datos. (Prefiero tener un servicio separado que pueda utilizarse para obtener el token CSRF y la cookie de forma centralizada por todos los consumidores de servicios).
-
La segunda API se utiliza para publicar los datos en Gateway. El token CSRF y la cookie obtenidos en la API anterior se pasarán a la cabecera de la solicitud.
-
Utilizaremos la famosa herramienta "Postman" para probar nuestra API. Más información sobre la herramienta se puede encontrar
aquí
. Si aún no tienes la herramienta, por favor siéntete libre de descargarla e instalarla desde
aquí
. También puedes utilizar la versión web. Para esta publicación del blog, usaré la aplicación de Postman instalada en mi sistema.
-
Para automatizar la solicitud POST, utilizaremos la "Variable de entorno" de Postman. La variable se establecerá a partir del encabezado de respuesta GET y se utilizará en el encabezado de la solicitud POST para el token CSRF y la cookie. Por favor, mantente conectado para descubrir cómo se hará esto.
Los Geht's:
Entorno de Postman:
Tenemos que crear el entorno en Postman donde podemos definir la variable de entorno. Mayormente utilizo Postman para validar el OData que se ha creado en el Service Builder de Gateway de SAP (T-Code: SEGW). Por lo tanto, crearé un único entorno "SAP Gateway" y lo utilizaré en todas las colecciones para validar los servicios de OData desarrollados.
Colección de Postman:
La colección de Postman es la colección de APIs que están agrupadas lógicamente en una unidad. Por ejemplo, la Integración de Tiempo de HCM puede ser una colección que tiene todas las API requeridas para la Integración de Tiempo.
Paso 1: Crear Entorno en Postman:
Ve a la pestaña "Entorno" en Postman y haz clic en "Crear Nuevo Entorno" (botón de suma resaltado) y proporciona un nombre
(Creación de entorno en Postman)
Paso 2: Crear Variable de Entorno:
Estableceremos los valores del token CSRF y de la cookie. Por lo tanto, crearemos dos variables, una para contener el valor del token CSRF y otra para la cookie. Después de crear la variable, por favor haz clic en "guardar".
(Crear variables de entorno en Postman)
Paso 3: Crear Colección:
Ahora, creemos una colección llamada "Integración de Tiempo" donde agregaremos 2 solicitudes.
-
La primera será la solicitud "GET" que se utilizará para obtener el token CSRF y la cookie
-
La segunda se utilizará para "POST" los detalles de asistencia al sistema S/4 Hana a través de Gateway
Pedro Pascal
Se unió el 07/03/2018