Como consumir Servicio OData desde SAPUI5

Buenas noches, alguien tiene por ahí un ejemplo de como consumir un servicio SAPUI5 desde Odata ???
Me estoy volviendo loco, necesito en un get obtener el token para luego usarlo en el post, por lo menos así si me ha funcionado en Android, pero aquí no lo consigo.

La verdad que está bien SAPUI5 para hacer un entorno más bonito que usar el SAP GUI, pero creo que le falta mucho, usar Eclipse y no tener un autocompletar me mata, y luego creo que SAP WEB IDE no se puede usar para entorno inhouse, solo para la nube…

Muchas gracias y un saludo.

perdona mi desconocimiento, ¿no se puede consumir un servicio odata en sapui5 de la misma forma que se hace en sap ecc?

Y como lo haces en SAP ECC ???

@Alfonso_Perez, perdona que no había visto tu pregunta.

  1. Se crea el cliente con la llamada
DATA: HTTP_CLIENT TYPE REF TO IF_HTTP_CLIENT .
  CALL METHOD CL_HTTP_CLIENT=>CREATE
    EXPORTING
      HOST          = 'www.xxxx.xxx' 
*      service       = '443'
      SCHEME        = '2'
      SSL_ID        = 'DFAULT' "
*      proxy_host    = '10.59.0.7' "wf_proxy
*      proxy_service = '8080' "wf_port
    IMPORTING
      CLIENT        = HTTP_CLIENT.
  1. Se rellena la acción a realizar
CALL METHOD HTTP_CLIENT->REQUEST->SET_HEADER_FIELD(
  NAME = '~request_method'
  VALUE = 'POST' ).
  1. Se le pasa el resto de la URL
  CALL METHOD HTTP_CLIENT->REQUEST->SET_HEADER_FIELD
    EXPORTING
      NAME  = '~request_uri'
      VALUE = '/rest-service/api/zzz'.
  1. El protocolo
  CALL METHOD HTTP_CLIENT->REQUEST->SET_HEADER_FIELD
    EXPORTING
      NAME  = '~request_protocol'         " <<<-- INSERT must be request
      VALUE = 'HTTP/1.1'.
  1. Si fuera necesaria la autenticación
CALL METHOD HTTP_CLIENT->REQUEST->SET_FORM_FIELD
    EXPORTING
      NAME  = 'user'         " <<<-- INSERT must be request
      VALUE = 'CIF-A'.
  1. La llamada:
CALL METHOD HTTP_CLIENT->SEND
  EXCEPTIONS
    HTTP_COMMUNICATION_FAILURE = 1
    HTTP_INVALID_STATE         = 2.

CALL METHOD HTTP_CLIENT->RECEIVE
  EXCEPTIONS
    HTTP_COMMUNICATION_FAILURE = 1
    HTTP_INVALID_STATE         = 2
    HTTP_PROCESSING_FAILED     = 3.
  1. Las respuestas:
HTTP_CLIENT->RESPONSE->GET_STATUS( IMPORTING CODE = LV_LAST_ERROR ).
LV_JSON = HTTP_CLIENT->RESPONSE->GET_CDATA( ).
2 Me gusta

Hola,
Si estas usando SAPUI5 quiere decir que lo vas a publicar en el Fiori Launchpad de tu server?, te recomiendo usar el SAP WEB IDE, te va resultar mas fácil de hacer la conexión, consumir tu Odata y posteriormente publicarlo en tu server. Puedes mostrar tu código para poder ayudarte.

Saludos.

Muchas gracias David, he ahí mi duda. Tengo dos opciones o lo hago en Eclipse y luego puede dejarlo todo en un jar (creo que esa es la extension en java) y luego lo pego en mi servidor apache y arreglado o lo hago en SAP Web IDE y no me queda otra que usar en Fiori (cosa que de momento no tenemos).

Supongo que Fiori será como un sistema satélite a parte de SAP y que para entrar en él te hará falta el usuario y contraseña de SAP, supongo…

Muchas gracias y un saludo.

Hola Alfonso:

El sap web ide tambien lo puedes conectar a tu sap onpremise y ahi puedes hacer la conexion directa si el erp esta expuesto a internet o por medio del sap gateway conector.
Lo otro para instanciar el odata en eclipse solamente debes darle la ruta conde esta el servicio odata en tu programa creando el objeto como si fuera un model…

Hola niko64, si ya probe a exportar la aplicación a mi sap onpremise, y lo sube como si fuera una bsp, pero exponer nuestro SAP en internet como que no lo veo.

Salu2.

Dentro de la configuracion puedes colocarle seguridad o colocarlo en internet a traves del WEB Dispatcher

Este tema se cerró automáticamente 91 días después del último post. No se permiten nuevas respuestas.