@karibulab/wsdl2tsx 0.5.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +97 -0
- package/dist/cli.js +5528 -5405
- package/package.json +2 -3
package/README.md
ADDED
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
# @karibulab/wsdl2tsx
|
|
2
|
+
|
|
3
|
+
Generador de código TypeScript/TSX desde archivos WSDL para crear componentes tipados que generan XML SOAP.
|
|
4
|
+
|
|
5
|
+
## Instalación
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install -g @karibulab/wsdl2tsx
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
O usar directamente con `npx`:
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
npx @karibulab/wsdl2tsx <wsdl-url> <directorio-salida>
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Uso
|
|
18
|
+
|
|
19
|
+
### Desde línea de comandos
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
wsdl2tsx <ruta-wsdl> <directorio-salida>
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
**Ejemplo:**
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
wsdl2tsx http://ejemplo.com/servicio?wsdl ./output
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### Parámetros
|
|
32
|
+
|
|
33
|
+
- `<ruta-wsdl>`: URL o ruta local al archivo WSDL
|
|
34
|
+
- `<directorio-salida>`: Directorio donde se generarán los archivos TSX
|
|
35
|
+
|
|
36
|
+
## Características
|
|
37
|
+
|
|
38
|
+
- ✅ Genera componentes TypeScript/TSX tipados desde WSDL
|
|
39
|
+
- ✅ Respeta `elementFormDefault` para manejo correcto de namespaces
|
|
40
|
+
- ✅ Genera interfaces TypeScript para todos los tipos complejos
|
|
41
|
+
- ✅ Soporta múltiples schemas y namespaces
|
|
42
|
+
- ✅ Maneja imports y referencias entre schemas
|
|
43
|
+
- ✅ Genera código compatible con el runtime `@karibulab/wsdl2tsx-runtime`
|
|
44
|
+
|
|
45
|
+
## Ejemplo de salida
|
|
46
|
+
|
|
47
|
+
El CLI genera un archivo TSX por cada operación definida en el WSDL. Por ejemplo:
|
|
48
|
+
|
|
49
|
+
```tsx
|
|
50
|
+
import { soap, ns } from "@karibulab/wsdl2tsx-runtime";
|
|
51
|
+
|
|
52
|
+
export interface ConsultaCodigoPlanProps {
|
|
53
|
+
codigoPlanList: CodigoPlanList;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export function ConsultaCodigoPlan(props: ConsultaCodigoPlanProps) {
|
|
57
|
+
return (
|
|
58
|
+
<soap.Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
|
|
59
|
+
<soap.Header />
|
|
60
|
+
<soap.Body>
|
|
61
|
+
{/* XML generado automáticamente */}
|
|
62
|
+
</soap.Body>
|
|
63
|
+
</soap.Envelope>
|
|
64
|
+
);
|
|
65
|
+
}
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## Requisitos
|
|
69
|
+
|
|
70
|
+
- Node.js 18 o superior
|
|
71
|
+
- `@karibulab/wsdl2tsx-runtime` (se instala automáticamente como dependencia)
|
|
72
|
+
|
|
73
|
+
## Desarrollo
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
# Clonar el repositorio
|
|
77
|
+
git clone https://github.com/KaribuLab/wsdl2tsx.git
|
|
78
|
+
cd wsdl2tsx
|
|
79
|
+
|
|
80
|
+
# Instalar dependencias
|
|
81
|
+
npm install
|
|
82
|
+
|
|
83
|
+
# Construir el CLI
|
|
84
|
+
npm run build:cli
|
|
85
|
+
|
|
86
|
+
# Ejecutar localmente
|
|
87
|
+
cd packages/cli
|
|
88
|
+
node dist/cli.js <wsdl-url> <output-dir>
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
## Licencia
|
|
92
|
+
|
|
93
|
+
ISC
|
|
94
|
+
|
|
95
|
+
## Repositorio
|
|
96
|
+
|
|
97
|
+
https://github.com/KaribuLab/wsdl2tsx
|