Para ejecutar un webservice de un sistema externo a SAP, necesitaremos crear un Enterprise Service, para ello iremos a la transacción SE80, elegiremos en el listado de visualización Paquete y buscaremos el que queremos incluir.
Una vez tengamos el paquete, pulsaremos sobre el botón derecho sobre Enterpise Services y pulsaremos sobre Crear.
Nos mostrará la siguiente ventana donde deberemos elegir Service Consumer
En la siguiente pantalla elegiremos la opción External WSDL/Schema para crearlo mediante un fichero WSDL.
En nuestro caso elegiremos la opción URL para utilizar la URL del fichero WSDL.
Informaremos la URL del fichero WSDL
Informaremos el paquete y el prefijo que llevará la clase, en nuestro caso será ZWS
Esto creará una clase que deberemos activar, aparecerá listada dentro del paquete en el apartado Enterprise Services > Service Consumers
(*) Sera necesario crear el puerto lógico en la SOAMANGER y para ello lo crearemos utilizando el WSDL y asociándolo a la clase que acabamos de crear
Utilización de la clase
Podremos incluirlo dentro de un TRY / CATCH para controlar cualquier error inesperado
DATA: lc_webservice TYPE REF TO zwswebservice, lv_ err_string TYPE string, TRY. CREATE OBJECT lc_webservice EXPORTING logical_port_name = ‘NOMBRE_PUERTO_LOGICO’. CALL METHOD lc_webservice->metodo_webservice EXPORTING input = lw_estructura_entrada IMPORTING output = lw_estructura_salida. CATCH cx_ai_system_fault INTO lo_sys_exception. lv_err_string = lo_sys_exception->get_text( ). ENDTRY.
Para ver mas tutoriales de SAP, pulse en el siguiente enlace: Listado de tutoriales