Actualizar CLAUDE.md y README.md: git y remoto, version 2.1.7.0, appsettings fuera de git, logs, pendientes
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
d0118d1848
commit
23f1a3df44
2 files changed
+76
-10
No files matched your search
@@ -12,7 +12,10 @@ API de integración WMS ↔ SAP Business One (Service Layer + HANA directo),
|
||||
(ruta hardcodeada vía `HintPath` en los `.csproj` de `Net.Data` y
|
||||
`Net.Business.Services` — sin esto no compila ningún proyecto que dependa
|
||||
de HANA).
|
||||
- **Compilar desde macOS/Linux**: el `HintPath` es relativo (6 niveles hacia
|
||||
- **Compilar desde macOS/Linux** (forma simple): pasar la ruta de la DLL con
|
||||
`-p:HanaDll=<ruta>/Sap.Data.Hana.Core.v2.1.dll` a `dotnet build`/`publish`
|
||||
(los `.csproj` usan esa propiedad si está definida). Forma alternativa: el
|
||||
`HintPath` es relativo (6 niveles hacia
|
||||
arriba + `Program Files\sap\...`). Se puede compilar copiando el repo a
|
||||
`<raiz>/a/b/c/d/repo/` y poniendo la DLL en
|
||||
`<raiz>/Program Files/sap/hdbclient/dotnetcore/v2.1/` — así el `HintPath`
|
||||
@@ -70,6 +73,35 @@ dotnet publish Net.Business.Services/Net.Business.Services.csproj -c Release -r
|
||||
`web.config` del código fuente (ese apunta a `bin\Debug\...`, es el de
|
||||
desarrollo) a una carpeta de publish.
|
||||
|
||||
## Versión y script de publish
|
||||
|
||||
- La versión sale de `<Version>`/`<AssemblyVersion>`/`<FileVersion>` en
|
||||
`Net.Business.Services/Net.Business.Services.csproj` (actual: **2.1.7.0**);
|
||||
súbela en cada publish.
|
||||
- `publicar.ps1` (solo Windows) genera `dist\ITCA_API_SAP_WMS_v<versión>.zip` sin
|
||||
`appsettings.json`. Desde macOS se hace el mismo `dotnet publish` a mano con
|
||||
`-p:HanaDll=...`, se borran `appsettings.json`/`appsettings.Development.json` de
|
||||
la salida y se comprime.
|
||||
- Control de versiones: rama `main` y etiquetas `vX.Y.Z.W` por versión
|
||||
publicada (ver `CLAUDE.md`).
|
||||
|
||||
## Logs de integración
|
||||
|
||||
- **`B_Log`** (controllers): en cada llamada guarda en
|
||||
`ITC_WMS_SAP.ITCA_LOG_INTEGRACION` el request del WMS (`TRAMA_ORIGEN`) y la
|
||||
respuesta de la API (`TRAMA_RESPUESTA`), con `PROCESO` (Picking, Recibo...),
|
||||
`NRO_ORDEN`, `DOCENTRY`, `DOCNUMSAP` y `DOCENTRYSAP`.
|
||||
- **Log de errores del Service Layer** (desde 2.1.5.0): cuando SAP rechaza un
|
||||
envío con cuerpo JSON (`PostAsync`, `PatchAsyncSBA`, `PatchNoContentAsync`)
|
||||
se guarda en esa misma tabla el JSON enviado y el mensaje de SAP, con
|
||||
`PROCESO = 'ServiceLayer Error'`, `NRO_ORDEN` = ruta del recurso y `DOCENTRY`
|
||||
= `BaseEntry` del documento base. Solo en error; no cambia la respuesta de la
|
||||
API.
|
||||
- Ambos usan el esquema fijo `ITC_WMS_SAP` (columnas `PROCESO`, `NRO_ORDEN` y
|
||||
`DOCENTRY` son `VARCHAR(100)`).
|
||||
- Consulta de ejemplo:
|
||||
`SELECT * FROM "ITC_WMS_SAP"."ITCA_LOG_INTEGRACION" WHERE "PROCESO" = 'ServiceLayer Error' ORDER BY "FECHA" DESC, "HORA" DESC`
|
||||
|
||||
## Desplegar/actualizar un sitio en IIS
|
||||
|
||||
### Si el sitio YA corre desde una carpeta de publish (actualización de versión)
|
||||
@@ -137,8 +169,8 @@ para armar el body del `Login` contra el Service Layer.
|
||||
## Riesgos de seguridad heredados (documentados, no corregidos sin coordinar antes)
|
||||
|
||||
- `appsettings.json` tiene credenciales reales en texto plano (SAP Service
|
||||
Layer, **HANA `B1ADMIN`**, semilla JWT) — no hay `git` en esta carpeta; si alguna vez se versiona o se sube
|
||||
a un remoto compartido, hay que decidir qué hacer con ese archivo primero.
|
||||
Layer, **HANA `B1ADMIN`**, semilla JWT). Está en `.gitignore` y no se
|
||||
versiona (solo `appsettings.example.json`); no subirlo a ningún repositorio.
|
||||
- `B1ADMIN` es un usuario administrador de SAP B1; la API solo necesita
|
||||
ejecutar los `ITCA_*` y leer algunas tablas. Conviene un usuario HANA de
|
||||
permisos mínimos y rotar la contraseña (estuvo en texto plano en el código
|
||||
|
||||
Reference in new issue
Block a user