Consumo de un Servicio Web PHP desde SAP ERP
Cuando tenemos la necesidad de comunicar distintos sistemas, es casi seguro que lo primero que se nos viene a la mente es Servicio Web. Ya dependerá de las tecnologías, estándares y protocolos a usar de acuerdo al caso que se determine la mejor solución.
A continuación les mostraré a nivel de pantallas el paso a paso de como consumir un Servicio Web desarrollado en PHP por un proveedor externo desde un sistema SAP ERP.
Para el caso, el servicio a consumir es sencillo, básicamente es un Dummy con el que se está probando el envío de textos muy grandes, pero para efectos didácticos más que suficiente.
Entonces tenemos:
01.- Servicio Web PHP que recibe un texto y lo guarda en una tabla de BD MySQL.
02.- Sistema SAP ERP
Paso a Paso:
Para que SAP pueda consumir un Servicio Web se realizan dos tareas:
- Registrar el Servicio Web, lo podemos hacer utilizando la transacción SE80.
- Configurar el SOA Management, esto para crear el puerto lógico de nuestro Servicio Web.
01: Ejecutar Trx. (Transacción) SE80 y seleccionar los objetos locales para el usuario.
02: Clic derecho sobre $TMP [USUARIO SAP] para desplegar el menú. Seleccionar
Crear / Enterprise Service.

03: Se inicia el asistente para registrar el Servicio Web, seleccionar Service-Consumer.
04: Seleccionar WSDL / Schema.
05: Seleccionar URL.
06: Ingresamos la URL del Servicio Web.
07: En este paso, debemos ingresar el Paquete SAP donde se crearán todos los objetos, la Orden de Transporte y un prefijo para el Servicio Web. También se puede crear solo como objeto local si se trata de una prueba y no se requiere luego transportar a QAS y PRD, basta con marcar el check "Local Objects".
08: Llegado a este punto, solo nos queda hacer clic en Finalizar. SAP comenzará a crear los objetos que harán posible el consumo del Servicio Web.
09: Finalmente, debemos quedarnos con una estructura similar a la siguiente.
Si hacemos doble clic sobre el Servicio creado, podemos visualizar al lado derecho algunos detalles.
Para que podamos invocar el Servicio Web, hace falta una tarea más, que es crear el puerto lógico. Esto se realiza por medio de configuración en el SOA Management. Para ejecutarlo, usar la transacción SOAMANAGER y se abrirá una ventana de navegador web como la siguiente.
Hacer clic en el vínculo Web Service Configuration.

01: Como primer paso, debemos ubicar el objeto Web Service creado para configurarlo.
02: Seleccionado el objeto, clic sobre el botón Create.
03: A continuación se muestran las pestañas con los datos de configuración.
04: Finalmente, grabar y activar el objeto.
Probando el Servicio Web desde SAP
SAP nos permite realizar Test para probar el consumo de nuestro Servicio Web, esto desde la transacción SE80 haciendo doble clic sobre el objeto y luego presionar el botón Ejecutar (resaltado en amarillo) de la barra de herramientas superior.
Al ejecutar, se mostrará la siguiente pantalla, es aquí donde debemos indicarle el puerto lógico que hemos creado anteriormente en SOA Management. Luego dar clic en el botón ejecutar de la parte inferior (primero desde la izquierda).
Se muestra el formato XML del Servicio Web PHP.
Ingresamos algunos valores de prueba y hacemos clic en ejecutar.
Finalmente, recibimos la respuesta de nuestro Servicio Web PHP confirmando que los datos se grabaron correctamente.
Nota: Dependiendo de la versión de SAP, las pantallas del asistente en SE80 y SOA Management pueden variar.
muy genial bro, pero crees que podrias crear un articulo sobre como hacerlo ahora al revés? de SAP a PHP? :) saludos!
ResponderBorrar