Ver Mensaje Individual
  #9  
Antiguo 27-10-2025
emailesc emailesc is offline
Miembro
 
Registrado: jul 2023
Posts: 281
Reputación: 3
emailesc Va por buen camino
Cita:
Empezado por rci Ver Mensaje
Como lo haceis para leer el mensaje en ese caso?

Trabajo en c#, utilizamos las clases que se genera al importar los wsdl. En estos casos no da una respuesta normal con los objetos de esas clases sinó una excepción.
Ya tenemos preparado un trato especial para cuando hay una excepción por tema de certificado, que el mensaje de la excepción es un HTML, y tratamos ese texto para sacar el error como podemos.
Pero en el caso actual, el mensaje de la excepción es un XML:
Código:
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
    <env:Body>
        <env:Fault>
            <faultcode>env:Server</faultcode>
            <faultstring>Codigo[20009].Error interno en el servidor</faultstring>
        </env:Fault>
    </env:Body>
</env:Envelope>
Con cada error distinto, un sistema distinto de respuesta... es un desproposito

Muchas gracias
Lo acabo de probar y a mi me ha dado correcto (en pruebas entiendo que estamos hablando).
Respecto a el xml de error, efectivamente los errores de servidor no siguen el esquema de respuestas, ya que en realidad no han conectado con Verifactu. Nosotros los verificamos antes de intentar leer la respuesta, en VB:
Código:
            Dim faultNode As XmlNode = xmlDoc.SelectSingleNode("//env:Fault", nsmgr)
            If faultNode IsNot Nothing Then
                ' Error tipo SOAP Fault (mejora)
                Dim faultCode As String = faultNode.SelectSingleNode("faultcode")?.InnerText
                Dim faultString As String = faultNode.SelectSingleNode("faultstring")?.InnerText
                ...
en teoría faultcode debería llevar un código numérico, el 20009 que pone en faultstring, no un string, pero efectivamente cada vez salen códigos nuevos, yo tengo un pequeño listado de algunos conocidos y este 20009 o 209 son nuevos para nosotros, pero es que además el XML no es normal por no llevar los datos donde debe.
No entiendo cómo estas cosas pueden pasar en un sistema como este, ni como es posible que muestre dos códigos de error distintos...

Última edición por emailesc fecha: 27-10-2025 a las 09:56:00.
Responder Con Cita