Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Colaboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #11  
Antiguo 04-09-2021
unomasmas unomasmas is offline
Miembro
 
Registrado: dic 2019
Posts: 194
Poder: 7
unomasmas Va por buen camino
Cita:
Empezado por Ramon88 Ver Mensaje
Hola,

No puedo avanzar, tengo este error y no consigo ver donde esta el fallo... El validador que utilizo me dice que esta todo correcto...
Alguien podría decirme algun validador de xml o como puedo saber donde esta el fallo?

He contactado con ellos pero no contestan.


Un saludo.

¿El texto completo es el de "Error: El fichero de alta TicketBAI no cumple el esquema XSD. Detalle del error: cvc-complex-type.2.4.b: The content of element 'T:TicketBai' is not complete. One of '{"http://www.w3.org/2000/09/xmldsig#":Signature}' is expected" que creo que comentamos en otro post? Si sí, estás enviando sin firmar el fichero. A mi me contestaron y resulta que firmaba el fichero, lo validaba y después enviaba el fichero antes de la firma. Claro, daba este error y no lo entendía porque no me daba cuenta de que en el momento de escribir el stream a enviar utilizaba el fichero sin firmar en vez de utilizar el ya firmado...


Si no es ese el error, dinos exactamente cuál es. Supongo que tu resultado también especifique la razón de que no cumpla el esquema.



Creo que tú utilizas C#. Te paso mi clase para validar por si te sirve

Código:
public class Validaciones
{
    private bool isValid { get; set; }
    private string noValidInformation { get; set; }

    public bool ValidaXmlFactura(string xmlFile)
    {
        try
        {
            isValid = true;
            // Ficheros xsd ubicados en la raíz del ejecutable
            string xsdFile = @"ticketBaiV1-2.xsd";
            string xsdFile2 = @"xmldsig-core-schema.xsd";

            var path = new Uri(System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().CodeBase)).LocalPath;
            XmlSchemaSet schema = new XmlSchemaSet();
            schema.Add("urn:ticketbai:emision", path + "\\" + xsdFile);
            schema.Add("http://www.w3.org/2000/09/xmldsig#", path + "\\" + xsdFile2);

            using (XmlReader rd = XmlReader.Create(xmlFile))
            {
                XDocument doc = XDocument.Load(rd);
                doc.Validate(schema, ValidationCallBack);
            }

            if (!isValid)
            {
                MessageBox.Show(noValidInformation.TrimEnd(Environment.NewLine.ToCharArray()), 
                    System.Reflection.MethodBase.GetCurrentMethod().Name, 
                    System.Windows.Forms.MessageBoxButtons.OK, 
                    System.Windows.Forms.MessageBoxIcon.Error);
            }
            return isValid;
        }
        catch (Exception ex)
        {
            //isValid = false; no need to say isValid=false as it returns false
            MessageBox.Show(ex.Message, 
                System.Reflection.MethodBase.GetCurrentMethod().Name, 
                System.Windows.Forms.MessageBoxButtons.OK, 
                System.Windows.Forms.MessageBoxIcon.Error);
            return false;
        }
    }

    private void ValidationCallBack(object sender, ValidationEventArgs e)
    {
        noValidInformation += string.Format("+ {0}: {1}", e.Severity.ToString(), e.Message) + Environment.NewLine;
        isValid = false;
    }
}
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
SII -Nuevo sistema de la Agencia Tributaria española de envío de datos vía Webservice newtron Internet 3716 19-01-2026 20:01:34
Como utilizar la ayuda del nuevo Sistema Operativo gluglu Humor 3 24-09-2007 09:39:05
Aplicacion Agencia De Viajes ArdiIIa Varios 9 20-01-2007 16:49:53
El Vasco Aguirre Al González La Taberna 5 26-05-2006 09:22:28
Microsoft ha lanzado su nuevo sistema operativo DarkByte Humor 0 25-01-2004 09:21:14


La franja horaria es GMT +2. Ahora son las 00:09:58.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi