Generazione Report

Servizio HTTP per la generazione di report PDF tramite Crystal Reports. Questo progetto sostituisce l'esposizione ASMX/SOAP con endpoint REST ospitati su Windows VM.

Endpoint disponibili

GET /api/health
POST /api/reports/render
GET /swagger

Health: verifica che il servizio sia attivo.
Render: genera un PDF a partire da un file .rpt.
Swagger: documentazione tecnica generata degli endpoint.

Accessi

Root informativa alla /, healthcheck a /api/health e documentazione tecnica navigabile a /swagger.

Il progetto e' predisposto anche per HTTPS locale su IIS Express con porta SSL dedicata.

Come funziona

  • carica i report dalla cartella rpt
  • applica i parametri passati nel payload JSON
  • gestisce i sottoreport con XML in base64
  • restituisce il PDF come risposta HTTP

Esempio payload

{
  "applicazione": "service",
  "pathRpt": "4/attestato_conformita.rpt",
  "parameters": {
    "ID_DOMANDA": 12345
  },
  "subreports": {
    "nome_sottoreport.rpt": "PHhtbD4uLi48L3htbD4=|0"
  }
}

Note operative

  • l'endpoint di render richiede Authorization: Bearer <token>
  • le chiamate provenienti dalla API possono riusare lo stesso JWT interno
  • i client esterni devono prima ottenere il token dal flusso autenticativo esistente
  • JWT e credenziali report possono essere letti dallo stesso Azure Key Vault della API
  • il servizio richiede runtime Crystal compatibile installato sulla VM
  • VenetaKeyVaultUri deve puntare al vault condiviso con la API
  • la root report e' ~/rpt/{applicazione}/{pathRpt}

Controllo rapido: /api/health

Documentazione tecnica: /swagger