![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Enviar a pelo xml en c#
Cita:
Cita:
byte[] Program.certificado , esta variable contiene el certificado usado para firmar la conexion string Program.passcertificado, esta variable contiene la clave del certificado [CODE C#] /// <summary> /// Llama a al web service de la AEAT para el VeriFactu seleccionado. /// </summary> /// <param name="url">Url destino.</param> /// <param name="action">Acción a ejecutar.</param> /// <param name="xmlDocument">Documento soap xml.</param> /// <returns>Devuelve la respuesta.</returns> protected static string Call(string url, string action, XmlDocument xmlDocument) { HttpWebRequest webRequest = CreateWebRequest(url, action); X509Certificate2 certificate = new X509Certificate2(Program.certificado, Program.passcertificado); // Aqui se carga el certificado, yo lo almaceno en la base de datos, pero podriai s cargarlo desde un archivo var tiempo = certificate.SubjectName; if (certificate == null) throw new ArgumentNullException( "Certificate is null. Maybe serial number in configuration was wrong."); if (certificate.NotAfter < DateTime.Now) throw new ArgumentNullException( $"Certificate is out of date. NotAfter: {certificate.NotAfter}."); webRequest.ClientCertificates.Add(certificate); using (Stream stream = webRequest.GetRequestStream()) { xmlDocument.Save(stream); } HttpWebResponse response = (HttpWebResponse)webRequest.GetResponse(); string statusDescription = response.StatusDescription; Stream dataStream = response.GetResponseStream(); string responseFromServer; using (StreamReader reader = new StreamReader(dataStream)) { responseFromServer = reader.ReadToEnd(); reader.Close(); dataStream.Close(); response.Close(); } return responseFromServer; } [/code] |
|
#2
|
|||
|
|||
|
Cita:
Te sería muy complicado poner ecomo quedaria formado el xml empaquetado, buff ojalá. |
|
#3
|
||||
|
||||
|
Como queda en el envio
Cita:
Código:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header />
<soapenv:Body>
<RegFactuSistemaFacturacion xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd">
<Cabecera xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
<ObligadoEmision>
<NombreRazon>Mi taller s.l.</NombreRazon>
<NIF>mi nif</NIF>
</ObligadoEmision>
<RemisionVoluntaria>
<FechaFinVeriFactu />
<Incidencia>N</Incidencia>
</RemisionVoluntaria>
</Cabecera>
<RegistroFactura xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd">
<RegistroAlta>
<IDVersion xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">1.0</IDVersion>
<IDFactura xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
<IDEmisorFactura>Mi nif</IDEmisorFactura>
<NumSerieFactura>VC1-24-100001</NumSerieFactura>
<FechaExpedicionFactura>19/10/2024</FechaExpedicionFactura>
</IDFactura>
<NombreRazonEmisor xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">Mi Taller</NombreRazonEmisor>
<TipoFactura xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">F2</TipoFactura>
<FechaOperacion xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">19-10-2024</FechaOperacion>
<DescripcionOperacion xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">Venta de materiales servidos cliente contado.</DescripcionOperacion>
<Desglose xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
<DetalleDesglose>
<ClaveRegimen>01</ClaveRegimen>
<CalificacionOperacion>S1</CalificacionOperacion>
<TipoImpositivo>21.00</TipoImpositivo>
<BaseImponibleOimporteNoSujeto>133.45</BaseImponibleOimporteNoSujeto>
<CuotaRepercutida>28.02</CuotaRepercutida>
</DetalleDesglose>
</Desglose>
<CuotaTotal xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">28.02</CuotaTotal>
<ImporteTotal xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">161.47</ImporteTotal>
<Encadenamiento xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
<PrimerRegistro>S</PrimerRegistro>
</Encadenamiento>
<SistemaInformatico xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
<NombreRazon>yo mismo</NombreRazon>
<NIF>mi nif</NIF>
<NombreSistemaInformatico>Facturas Taller 2024</NombreSistemaInformatico>
<IdSistemaInformatico>A1</IdSistemaInformatico>
<Version>5.1.4.222</Version>
<NumeroInstalacion>001</NumeroInstalacion>
<TipoUsoPosibleSoloVerifactu>S</TipoUsoPosibleSoloVerifactu>
<TipoUsoPosibleMultiOT>N</TipoUsoPosibleMultiOT>
<IndicadorMultiplesOT>N</IndicadorMultiplesOT>
</SistemaInformatico>
<FechaHoraHusoGenRegistro xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">2024-10-19T13:04:40+02:00</FechaHoraHusoGenRegistro>
<TipoHuella xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">01</TipoHuella>
<Huella xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">F4C7FAA3D9FF0CF50DD50139224840BFC91A514878EFC34E193A7D6F6301B844</Huella>
</RegistroAlta>
</RegistroFactura>
</RegFactuSistemaFacturacion>
</soapenv:Body>
</soapenv:Envelope>
Perdonad el indentado, pero esta serializado, lo he separado para que se veamejor. |
|
#4
|
|||
|
|||
|
Cita:
¡Ojo, cambio hecho a mano. Muy fácil que haya errores! Código:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sum="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd" xmlns:sum1="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
<soapenv:Header />
<soapenv:Body>
<sum:RegFactuSistemaFacturacion>
<sum1:Cabecera>
<sum1:ObligadoEmision>
<sum1:NombreRazon>Mi taller s.l.</sum1:NombreRazon>
<sum1:NIF>mi nif</sum1:NIF>
</sum1:ObligadoEmision>
<sum1:RemisionVoluntaria>
<sum1:FechaFinVeriFactu />
<sum1:Incidencia>N</sum1:Incidencia>
</sum1:RemisionVoluntaria>
</sum1:Cabecera>
<sum1:RegistroFactura>
<sum1:RegistroAlta>
<sum1:IDVersion>1.0</sum1:IDVersion>
<sum1:IDFactura>
<sum1:IDEmisorFactura>Mi nif</sum1:IDEmisorFactura>
<sum1:NumSerieFactura>VC1-24-100001</sum1:NumSerieFactura>
<sum1:FechaExpedicionFactura>19/10/2024</sum1:FechaExpedicionFactura>
</sum1:IDFactura>
<sum1:NombreRazonEmisor>Mi Taller</sum1:NombreRazonEmisor>
<sum1:TipoFactura>F2</sum1:TipoFactura>
<sum1:FechaOperacion>19-10-2024</sum1:FechaOperacion>
<sum1:DescripcionOperacion>Venta de materiales servidos cliente contado.</sum1:DescripcionOperacion>
<sum1:Desglose>
<sum1:DetalleDesglose>
<sum1:ClaveRegimen>01</sum1:ClaveRegimen>
<sum1:CalificacionOperacion>S1</sum1:CalificacionOperacion>
<sum1:TipoImpositivo>21.00</sum1:TipoImpositivo>
<sum1:BaseImponibleOimporteNoSujeto>133.45</sum1:BaseImponibleOimporteNoSujeto>
<sum1:CuotaRepercutida>28.02</sum1:CuotaRepercutida>
</sum1:DetalleDesglose>
</sum1:Desglose>
<sum1:CuotaTotal>28.02</sum1:CuotaTotal>
<sum1:ImporteTotal>161.47</sum1:ImporteTotal>
<sum1:Encadenamiento>
<sum1:PrimerRegistro>S</sum1:PrimerRegistro>
</sum1:Encadenamiento>
<sum1:SistemaInformatico>
<sum1:NombreRazon>yo mismo</sum1:NombreRazon>
<sum1:NIF>mi nif</sum1:NIF>
<sum1:NombreSistemaInformatico>Facturas Taller 2024</sum1:NombreSistemaInformatico>
<sum1:IdSistemaInformatico>A1</sum1:IdSistemaInformatico>
<sum1:Version>5.1.4.222</sum1:Version>
<sum1:NumeroInstalacion>001</sum1:NumeroInstalacion>
<sum1:TipoUsoPosibleSoloVerifactu>S</sum1:TipoUsoPosibleSoloVerifactu>
<sum1:TipoUsoPosibleMultiOT>N</sum1:TipoUsoPosibleMultiOT>
<sum1:IndicadorMultiplesOT>N</sum1:IndicadorMultiplesOT>
</sum1:SistemaInformatico>
<sum1:FechaHoraHusoGenRegistro>2024-10-19T13:04:40+02:00</sum1:FechaHoraHusoGenRegistro>
<sum1:TipoHuella>01</sum1:TipoHuella>
<sum1:Huella>F4C7FAA3D9FF0CF50DD50139224840BFC91A514878EFC34E193A7D6F6301B844</sum1:Huella>
</sum1:RegistroAlta>
</sum1:RegistroFactura>
</sum:RegFactuSistemaFacturacion>
</soapenv:Body>
</soapenv:Envelope>
|
|
#5
|
||||
|
||||
|
Etiquetas cierre
Cita:
Hola, una cosa las etiquetas de cierre no llevan referencia, no se la incluyas o al parsear te dara error. Código:
Esto , </sum1:FechaHoraHusoGenRegistro> Es asi: </FechaHoraHusoGenRegistro> |
|
#6
|
|||
|
|||
|
Diagrama de flujos control de envios
Creo que es buena idea que creemos un diagrama de flujos del control de envios/errores
Es un pelin lioso según el mensaje warning o error que devuelve |
|
#7
|
||||
|
||||
|
Cita:
Por mi perfecto, pero sinceramente, los unicos fallos que he tenido, an sido generados por las mismas pruebas, porque los que se refieren a la estructura del xml por ejemplo, o los valores en los campos numericos, etc... los has de tener controlados antes de rellenar los mismos. Por ejemplo si los campos numericos solopueden incluir 2 decimales y un unico punto decimal ".", hay que formatear la entarda del usuario o convertir los valores al respecto , par aevitar cualquier valor que infrinja la norma. Como ese otros, por ejemplo el de registro duplicado, si nos cercioramos de que se graba siempre despues de generado y actualizamos el contador, es dificil enviar un duplicado, como ese muchos. Los clientes verificar si estan censados los que usan dni, sino se asigna la casilla de no censado, que es un extranjero , usar el type adecuado... Los que me asustan mas son los fallos de conexion. Y realmente liarla parda con los abonos , rectificativas y todas esas cositas que nunca heusado ![]() ![]() |
|
#8
|
|||
|
|||
|
Cita:
¿Qué error te da al parsear? |
|
#9
|
|||
|
|||
|
Habría que preguntar a Verifactu cuanto tiempo Dan para cambiar la versión y esquema de envíos después de cada cambio para que no devuelvan error o
, dicho de otra forma, durante cuanto tiempo aceptaran las versiones anteriores después de una modificación, a ver si no nos podemos ir de vacaciones Última edición por ermendalenda fecha: 20-10-2024 a las 11:59:33. |
|
#10
|
|||
|
|||
|
Cita:
Oleeeee Gracias He enviado desde el programa curl.exe y va perfecto |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Hijo de Informáticos | gluglu | Humor | 3 | 13-03-2007 12:05:35 |
| Adictos informaticos ... | Trigger | Humor | 2 | 11-10-2004 13:18:32 |
| Nosotros los Informáticos | Trigger | Humor | 1 | 10-10-2004 15:58:09 |
| Patrón de los Informáticos. | obiwuan | Varios | 20 | 10-09-2003 15:44:54 |
| Chistes Informaticos | jhonny | Humor | 2 | 11-08-2003 22:59:09 |
|