![]() |
![]() |
| 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:
Bueno, el espacio de nombre xmlns está correctamente definido y aunque no es la forma más indicada para esta estructura de ficheros sí deberia funcionar si el resto del xml está correctamente estructurado y con sus espacios de nombres en cada nodo. Habría que revisar el xml xompleto, a ojo se puede más o menos revisar si lo pusieras completo. Nota: es mejor crear etiquetas/prefijos de los espacios de nombres para no tener que reescribir en cada nodo el espacio de nombres del xsd y referenciando con el prefijo ahorras espacio y mejoras la visibilidad del xml. |
|
#2
|
|||
|
|||
|
Cita:
Puedes ampliar un poco la informacion que comentas crear etiquetas/prefijos de los espacios de nombres ??? Podria adjuntar el xml completo, pero me sabe mal por el resto de componente del club Puedo hacertelo llegar por otro lado Gracias |
|
#3
|
|||
|
|||
|
Cita:
Te dejo una prueba de Factura simplificada (Creo que está a la última versión, no he podido comprobar si ha habido modificaciones, estoy un pelin liado estas ultimas semanas) Código PHP:
Si te fijas, en el segundo nodo se definen los prefijos/etiquetas para hacer referencia a los xsd y despues en cada nodo se pone simplemente la etiqueta que corresponda según el nodo, ya que cada nodo puede ser de un esquema(xsd) distinto, aqu'i defino 2 etiquetas "sum" y "sum1" Claro, esto en lenguajes actuales, practicamente no hay ni que saberlo, ya que se define todo muy automático, pero entiendo que estás escribiendo a pelo los xmls. Última edición por ermendalenda fecha: 19-10-2024 a las 10:14:58. |
|
#4
|
|||
|
|||
|
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 |
|
#5
|
|||
|
|||
|
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 10:58:48. |
|
#6
|
|||
|
|||
|
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 |
|
#7
|
||||
|
||||
|
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] |
|
#8
|
|||
|
|||
|
Cita:
Te sería muy complicado poner ecomo quedaria formado el xml empaquetado, buff ojalá. |
|
#9
|
||||
|
||||
|
Cita:
|
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Hijo de Informáticos | gluglu | Humor | 3 | 13-03-2007 11:05:35 |
| Adictos informaticos ... | Trigger | Humor | 2 | 11-10-2004 12:18:32 |
| Nosotros los Informáticos | Trigger | Humor | 1 | 10-10-2004 14:58:09 |
| Patrón de los Informáticos. | obiwuan | Varios | 20 | 10-09-2003 14:44:54 |
| Chistes Informaticos | jhonny | Humor | 2 | 11-08-2003 21:59:09 |
|