Table of Contents

API / Servizi (superficie SOAP/WCF)

Note

Nessun REST / ASP.NET MVC / Web API (ApiController = 0). La superficie di servizio è SOAP (ASMX) e WCF. Evidenza: TASK-API-001; artefatto: docs/_generated/api-catalog.json. Confidenza VERIFIED.

Totali (entrambi i repo)

  • 46 .asmx + 35 .svc = 81 endpoint host.
  • 47 [ServiceContract], 486 [OperationContract] (WCF) vs 308/365 [WebMethod] (ASMX) → per operazioni il WCF è dominante.
  • InfocadServer: 0 .asmx, 0 .svc.

Dove vive la superficie (risoluzione CONF-001)

flowchart LR
    subgraph WEB["InfocadWeb — 100% degli host SOAP/WCF (81/81)"]
      C["famiglia CASSANDRA<br/>27 asmx + 27 svc = 54 (~67%)<br/>servizi interni allo shell"]
      I["InfocadIntegrationWS<br/>19 asmx + 6 svc = 25 (~31%)<br/>integrazione esterna"]
      E["ECM / IEM<br/>1 svc ciascuno"]
    end
    subgraph SRV["InfocadServer — WCF sottile"]
      EN["EnergyService<br/>3 [ServiceContract] self-hosted<br/>(ServiceHost.Open in Business/Start.vb, NON IIS)"]
    end
Host asmx svc Ruolo
InfocadIntegrationWS 19 6 integrazione esterna
PropertyCenterWeb 14 7 servizi Property (CASSANDRA)
CommonWeb 4 10 servizi comuni/workflow (CASSANDRA)
ProjectCenterWeb 6 1 servizi Project
CASSANDRA shell + *CenterWeb vari 3 ~11 AsyncLoader, WFActions, per-dominio
ECM / IEM 0 1+1 moduli dedicati
EnergyService (InfocadServer) WCF self-hosted (3 contract) dashboard energia

Correzioni registrate

  • La mia CLAUDE.md iniziale attribuiva ~37 [ServiceContract] / ~35 .svc a InfocadServer: errato (0/0). Corretto (vedi Decisioni/Conflitti).
  • TASK-SRV-001 diceva "0 ServiceHost": in realtà 2 endpoint WCF self-hosted in InfocadServer (DashBoardService, DssDashBoardService); in InfocadWeb QueueCore/QueueExec.vb self-hosta MessageService.

Reference API .NET (net8) — parziale

Generata con docfx metadata sui progetti net8 *XNET compilabili su questo host: disponibile la reference reale di Descor.Infrastructure.LogManager (10 tipi: Logger, IJobLogger, EventLogger, ExceptionLogger, LogEntry, LogType, LogSettings, LogMessageFormatter) → Descor.Infrastructure.LogManager (voce API .NET (net8) nella navigazione in alto).

Blocchi noti (reference NON generabile headless per il resto):

  • CommonXNET — errore di encoding nel .csproj (carattere non valido) → non caricabile da MSBuild/DocFX.
  • ResourcesXNET — target net8.0-windows → richiede Windows (EnableWindowsTargeting).
  • BIM *XNET — il sorgente legacy collegato referenzia Descor.Common/tipi non risolti in compilazione isolata.
  • Bulk .NET Framework 4.8 (~283 progetti) — richiede Windows + Visual Studio + Oracle Client.

Rigenerazione: docs-site/scripts/gen-api-metadata.sh (docfx metadata docfx.json).

Note

  • ASMX è tecnologia legacy → vedi TD-005.
  • Il dettaglio per singolo endpoint (metodi, contratti) è in api-catalog.json; la reference .NET completa richiede build su Windows.