Runtime XML para código TSX generado desde WSDL
npm install @karibulab/wsdl2tsx-runtimeRuntime XML para código TSX generado desde WSDL. Proporciona funciones JSX personalizadas para construir documentos XML/SOAP.
``bash`
npm install @karibulab/wsdl2tsx-runtime
Este paquete es utilizado automáticamente por el código generado por @karibulab/wsdl2tsx. No necesitas importarlo manualmente en la mayoría de los casos.
Para que TypeScript reconozca los elementos JSX personalizados, configura tu tsconfig.json:
`json`
{
"compilerOptions": {
"jsx": "react-jsx",
"jsxImportSource": "@karibulab/wsdl2tsx-runtime"
}
}
#### soap
Objeto con elementos SOAP predefinidos:
`tsx
import { soap } from "@karibulab/wsdl2tsx-runtime";
{/ contenido /}
`
#### ns(prefix, tags)
Función helper para crear namespaces personalizados:
`tsx
import { ns } from "@karibulab/wsdl2tsx-runtime";
const myns = ns("myns", ["tag1", "tag2"] as const);
`
`tsx
import { soap, ns } from "@karibulab/wsdl2tsx-runtime";
const facade = ns("facade", ["consultaCodigoPlan"] as const);
export function ConsultaCodigoPlan(props: ConsultaCodigoPlanProps) {
return (
{/ contenido del body /}
);
}
`
Las funciones generadas retornan directamente un string XML. Puedes usarlas así:
`tsx
import { ConsultaCodigoPlan } from './consultaCodigoPlan';
// Llamar a la función con los props
const xmlString = ConsultaCodigoPlan({
codigoPlanList: {
planTO: {
codigoPlan: "12345",
tipoCliente: "FISICO"
}
}
});
// xmlString es un string XML válido que puedes usar directamente
console.log(xmlString);
// Output:
// Enviar en una petición HTTP
fetch('https://api.ejemplo.com/soap', {
method: 'POST',
headers: {
'Content-Type': 'text/xml; charset=utf-8',
'SOAPAction': 'consultaCodigoPlan'
},
body: xmlString
});
`
Nota importante: El runtime convierte JSX directamente a strings XML. No necesitas renderizar ni procesar el resultado - las funciones retornan el XML como string listo para usar.
- ✅ JSX personalizado para construir XML
- ✅ Soporte completo para namespaces XML
- ✅ Genera XML válido desde componentes TSX
- ✅ TypeScript tipado para todos los elementos
- ✅ Compatible con ESM (ES Modules)
`bashClonar el repositorio
git clone https://github.com/KaribuLab/wsdl2tsx.git
cd wsdl2tsx
ISC
https://github.com/KaribuLab/wsdl2tsx