Anuncio

Colapsar
No hay anuncio todavía.

Consulta dato proveedor en SUNAT - API

Colapsar
X
 
  • Filtrar
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes

  • Consulta dato proveedor en SUNAT - API

    Buenas tardes, he realizado un programa para consultar los datos de esta página WEB:



    Haga clic en la imagen para ver una versión más grande

Nombre:	Captura.PNG
Visitas:	786
Size:	64,1 KB
ID:	37733

    Mi programa es el siguiente:

    Código:
      REPORT ZAPI_X0.
    
    DATA: W_HTTP_CLIENT TYPE REF TO if_http_client,
          wl_url TYPE string,
          w_result TYPE string.
    DATA: BEGIN OF gtd_string OCCURS 0,
      STR TYPE c LENGTH 100,
      END OF gtd_string.
    DATA: WA_TEXTO LIKE LINE OF gtd_string.
    DATA: LV_CANCAM TYPE i,
          lv_dif TYPE i.
    
    *  wl_url = 'http://calapi.inadiutorium.cz/api/v0/en/calendars/general-en'.
      wl_url = 'https://api.sunat.cloud/ruc/10255049611'.
    *  wl_url = 'http://www.sunat.gob.pe/descarga/BueCont/BueCont2.html'.
    
    CALL METHOD CL_HTTP_CLIENT=>CREATE_BY_URL
        EXPORTING
          URL                = WL_URL
        IMPORTING
          CLIENT             = W_HTTP_CLIENT
        EXCEPTIONS
          ARGUMENT_NOT_FOUND = 1
          PLUGIN_NOT_ACTIVE  = 2
          INTERNAL_ERROR     = 3
          OTHERS             = 4
          .
    
    CALL METHOD W_HTTP_CLIENT->REQUEST->SET_HEADER_FIELD
         EXPORTING NAME  = '~request_method'
                   VALUE = 'GET'
                    .
    
     CALL METHOD W_HTTP_CLIENT->REQUEST->SET_HEADER_FIELD
          EXPORTING NAME  = 'Content-Type'
                    VALUE = 'text/xml; charset=utf-8'.
    
     CALL METHOD W_HTTP_CLIENT->REQUEST->SET_HEADER_FIELD
          EXPORTING NAME  = 'Accept'
                    VALUE = 'text/xml, text/html'.
    
    "STEP-3 :  SEND HTTP REQUEST
      CALL METHOD W_HTTP_CLIENT->SEND
        EXCEPTIONS
          HTTP_COMMUNICATION_FAILURE = 1
          HTTP_INVALID_STATE         = 2.
    
    *-----------------------------------------------------------------
    
    "STEP-4 :  GET HTTP RESPONSE
        CALL METHOD W_HTTP_CLIENT->RECEIVE
          EXCEPTIONS
            HTTP_COMMUNICATION_FAILURE = 1
            HTTP_INVALID_STATE         = 2
            HTTP_PROCESSING_FAILED     = 3.
    
      DATA: STATUS_TEXT TYPE string,
            HTTP_STATUS_CODE TYPE I.
    
    "STEP-5 : Read HTTP RETURN CODE
    CALL METHOD W_HTTP_CLIENT->RESPONSE->GET_STATUS
        IMPORTING
          CODE = HTTP_STATUS_CODE
          REASON = STATUS_TEXT.
    
      WRITE: / 'HTTP_STATUS_CODE = ',
              HTTP_STATUS_CODE,
             / 'STATUS_TEXT = ',
             STATUS_TEXT.
    *
    
    "STEP-6 :  READ RESPONSE DATA
     CALL METHOD W_HTTP_CLIENT->RESPONSE->GET_CDATA
            RECEIVING DATA = W_RESULT.
    
    *  write: W_RESULT.
    
    SPLIT w_result AT ',' INTO TABLE GTD_STRING .
    CLEAR WA_TEXTO.
      LOOP AT GTD_STRING ASSIGNING FIELD-SYMBOL(<FS_STRING>).
        "message":"ifd_data_seq[1331] - ifd_id[UC_MNT_CUSTOMER_IFD_RST.2018.2] ifd_seg[UC_MNT_PRC_CUSTOMER_IFD_RST]"
        IF <FS_STRING>-STR CS 'message'.
          LV_DIF = LV_CANCAM - SY-FDPOS.
          WA_TEXTO-STR = <FS_STRING>-STR+SY-FDPOS(LV_DIF).
        endif.
        CONCATENATE <FS_STRING>-STR ',' INTO <FS_STRING>-STR.
        WRITE: / <FS_STRING>-STR.
      ENDLOOP.
    *CLEAR lv_resplog.

    Pero al ejecutar me sale el siguiente mensaje.

    Haga clic en la imagen para ver una versión más grande

Nombre:	error.PNG
Visitas:	712
Size:	118,2 KB
ID:	37734

    Alguna idea de que puede ser?? He visto que esta URL se ha utilizado en otros lenguajes como java y php y no pide usuario ni contraseña, ni certificado.

    Saludos,

  • #2
    Hola!

    a simple vista no veo ningún error pero voy a intentar replicarlo en mi ambiente, quizás así vea el problema.

    Comentario

    Trabajando...
    X