SAP: Llamar a webservice de otro sistema desde SAP

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.

Enterprise Services

 

Nos mostrará la siguiente ventana donde deberemos elegir Service Consumer

Object Type

 

En la siguiente pantalla elegiremos la opción External WSDL/Schema para crearlo mediante un fichero WSDL.

Generation Source

 

En nuestro caso elegiremos la opción URL para utilizar la URL del fichero WSDL.

WSDL Schema source

 

Informaremos la URL del fichero WSDL

URL

 

Informaremos el paquete y el prefijo que llevará la clase, en nuestro caso será ZWS

Transport

 

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

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *