![]() |
![]() |
| 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
|
|||
|
|||
|
Cita:
Agradecido por tu tiempo. Tomo nota de los prefijos/etiquetas que me indicas y voy a cambiarlo. Tal como entiendes estoy montando a PELO los xmls. He pasado una prueba con el xml que me aadjunta y aleluya HA FUNCIONADO e imagino que ha llegado a la AEAT por la respuesta que me indican de error. Te lo adjunto : <?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]. UNSUCCESSFUL EXECUTION CAUSED BY AN UNAVAILABLE RESOURCE. REASON 00C90081, TYPE OF RESOURCE 00000210, AND RESOURCE NAME DBTCCSOR.TSTCCSOR.00000001. SQLCODE=-904, SQLSTATE=57011, DRIVER=4.33.43 </faultstring> </env:Fault> </env:Body> </env:Envelope> Donde puedo averiguar lo que significan estos errores y los pasos a seguir. Gracias Rodrigo |
|
#2
|
|||
|
|||
|
Cita:
Pero con autoafirma.exe si puedes investigar, aunque tun pelin complicado y no se si se ajustará a los tiempos que necesitas para las generaciones. La otra opción es que compras alguna función api/dll para estas cosas, hay un par de ellas que son adaptables a casi cualquier software de desarrollo antiguo Última edición por ermendalenda fecha: 19-10-2024 a las 11:58:48. |
|
#3
|
|||
|
|||
|
Cita:
sURL is string = NoSpace(VERIFACTU_ENDPOINT) sResult is string = "" HTTPCertificate(sCertificadoSeleccionado) IF HTTPRequest(sURL,"","",sRequest) = False THEN Error("ERROR:"+CR+CR+ErrorInfo()) ELSE sResult = HTTPGetResult(httpResult) fSaveText(XTMP+"RESPUESTA ENVIO XML.TXT",sResult) Info("OK HTTPREQUEST",sUbicacion,"",sResult) END Como ves, indico cual es el ENDPOINT : VERIFACTU_ENDPOINT is string = "https://prewww1.aeat.es/wlpl/TIKE-CONT/ws/SistemaFacturacion/VerifactuSOAP" sNombre_del_endpoint_es is string = "SistemaVerifactuPruebas" adjunto el certificado a la peticion y realizo una peticion HTTPREQUEST a la url de hacienda y recibo la respuesta. Esta forma de realizar la peticion la tengo implementada en el SII desde hace años y actualmente esta funcionando perfectamente. Me reitero, gracias por dedicarme tu tiempo, ya que he adelantado mucho, ahora falta interpretar la respuesta de la AEAT Voy a ver el tema de la firma y el hash de la firma Rodrigo |
|
#4
|
||||
|
||||
|
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] |
|
#5
|
|||
|
|||
|
Cita:
Te sería muy complicado poner ecomo quedaria formado el xml empaquetado, buff ojalá. |
|
#6
|
||||
|
||||
|
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. |
|
#7
|
|||
|
|||
|
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>
|
|
#8
|
||||
|
||||
|
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> |
|
#9
|
|||
|
|||
|
Cita:
Oleeeee Gracias He enviado desde el programa curl.exe y va perfecto |
|
#10
|
||||
|
||||
|
Cita:
|
![]() |
| 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 |
|