0% found this document useful (0 votes)
3 views

BAPIs -RFCs -Web Services ABAP

Monitorizar RFCs

Uploaded by

Dali Cima
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
0% found this document useful (0 votes)
3 views

BAPIs -RFCs -Web Services ABAP

Monitorizar RFCs

Uploaded by

Dali Cima
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
You are on page 1/ 8
sornares, 14:08 BAPIs / RFCs ! Web Services ABAP Comunicaciones en SAP (ComunicacionesenSAP.htm)) / BAPIs / RFCs / Web Services ABAP En "San Google” disponéis de muchas referencias a cémo construlr o invocar una RFC 0 un Web Service ABAP, luego, no es mi intencién repasar cémo hacerlo, Me interesa més volver a la idea de que lo llames cémo lo llames siempre es lo mismo, es decir, estamos consumiendo o publicando servicios web RESTIull, Mira los apartados finales de esta pagina. Entonces, me parece mas importante que los consultores SAP conozean herramientas que nos ayuden con los servicios web a monitorizarios, a construirios o a probartos. En concreto, a mi siempre me han gustado mucho estas dos: + Postman (https:/www.postman.com)). Es una herramienta que permite invocar cualquier servicio web publicado en la red de redes. Es decir, nos permite probar cualquier servicio web y ver el resultado que devuelve. + SOAP Ul (httpsi/ivww.soapui.org)). Es otra herramienta que nos permite invocar cualquier servicio web publicado en la red de redes aunque, para ml, su gran utllidad es la invocacién de servicios web SOAP. Parliendo de un WSDL construye el XML que permite hacer la llamada. Ojo que SAP también dispone de una herramienta para probar a consumir un servicio que é| mismo expone como para probar a realizar una llamada a un web service externo, Monitorizar RFCs Para monitorizar RFCs podemos usar la transaccién SRT_UTIL. Podemos activar la monitorizacién por el usuario 0 por la maquina que realiza la peticién o por el servicio ICF al que llama Ayuda para servicios Web BG Grog de errores EL monttor de mensajes + CUsuario & Terminals & Request-URI ea ieigeais @ Usuario 1D terminal DECEAHIBCISCC) OSOLURI Ahora toca activar el nivel de traza que queremos. Dado que la traza se activa por un periodo de tiempo, yo suelo activar todo al maximo nivel. En el momento en el que grabemos la configuracién deseada tenemos activa la traza de los servicios web indicados tanto de peticiones recibidas como de peticiones que hagamos al exterior. hitpsifabapinfo/ComunicacionesHTTPIBAPISRECsWabServicesABAPHim| 18 sornaiea, 14:08 BAPIs / RFCS ! Web Services ABAP Anuda para servicios Web 9% Griascearone (Byentarce menses * S2Usara 8 Terra & Reaves UR —_ SRST vara Tae eal) ar TAG] Ceasar ‘ace de vend Polat Tce oorararton 9 2 srceetonon 6 encanto de cnfeacdn sai mene ts 3 essai) editor Seren —] Consumir o hacer la llamada a una RFC de SAP usando una peticién POST HTTP iVengal Vamos a construir la llamada a una RFC desde una peticién REST POST. Lo primero encontrar una RFC, es decir, un médulo de funcién que tenga marcado el acceso remoto. Por ejemplo, el médulo de funcién RFC_GET_SYSTEM_INFO Lo primero es confirmar que el médulo de funcién es una RFC Supe defnores fou = a estes a f fone : ae ae ee 3 ee ae Acontinuacién, debemos confirmar que el servicio ICF sap/be/soapirfc esta activo hitpsifabapinfo/ComunicacionesHTTPIBAPISRECsWabServicesABAPHim| 218 sornares, 14:08 APIs / RFCs / Wob Services ABAP rtuele Hosts / Services ecursentacin oe Hoss cc é _ Referer Seve © defaut host JOST VIRTUAL POR DEFECTO 7 @ sop Area nombres SAP; SAP se obliga a no suministrar... “8 bs Atpol Base (funconaidades Base) “tae “Ore | t Apartir de aqui, podemos imos al Postman a construir nuestra peticion POST {Ojo aqui! Es importante poner un Content-Type que SAP acepte. En este caso, puede ser text/xml Post 1 / |433sap/bc/s0ap ite Setting Params Authorization @ Headers (11) Body@ Prevrequest Serit Tests User-agent © PostmanRuntine/728.4 Accept © Accept-Encoding @ zip, deflate, br Connection @ Keep-alive post 23/5806 (7) Booye Prevequestserpt Tess Settings none @ form-dsta © xewwfomurencoded @ raw © dnay @ Gaprat Pim] ~ Beassenvetonel Dejo el XML para facilitar su reutilizacién :Envelope xmlns:soap: tp: //schenas.xnlsoap-org/seap/envelope/* xmlns: com:document :sap:rfc:functions"> htips:/abap infolComunicacionesHTTPIBAPISRFCsWebServicesABAP him! 318 sornares, 14:08 APIs / RFCs / Wob Services ABAP FC_GET_SYSTEM_INFO> Y aqui tenemos la respuesta Consumir o hacer la llamada a un Web Service de SAP usando una peticién POST HTTP Y, ahora, vamos a construir la llamada a un Web Service de SAP desde una peticiin REST POST. Lo primero es localizar el Web Service y su WDSL. Para eso usamos la transaccién SE8O para ver el paquele donde esta construfdo el Web Service htips:/abap infolComunicacionesHTTPIBAPISRFCsWebServicesABAP him! 418 sovtaie4, 14:08 APIs / RFCs / Wob Services ABAP Y, una vez abierto el objeto, podemos ira la pestafla de WDSL para localizar su URL La copiamos y usamos la aplicacién SOAP Ul para crear un nuevo proyecto en el que importamos nuestra WDSL y le pedimos que nos cree una llamada de ejemplo. Sigue estos pasos htips:/abap infolComunicacionesHTTPIBAPISRFCsWebServicesABAP him! sornares, 14:08 BAPIs / RFCs / Wob Services ABAP @ soapui 580 File Project_Suite Case Step Tocls New SOAP Project ‘i x New SOAP Project Of Creates aWSDLISOAP based Projectin ths werkspace ProjectName: [Teco] iit SDL [Ferg irene WODITTTADY ae oR] Cieate Requests:[¥] Greate sample requests for all operations? Create TestSuite: [] Cates a TestSute forthe imported WSDL Relative Paths: Storesall file paths in project telativey to projec file requires save) Ponemos nuestro usuario y contrasefia de SAP © basic Authentication Basic Authentication Specify Basic Authentication Credentials Info: Authentication required for [scruz-s-053.disagrupo.es 1433] Username: [ Password! Y ahora abrimos el ejemplo de llamada que nos ha construido de la que queremos la URL y el XML fe Priet Sate Coe Sep Ten Deon Hep Bee ie ogee ty SMP EST mye Sed Fem flee >vogo : 2S binding “eng Bavelope ant Woape heap Few. Ebdon Saer ES catogn htips:/abap infolComunicacionesHTTPIBAPISRFCsWebServicesABAP him! ae sornares, 14:08 APIs / RFCs / Wob Services ABAP Podriamos usar el mismo SOAP UI para hacer la llamada pero, a mi me gusta més, usar el Postman para hacer estas tareas. iVamonos al Postmant Y repetimos practicamente los pasos que hicimos para llamar a la RFC eemame — Post Yt 8 009/s90/b Content-Length © calculated wen requests sent> Host © calculated nen request sent> User-Agent © PostmanRuntme/728.4 Accent © / Aecept-Encosing © 92, detate, br Connection keep-aive Content-Type applicatonisoapexm! Y ya podemos ejecutarto En definitiva, para llamar a una RFC 0 un Web Service de SAP desde un sistema externo no necesitamos controladores ni aplicaciones especificas ni un middleware ni nada. Cualquier herramienta que nos permita hacer una peticién POST es suficiente. htips:/abap infolComunicacionesHTTPIBAPISRFCsWebServicesABAP him! 718 ‘or224, 14:06 APIs / RFCs / Web Services ABAP Fijate que los datos que necesitamos son 1. La URL 0 URI a invocar que lleva asociado el servicio ICF que hay que usar. En el sistema que ya he probado son © saplbc/soapirfc para las RFC © saplbclsrtirfe/saphox para los Web Service donde 100x es el nombre del Web Service 2. El Content-Type a usar. Siempre nos vale text/xml y para los Web Service también podemos usar application/soap+xml 3. El formato de datos del payload, body o contenido a pasar, es decir, cémo pasar los datos, En ambos casos es un XML es formato SOAP pero SAP es muy restrictivo para esto. Por ejemplo, fijate que el espacio de nombres o namespace de xmins:soap es diferente en cada llamada © http://schemas.xmisoap org/soap/envelope/ para la RFC © hitp:/iwww.w3,0rg/2003/05/soap-envelope para el Web Service Copyright © Octubre 2021 by Marcos Almeida. All Rights Reserved. hitpsifabapinfo/ComunicacionesHTTPIBAPISRECsWabServicesABAPHim| a8

You might also like