18
CREACION DE FUNCION ABAP PARA SER EXPUESTA COMO WEB SERVICE DESDE R/3. Primero se debe crear la RFC, desde se37, tenga en cuenta que la funcion debe tener como propiedad remote-enabled module. Luego de definirle los parametros de entrada y de salida de la funcion, damos clic a utilites-more utilites-create Web Service- From function module, con esta opcion del backend inicializamos el wizard para la creacion del webservice.

Manual Creacion Webservice AbapRFC

  • Upload
    mayu24

  • View
    184

  • Download
    4

Embed Size (px)

Citation preview

Page 1: Manual Creacion Webservice AbapRFC

CREACION DE FUNCION ABAP PARA SER EXPUESTA COMO WEB SERVICE DESDE R/3.

Primero se debe crear la RFC, desde se37, tenga en cuenta que la funcion debe tener como propiedad remote-enabled module.

Luego de definirle los parametros de entrada y de salida de la funcion, damos clic a utilites-more utilites-create Web Service- From function module, con esta opcion del backend inicializamos el wizard para la creacion del webservice.

Page 2: Manual Creacion Webservice AbapRFC

Digitamos la definicion del servicio(Nombre del ws) y un texto breve ademas de definirle el endpoint type, para este caso es (FUNC Function Module)

Page 3: Manual Creacion Webservice AbapRFC

Luego digitamos el nombre del modulo de funcion creado y deshabilitamos el check mapping der name, esto para evitar que el wizard elimine los underscore de los nombre si posee.

Posterior a esto debemos escoger que profile (Permisos) se desea para accede al webservice, aqui anexo la descripcion de cada uno (Para este ejemplo se uso PRF_DT_IF_SEC_LOW como perfil, mas adelante vemos como afecta el ingreso al WS desde la Tx soamanager este tipo de profile):

●      PRF_DT_IF_SEC_HIGHAuthentication using certificates and transport guarantees

●      PRF_DT_IF_SEC_LOWAuthentication using user ID and password, no transport guarantee.

●      PRF_DT_IF_SEC_MEDIUMAuthentication using user ID and password and transport guarantee.

●      PRF_DT_IF_SEC_NONo authentication and no transport guarantee.

Tambien debemos checkear la opcion deploy service

Page 4: Manual Creacion Webservice AbapRFC

Posterior a esto el wizard nos pedira un paquete y una orden de transporte si asi se necesita, tambien podemos dejarlo como objeto local.

Page 5: Manual Creacion Webservice AbapRFC

En este punto ya estara creado el webservice, solo debemos ir a la transaccionWSADMIN para terminar con la configuracion, esta transaccion es obsoleta para la version que estoy utilizando en el ejemplo la ECC6.0. para esta version de backend necesitamos realizar la configuracion por la tx soamanager.

Vamos a la transaccion SOAMANAGER, para terminar con la configuracion del WS, con esta transaccion definimos los aspectos de autenticacion y activamos el WS, para ser consumido en el servidor.

Al digitar la Tx, se inicializara un browser donde podremos configurar, en este punto es importante saber que sip or algun motive la pagina no cargue, algo que me pasaba, debemos configurar el host del sistema operative para hacer el mapeo del servidor con la direccion ip.

Page 6: Manual Creacion Webservice AbapRFC

En este caso debemos modificar el host, para que mapee esta direccion con la IP.

Accedemos de nuevo a la transaccion. Nos dirigimos a la pestanha business administrator y opcion web service administrator.

Page 7: Manual Creacion Webservice AbapRFC

Aqui debemos buscar la RFC que se encuentra en el repository del R/3, seleccionarla y clic en apply selection.

Page 8: Manual Creacion Webservice AbapRFC

Seleccionamos la pestanha configuration , aca recominendo crear un nuevo servicio ya que el que viene por defecto a la hora de editarlo no permite mucha de las opciones, por lo cual borramos esta y creamos una nueva. Al seleccionar create service debemos digitar la siguiente informacion:

Ahora nos dirigimos a provider security y seleccionamos No transport Guarantee y en HTTP Authentication la opcion user ID/Password, al final damos clic en save. Las otras opciones creeria que depende del perfil definido en el wizard para la creacion del WS, toca cacharriarle mas a esta parte.

Page 9: Manual Creacion Webservice AbapRFC

Ya con el servicio y el endpoint creado, volvemos a la pestanha de overview, aqui si queremos podremos ver el WSDL creado para el binding, damos clic en esta opcion

Page 10: Manual Creacion Webservice AbapRFC

Para probar este webservice vamos a la opcion open web service navigator for selected binding, esta opcion abre otro browser, tener en cuenta que como la configuracion del servicio fue con user and password, es aqui donde digitamos el usw y passw, de la instancia Java.

Page 11: Manual Creacion Webservice AbapRFC
Page 12: Manual Creacion Webservice AbapRFC

Vamos a la pestanha de test. Clic a la operacion, y ya podremos probar nuestra funcion expuesta como webservice, lo siguiente seria crear el cliente que consuma este ws.

Page 13: Manual Creacion Webservice AbapRFC

AL final tendremos nuestro resultado.

Page 14: Manual Creacion Webservice AbapRFC

Voy a anexar algunos link interesantes de creacion de WS, podria ser de ayuda.

http://www.saptechnical.com/Tutorials/Others/ABAPWebservices/create.htm

http://help.sap.com/saphelp_nwpi71/helpdata/en/e9/ae1b9a5d2cef4ea4b579f19d902871/content.htm

http://help.sap.com/saphelp_nw04/Helpdata/EN/e9/ae1b9a5d2cef4ea4b579f19d902871/content.htm ------------------Esta crea Webservice desde una BApi estandar de SAP (interesante.)

https://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/9350

Apunte: tambien podemos generar el wizard desde la se80. Con clic derecho a la funcion y create-webservice, estae wizard cambia un poco del expuesto aca, aunque en general es lo mismo.