Está en la página 1de 32

CREACION WEB SERVICE INTEGRACION

MERCURIO-SAP

1) Crear grupo de función, y módulo de función de tipo de acceso remoto


(RFC) en pestaña Atributos.

2) Ingresar parámetros a la función, dichos parámetros deben ser


pasados por valor.
En nuestro caso tendrá como parámetros de entrada una tabla y
retornará una tabla de tipo BAPIRET con los mensajes de log.
3) En nuestro caso crearemos el webservice con endpoint en un módulo
de funciones, porque solamente consumiremos dicho módulo de
función. Existe la opción de crear el webservice con endpoint en un
grupo de funciones y este puede consumir todos los módulos de
funciones pertenecientes a este grupo; de igual forma se puede crear
el webservice a partir del paquete, el cual permite generar el
webservice o consumirlo entre otras opciones.
4) Definimos el nombre del servicio Web y una pequeña descripción
5) Introducimos el nombre de la función, en este caso lo toma por
defecto ya que el Webservice se generó a partir del módulo de
funciones.
6) Se definen los parámetros de seguridad, los cuales pueden ser
redefinidos posteriormente en la SOAMANAGER.
7) Indicamos el nombre del paquete y la orden de transporte

8) Se completa la creación del Webservice


9) Se ingresa a la transacción SOAMANAGER e ingresamos al servidor y
seleccionamos el mandante en el cual queremos generar el
webservice.
10) Liberar el servicio y crear el endpoint.
Se ingresa a Business Administration y seleccionamos la opción Web
Service Administration.

11) Buscar el servicio seleccionado en la casilla de search by: Servicio y en


la casilla search pattern: <nombre_servicio> y field: external name.
12) Seleccionamos el servicio y damos clic en aplicar selección.
13) Seleccionamos la pestaña de Overview, allí cuando aún no se ha creado
un servicio y un endpoint sale en ceros. Un servicio puede tener varios
endpoints.

14) Seleccionamos la pestaña Configurations y seleccionamos Create


Service.
15) Ingresamos el nombre del servicio y el nombre del Binding

16) Se muestran las pestañas para las configuraciones respectivas del


servicio, en nuestro caso en la pestaña de seguridad seleccionamos No
transport guarantee, y User and ID password en HTTP Authentication. En la
pestaña de transporte seleccionamos Local in local system
17) Para seleccionar la URL del servicio, nos vamos a la pestaña Overview y
damos clic en Open WSDL document for selected binding.
COMSUMIR WEB SERVICE
1) Existen varias formas para consumir el webservice. La primera es
instalando el paquete SAP NetWeaver Composition Enviroment y en la
ventana principal del webservice, en la pestaña Thecnical
Administration y en la opción System Global Settings se selecciona la
pestaña WebService Navigator ó en la pestaña overview damos clic en
Open Web Service navigator for selected binding.
Se selecciona las operaciones que pertenezcan al webservice e ingreso
los parámetros de entrada los cuales pueden ser ingresados en las
opciones IMPORT o EXPORT y damos clic en NEXT para ejecutar el
webservice.
2) La segunda forma es descargando el programa SOAPUI, y creamos un
nuevo WorkSpace.

Creamos un nuevo proyecto para ese workspace.


Ingresamos el nombre del proyecto y copiamos la URL del documento
WSDL generado en la SOAMANAGER con la que vamos a probar.

El SAPUI nos genera un árbol con el nombre interno del webservice.

Seleccionamos Request1 e ingresamos nuestros parámetros de


entrada en la ventana donde se muestra el codigo XML e ingresamos
nuestro usuario y contraseña SAP en el botón Autentication y por
ultimo damos clic en execute(flecha verde). Al lado derecho deberá
aparecer el resultado de nuestro test.
3) La tercera forma es consumir el webservice dentro de SAP. Para ello se
debe generar un objeto proxy. Ingresamos al paquete y damos clic
derecho en Crear Enterprice Service.
Seleccionamos Service Consumer.
Ingreso la forma en que voy a accesar al documento WSDL, en este
caso tenemos la URL generada, entonces selecciono URL/HTTP
Destination.
Guardamos y finalizamos el asistente.

Como se requiere autorización para consumir el webservice,


ingresamos nuestro usuario de SAP.
Se genera el nombre del proxy con el cual vamos a la SOAMANAGER y
creamos el puerto lógico, el cual es para especificar los atributos de
ejecución del cliente proxy de webservice.

Seleccionar la opción Create Logical Port.


Ingresar el nombre del puerto, la URL del documento WSDL y un
usuario para accesar al documento.

Revisamos el puerto generado y damos clic en Save.


Se genera el puerto lógico.

El nombre generado del proxy es una clase generada


automaticamente, con la cual al realizar el programa que consumirá el
webservice debemos instanciarla.
Al ingresar a los tipos generados de los parámetros INPUT y OUTPUT
observamos los parámetros de entrada y salida del webservice.
Realizamos un reporte donde instanciamos la clase y el método
generado.
Realizamos la prueba.
Para consumir el WebService necesitamos autorización y por ello
ingresamos nuestro usuario y contraseña de SAP.

El resultado

En caso de error se ejecuta la excepción.


PROBLEMAS Y ERRORES QUE PUEDEN SURGIR
DURANTE LA CREACIÓ N DE UN WEBSERVICE

1) Cuando creamos el webservice y generamos el documento WSDL,


como usuarios ABAP puede presentar errores al momento de
consumir el webservice. Es recomendable que el documento WSDL
sea creado por un consultor BASIS.

2) Cuando se ejecuta la transacción SOAMANAGER, ésta por defecto


abre la WebDynpro en Internet Explorer. Si intentamos abrir esta
en otro explorador de internet presenta incompatibilidades en la
aplicación.

3) Para probar el webservice con la herramienta SOAPUI, el usuario


debe comprobar que tenga los permisos requeridos en la red,
porque al ejecutar el documento WSDL en el SOAPUI, éste realiza
autenticaciones con el sistema SAP, si no tiene autorización
presentará un error como el siguiente, o no podrá conectarse al
webservice.
4) Cuando pasamos el parámetro por referencia en una función RFC,
esta nos muestra el siguiente error: no se permiten parámetros de
referencia.

También podría gustarte