SUNAT – Falla masiva en envío de CPE

📅 Fecha: Mayo 2026 🏷️ Afectados: .NET (WCF) & Java
Nota: No hay comunicado oficial de SUNAT. Esta información ha sido validada mediante pruebas de infraestructura.

1. Diagnóstico del Problema

SUNAT actualizó su DataPower Gateway (IBM), el cual dejó de procesar correctamente los headers WS-Security que utilizan PasswordDigest.

2. ¿Por qué falla .NET / WCF?

En WCF, la configuración TransportWithMessageCredential utiliza PasswordDigest de forma predeterminada. Cambiar este comportamiento en el binding estándar es complejo y requiere extensiones personalizadas de seguridad.

3. Verificación rápida (Postman)

Antes de modificar el código, valide la conectividad con este envelope SOAP usando PasswordText:

URL: https://e-factura.sunat.gob.pe:443/ol-ti-itcpfegem/billService
Método: POST
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" ...>
  <soapenv:Header>
    <wsse:Security>
      <wsse:UsernameToken>
        <wsse:Username>USUARIOSOL</wsse:Username>
        <wsse:Password>CLAVESOL</wsse:Password>
      </wsse:UsernameToken>
    </wsse:Security>
  </soapenv:Header>
  <!-- Body de la petición -->
</soapenv:Envelope>

4. Solución Implementada (C#)

La solución consiste en bypassar el proxy WCF y utilizar HttpClient para construir manualmente el envelope SOAP con PasswordText.

// Helper para construcción de Envelope
private string BuildSoapEnvelope(string usuario, string clave, string bodyContent)
{
    return $"<soapenv:Envelope ...><wsse:Password>{clave}</wsse:Password>...";
}

// Ejecución vía HttpClient
private XDocument EjecutarSoap(string endpointUrl, string soapEnvelope, string soapAction)
{
    using (var client = new HttpClient()) {
        request.Headers.Add("SOAPAction", "\"{soapAction}\"");
        // Lógica de envío y manejo de respuesta...
    }
}

5. Seguridad y Endpoints

Aunque PasswordText envía la clave en claro dentro del XML, el canal HTTPS/TLS 1.2 garantiza que la información viaje cifrada de extremo a extremo, manteniendo un nivel de seguridad adecuado.

Ambiente Endpoint URL
Producción https://e-factura.sunat.gob.pe:443/ol-ti-itcpfegem/billService
Beta / Homologación https://e-beta.sunat.gob.pe:443/ol-ti-itcpfegem/billService