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

Tema Cerrado
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-10-2024
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.761
Poder: 7
ermendalenda Va por buen camino
Cita:
Empezado por [email protected] Ver Mensaje
Antes de nada, GRACIAS a todos los que me han dedicado algo de su tiempo en aclarar las dudas/problemas

El problema lo tenia en el formato y la referencia de los nodos, pensaba que al defirnir la url al principio servia para todo el XML., pero veo que hay que definirlas en cada grupo

He llegado hasta el ultimo campo : HUELLA donde me indica VALOR O TIPO INCORRECTO DE CAMPO. El formato y valores del mismo es :

<Huella xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">8C4F00D6E814A06990BDA2F30CA26CE3
9D8C043767CFA0BD293436238793067A</Huella>

Yo creo que esta bien formado, pero me da error.

Si teneis un hueco y podeis mirarlo y decirme donde esta el problma, os lo agradecere

Un saludo

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  
Antiguo 18-10-2024
[email protected] frrr@grupo3rs.c is offline
Miembro
 
Registrado: mar 2024
Posts: 116
Poder: 3
frrr@grupo3rs.c Va por buen camino
Cita:
Empezado por ermendalenda Ver Mensaje
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.

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  
Antiguo 19-10-2024
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.761
Poder: 7
ermendalenda Va por buen camino
Cita:
Empezado por [email protected] Ver Mensaje
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
Hola
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:
<?xml version="1.0" encoding="UTF-8"?>
<sum:RegFactuSistemaFacturacion 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">
<sum1:Cabecera>
<sum1:ObligadoEmision>
<sum1:NombreRazon>PRUEBAS CIF AEAT</sum1:NombreRazon>
<sum1:NIF>Q2826000H</sum1:NIF>
</sum1:ObligadoEmision>
</sum1:Cabecera>
<sum:RegistroFactura><sum:RegistroAlta><sum1:IDVersion>1.0</sum1:IDVersion><sum1:IDFactura><sum1:IDEmisorFactura>Q2826000H</sum1:IDEmisorFactura><sum1:NumSerieFactura>2-25.1.1</sum1:NumSerieFactura><sum1:FechaExpedicionFactura>19-10-2024</sum1:FechaExpedicionFactura></sum1:IDFactura><sum1:NombreRazonEmisor>PRUEBAS CIF AEAT</sum1:NombreRazonEmisor><sum1:TipoFactura>F2</sum1:TipoFactura><sum1:DescripcionOperacion>Factura Simplificada</sum1:DescripcionOperacion><sum1:Desglose><sum1:DetalleDesglose><sum1:ClaveRegimen>01</sum1:ClaveRegimen><sum1:CalificacionOperacion>N1</sum1:CalificacionOperacion><sum1:OperacionExenta>E6</sum1:OperacionExenta><sum1:BaseImponibleOimporteNoSujeto>0.95</sum1:BaseImponibleOimporteNoSujeto></sum1:DetalleDesglose><sum1:DetalleDesglose><sum1:ClaveRegimen>01</sum1:ClaveRegimen><sum1:CalificacionOperacion>S1</sum1:CalificacionOperacion><sum1:TipoImpositivo>10.00</sum1:TipoImpositivo><sum1:BaseImponibleOimporteNoSujeto>7.27</sum1:BaseImponibleOimporteNoSujeto><sum1:CuotaRepercutida>0.73</sum1:CuotaRepercutida></sum1:DetalleDesglose></sum1:Desglose><sum1:CuotaTotal>0.73</sum1:CuotaTotal><sum1:ImporteTotal>8.95</sum1:ImporteTotal><sum1:Encadenamiento><sum1:RegistroAnterior><sum1:IDEmisorFactura>Q2826000H</sum1:IDEmisorFactura><sum1:NumSerieFactura>1-25.1.1</sum1:NumSerieFactura><sum1:FechaExpedicionFactura>19-10-2024</sum1:FechaExpedicionFactura><sum1:Huella>C0E0A0F622EFF0A77A41E47C13972AEAB8E05A85E81D6B873942238A1A670BC5</sum1:Huella></sum1:RegistroAnterior></sum1:Encadenamiento><sum1:SistemaInformatico><sum1:NombreRazon>SOFTWARE GARANTE PRUEBAS</sum1:NombreRazon><sum1:NIF>A99800005</sum1:NIF><sum1:NombreSistemaInformatico>VERIFACTU0000PRUEBA</sum1:NombreSistemaInformatico><sum1:IdSistemaInformatico>01</sum1:IdSistemaInformatico><sum1:Version>1.0.03</sum1:Version><sum1:NumeroInstalacion>Q2826000H NCentro:25 NTPV:1</sum1:NumeroInstalacion><sum1:TipoUsoPosibleSoloVerifactu>S</sum1:TipoUsoPosibleSoloVerifactu><sum1:TipoUsoPosibleMultiOT>N</sum1:TipoUsoPosibleMultiOT></sum1:SistemaInformatico><sum1:FechaHoraHusoGenRegistro>2024-10-19T10:01:06+02:00</sum1:FechaHoraHusoGenRegistro><sum1:TipoHuella>01</sum1:TipoHuella>
<sum1:Huella>DCEC3A26371CC7CC5E804E0AA066E77CB5CCD5ABFD45A8BB9810B6E88CD8BB03</sum1:Huella>
</sum:RegistroAlta>
</sum:RegistroFactura>
</sum:RegFactuSistemaFacturacion>
Perdona no haberte tabulado el xml, copialo a un notas y le metes los intros despues de cada cierre de nodo ">" para verlo mejor.
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  
Antiguo 19-10-2024
[email protected] frrr@grupo3rs.c is offline
Miembro
 
Registrado: mar 2024
Posts: 116
Poder: 3
frrr@grupo3rs.c Va por buen camino
Cita:
Empezado por ermendalenda Ver Mensaje
Hola
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:
<?xml version="1.0" encoding="UTF-8"?>
<sum:RegFactuSistemaFacturacion 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">
<sum1:Cabecera>
<sum1:ObligadoEmision>
<sum1:NombreRazon>PRUEBAS CIF AEAT</sum1:NombreRazon>
<sum1:NIF>Q2826000H</sum1:NIF>
</sum1:ObligadoEmision>
</sum1:Cabecera>
<sum:RegistroFactura><sum:RegistroAlta><sum1:IDVersion>1.0</sum1:IDVersion><sum1:IDFactura><sum1:IDEmisorFactura>Q2826000H</sum1:IDEmisorFactura><sum1:NumSerieFactura>2-25.1.1</sum1:NumSerieFactura><sum1:FechaExpedicionFactura>19-10-2024</sum1:FechaExpedicionFactura></sum1:IDFactura><sum1:NombreRazonEmisor>PRUEBAS CIF AEAT</sum1:NombreRazonEmisor><sum1:TipoFactura>F2</sum1:TipoFactura><sum1:DescripcionOperacion>Factura Simplificada</sum1:DescripcionOperacion><sum1:Desglose><sum1:DetalleDesglose><sum1:ClaveRegimen>01</sum1:ClaveRegimen><sum1:CalificacionOperacion>N1</sum1:CalificacionOperacion><sum1:OperacionExenta>E6</sum1:OperacionExenta><sum1:BaseImponibleOimporteNoSujeto>0.95</sum1:BaseImponibleOimporteNoSujeto></sum1:DetalleDesglose><sum1:DetalleDesglose><sum1:ClaveRegimen>01</sum1:ClaveRegimen><sum1:CalificacionOperacion>S1</sum1:CalificacionOperacion><sum1:TipoImpositivo>10.00</sum1:TipoImpositivo><sum1:BaseImponibleOimporteNoSujeto>7.27</sum1:BaseImponibleOimporteNoSujeto><sum1:CuotaRepercutida>0.73</sum1:CuotaRepercutida></sum1:DetalleDesglose></sum1:Desglose><sum1:CuotaTotal>0.73</sum1:CuotaTotal><sum1:ImporteTotal>8.95</sum1:ImporteTotal><sum1:Encadenamiento><sum1:RegistroAnterior><sum1:IDEmisorFactura>Q2826000H</sum1:IDEmisorFactura><sum1:NumSerieFactura>1-25.1.1</sum1:NumSerieFactura><sum1:FechaExpedicionFactura>19-10-2024</sum1:FechaExpedicionFactura><sum1:Huella>C0E0A0F622EFF0A77A41E47C13972AEAB8E05A85E81D6B873942238A1A670BC5</sum1:Huella></sum1:RegistroAnterior></sum1:Encadenamiento><sum1:SistemaInformatico><sum1:NombreRazon>SOFTWARE GARANTE PRUEBAS</sum1:NombreRazon><sum1:NIF>A99800005</sum1:NIF><sum1:NombreSistemaInformatico>VERIFACTU0000PRUEBA</sum1:NombreSistemaInformatico><sum1:IdSistemaInformatico>01</sum1:IdSistemaInformatico><sum1:Version>1.0.03</sum1:Version><sum1:NumeroInstalacion>Q2826000H NCentro:25 NTPV:1</sum1:NumeroInstalacion><sum1:TipoUsoPosibleSoloVerifactu>S</sum1:TipoUsoPosibleSoloVerifactu><sum1:TipoUsoPosibleMultiOT>N</sum1:TipoUsoPosibleMultiOT></sum1:SistemaInformatico><sum1:FechaHoraHusoGenRegistro>2024-10-19T10:01:06+02:00</sum1:FechaHoraHusoGenRegistro><sum1:TipoHuella>01</sum1:TipoHuella>
<sum1:Huella>DCEC3A26371CC7CC5E804E0AA066E77CB5CCD5ABFD45A8BB9810B6E88CD8BB03</sum1:Huella>
</sum:RegistroAlta>
</sum:RegistroFactura>
</sum:RegFactuSistemaFacturacion>
Perdona no haberte tabulado el xml, copialo a un notas y le metes los intros despues de cada cierre de nodo ">" para verlo mejor.
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.

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  
Antiguo 19-10-2024
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.761
Poder: 7
ermendalenda Va por buen camino
Cita:
Empezado por [email protected] Ver Mensaje
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
Ni idea, aun no me he metido con los envíos, los compañeros seguro que te ayudan. Pero tienes que hener en cuenta que el xml no se manda tal cual. Tienes que empaquetarlo como soap, en eso no te puedo ayudar,.por que a pelo un soap es complicado (praxticamente i posible si nl conoces en profundidad coml funcionan las funciones de firmas etc), hay que firmados con hash etc.
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  
Antiguo 19-10-2024
[email protected] frrr@grupo3rs.c is offline
Miembro
 
Registrado: mar 2024
Posts: 116
Poder: 3
frrr@grupo3rs.c Va por buen camino
Cita:
Empezado por ermendalenda Ver Mensaje
Ni idea, aun no me he metido con los envíos, los compañeros seguro que te ayudan. Pero tienes que hener en cuenta que el xml no se manda tal cual. Tienes que empaquetarlo como soap, en eso no te puedo ayudar,.por que a pelo un soap es complicado, hay que firmados con hash etc.
Yo estoy programando en WINDEV, y la parte del envio creo que la tengo clara, te comento como lo hago:

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  
Antiguo 19-10-2024
Avatar de bmfranky
bmfranky bmfranky is offline
Miembro
 
Registrado: may 2024
Ubicación: Gandia, Valencia
Posts: 863
Poder: 3
bmfranky Va por buen camino
Enviar a pelo xml en c#

Cita:
Empezado por ermendalenda Ver Mensaje
Ni idea, aun no me he metido con los envíos, los compañeros seguro que te ayudan. Pero tienes que hener en cuenta que el xml no se manda tal cual. Tienes que empaquetarlo como soap, en eso no te puedo ayudar,.por que a pelo un soap es complicado (praxticamente i posible si nl conoces en profundidad coml funcionan las funciones de firmas etc), hay que firmados con hash etc.
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
La verdad es que opinaba lo mismo que tu de enviar el codigo , pero realmente con el xml formado simplemengte hay que añadir las cabecerass y ending soap y enviar por https, y lo acepta sin mas.
Cita:
//facxml es un string que contiene el xml añadimos cabecera

facXml = facXml.Replace("<?xml version=\"1.0\" encoding=\"utf-16\"?>", "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\"> <soapenv:Header /> <soapenv:Body >");
//en mi caso me generaba mal esta etiqueta

facXml = facXml.Replace("<RegFactuSistemaFacturacion xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">", "<RegFactuSistemaFacturacion xmlns=\"https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd\">");
//añadimos el ending soap.
facXml = facXml + " </soapenv:Body> </soapenv:Envelope > ";
//lo pasamos a un document para poder realizar la llamada

XmlDocument doc = new XmlDocument();
doc.LoadXml(facXml.Replace("utf-16", "utf-8"));
//llamamos a la funcion que hace la consula soap

string ret = Call("https://prewww1.aeat.es/wlpl/TIKE-CONT/ws/SistemaFacturacion/VerifactuSOAP", "RegistroAlta", doc);
Aqui os dejo la funcion que realiza la consulta a la AEAT, por si a alguienle sirve , segun esta formada necesita que se creen unavarialble que contenga el certificado y otra con la clave del mismo.
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  
Antiguo 19-10-2024
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.761
Poder: 7
ermendalenda Va por buen camino
Cita:
Empezado por bmfranky Ver Mensaje
La verdad es que opinaba lo mismo que tu de enviar el codigo , pero realmente con el xml formado simplemengte hay que añadir las cabecerass y ending soap y enviar por https, y lo acepta sin mas.
Aqui os dejo la funcion que realiza la consulta a la AEAT, por si a alguienle sirve , segun esta formada necesita que se creen unavarialble que contenga el certificado y otra con la clave del mismo.
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]
Wow
Te sería muy complicado poner ecomo quedaria formado el xml empaquetado, buff ojalá.
  #9  
Antiguo 19-10-2024
Avatar de bmfranky
bmfranky bmfranky is offline
Miembro
 
Registrado: may 2024
Ubicación: Gandia, Valencia
Posts: 863
Poder: 3
bmfranky Va por buen camino
Cita:
Empezado por [email protected] Ver Mensaje
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
Hola, buenos dias, no se que codigo usas para realizar el envio, pero la respuesta indica error al accesar algun registro necesario en la mase de datos, al realizar el empaquetado para el envio.
Tema Cerrado


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
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


La franja horaria es GMT +2. Ahora son las 21:57:57.


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