Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   Ley antifraude 2021 (VERIFACTU) - Programas informáticos (https://www.clubdelphi.com/foros/showthread.php?t=95235)

bmfranky 01-10-2024 21:12:58

Certificado Representante
 
Hola, alguien ha provado / conseguido enviar los registros, con un certificado de representante ?
es que ya no se si sera ese el problema.

sglorka 01-10-2024 21:14:02

Cita:

Empezado por bmfranky (Mensaje 557692)
Estoy usando el servicio generado desde el xsd.


Código:

  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ServiceModel.ServiceContractAttribute(Namespace="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicacion" +
        "es/es/aeat/tike/cont/ws/SistemaFacturacion.wsdl", ConfigurationName="ServicioVerifactu.sfPortTypeVerifactu")]
    public interface sfPortTypeVerifactu {
       
        // CODEGEN: Se está generando un contrato de mensaje, ya que la operación RegFactuSistemaFacturacion no es RPC ni está encapsulada en un documento.
        [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
        [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(RespuestaBaseType))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(SistemaFacturacionFact))]
        Taller2024.ServicioVerifactu.RegFactuSistemaFacturacionResponse RegFactuSistemaFacturacion(Taller2024.ServicioVerifactu.RegFactuSistemaFacturacionRequest request); <-- ahora me salta el error aqui
       
        [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
        System.Threading.Tasks.Task<Taller2024.ServicioVerifactu.RegFactuSistemaFacturacionResponse> RegFactuSistemaFacturacionAsync(Taller2024.ServicioVerifactu.RegFactuSistemaFacturacionRequest request);
    }


Si sabeis decirme como o donde configurar lo , agradeceria cualquier tipo de ayuda.

Prueba lo que te comenté.
Antes de iniciar el proceso de comunicación, debes activar un canal seguro con la Aeat. Ese canal seguro se activa ejecutando la instrucción

System.Net.ServicePointManager.SecurityProtocol = Tls12,
donde Tls12 es una constante que la creas como te indiqué antes.
Con esto, cualquier comunicación que realices se hará sobre un canal seguro

bmfranky 01-10-2024 22:28:24

Cita:

Empezado por sglorka (Mensaje 557698)
Prueba lo que te comenté.
Antes de iniciar el proceso de comunicación, debes activar un canal seguro con la Aeat. Ese canal seguro se activa ejecutando la instrucción

System.Net.ServicePointManager.SecurityProtocol = Tls12,
donde Tls12 es una constante que la creas como te indiqué antes.
Con esto, cualquier comunicación que realices se hará sobre un canal seguro

Hola, muchísimas gracias lo acabo de probar , ya conecta, pero ahora me da este error.


Cita:

Excepción no controlada del tipo 'System.ServiceModel.ProtocolException' en mscorlib.dll

Información adicional: El tipo de contenido text/html del mensaje de respuesta no coincide con el tipo de contenido del enlace (text/xml; charset=utf-8). Si usa un codificador personalizado, asegúrese de que el método IsContentTypeSupported se implemente correctamente. Los primeros 1024 bytes de la respuesta fueron: '<!DOCTYPE html>

<html lang="es">

<head>

<meta name="site" content="Sede"/>

<link href="/static_files/common/css/aeat.07.css" rel="stylesheet" type="text/css">

<meta title="AEATviewport" content="width=device-width, initial-scale=1.0" name="viewport">

<title>Agencia Tributaria: 403</title><meta name="ObjectId" content="84837bde849c7710VgnVCM100000dc381e0aRCRD"/><meta name="keyword" content="erro4033"/>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<meta name="detalle" content="errores"/>

</head>

<body>

<div id="body" data-template-id="cc1c55b3cac46710VgnVCM100000dc381e0aRCRD" class="s_Sede p_estandar t_informacion">



<header id="AEAT_header" class="header_aeat d-print-none d-app-none" >

<!-- CABECERA -->

<!--googleoff: index-->

<a class="focus-only" href="#acc-main">Saltar al contenido principal</a>

<div class="header-sup_aeat w-100">

<div class="container">

<div class="row">

<!-- CABECERA IZQUIERDA-->

<div id="topIzquie'.

richidemola 01-10-2024 22:45:00

Cita:

Empezado por unomasmas (Mensaje 557687)
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" xmlns:xd="http://www.w3.org/2000/09/xmldsig#">
  <soapenv:Header/>
  <soapenv:Body>
<sum:RegFactuSistemaFacturacion>
  <sum1:Cabecera>
      <sum1:ObligadoEmision>
        <sum1:NombreRazon><![CDATA[NOMBRE EMISOR]]></sum1:NombreRazon>
        <sum1:NIF>CIF EMISOR</sum1:NIF>
      </sum1:ObligadoEmision>
      <sum1:RemisionVoluntaria>
        <sum1:Incidencia>N</sum1:Incidencia>
      </sum1:RemisionVoluntaria>
  </sum1:Cabecera>
  <sum:RegistroFactura>
      <sum:RegistroAlta>
        <sum1:IDVersion>1.0</sum1:IDVersion>
        <sum1:IDFactura>
            <sum1:IDEmisorFactura>CIF EMISOR</sum1:IDEmisorFactura>
            <sum1:NumSerieFactura>SERIE-02</sum1:NumSerieFactura>
            <sum1:FechaExpedicionFactura>01-10-2024</sum1:FechaExpedicionFactura>
        </sum1:IDFactura>
        <sum1:NombreRazonEmisor><![CDATA[NOMBRE EMISOR]]></sum1:NombreRazonEmisor>
        <sum1:Subsanacion><![CDATA[N]]></sum1:Subsanacion>
        <sum1:RechazoPrevio><![CDATA[N]]></sum1:RechazoPrevio>
        <sum1:TipoFactura>F1</sum1:TipoFactura>
        <sum1:FechaOperacion>02-02-2024</sum1:FechaOperacion>
        <sum1:DescripcionOperacion><![CDATA[1]]></sum1:DescripcionOperacion>
        <sum1:Destinatarios>
            <sum1:IDDestinatario>
              <sum1:NombreRazon>NOMBRE DESTINATARIO</sum1:NombreRazon>
              <sum1:NIF>CIF DESTINATARIO</sum1:NIF>
            </sum1:IDDestinatario>
        </sum1:Destinatarios>
        <sum1:Desglose>
            <sum1:DetalleDesglose>
              <sum1:Impuesto>01</sum1:Impuesto>
              <sum1:ClaveRegimen>01</sum1:ClaveRegimen>
              <sum1:CalificacionOperacion>N1</sum1:CalificacionOperacion>
              <sum1:BaseImponibleOimporteNoSujeto>400.00</sum1:BaseImponibleOimporteNoSujeto>
            </sum1:DetalleDesglose>
            <sum1:DetalleDesglose>
              <sum1:Impuesto>01</sum1:Impuesto>
              <sum1:ClaveRegimen>01</sum1:ClaveRegimen>
              <sum1:CalificacionOperacion>N2</sum1:CalificacionOperacion>
              <sum1:BaseImponibleOimporteNoSujeto>300.00</sum1:BaseImponibleOimporteNoSujeto>
            </sum1:DetalleDesglose>
            <sum1:DetalleDesglose>
              <sum1:Impuesto>01</sum1:Impuesto>
              <sum1:ClaveRegimen>01</sum1:ClaveRegimen>
              <sum1:CalificacionOperacion>S1</sum1:CalificacionOperacion>
              <sum1:TipoImpositivo>21.00</sum1:TipoImpositivo>
              <sum1:BaseImponibleOimporteNoSujeto>100.00</sum1:BaseImponibleOimporteNoSujeto>
              <sum1:CuotaRepercutida>21.00</sum1:CuotaRepercutida>
              <sum1:TipoRecargoEquivalencia></sum1:TipoRecargoEquivalencia>
              <sum1:CuotaRecargoEquivalencia>0.00</sum1:CuotaRecargoEquivalencia>
            </sum1:DetalleDesglose>
            <sum1:DetalleDesglose>
              <sum1:Impuesto>01</sum1:Impuesto>
              <sum1:ClaveRegimen>01</sum1:ClaveRegimen>
              <sum1:CalificacionOperacion>S2</sum1:CalificacionOperacion>
              <sum1:TipoImpositivo>0.00</sum1:TipoImpositivo>
              <sum1:BaseImponibleOimporteNoSujeto>200.00</sum1:BaseImponibleOimporteNoSujeto>
              <sum1:CuotaRepercutida>0.00</sum1:CuotaRepercutida>
              <sum1:TipoRecargoEquivalencia>0.00</sum1:TipoRecargoEquivalencia>
              <sum1:CuotaRecargoEquivalencia>0.00</sum1:CuotaRecargoEquivalencia>
            </sum1:DetalleDesglose>
            <sum1:DetalleDesglose>
              <sum1:Impuesto>01</sum1:Impuesto>
              <sum1:ClaveRegimen>01</sum1:ClaveRegimen>
              <sum1:OperacionExenta>E1</sum1:OperacionExenta>
              <sum1:BaseImponibleOimporteNoSujeto>500.00</sum1:BaseImponibleOimporteNoSujeto>
            </sum1:DetalleDesglose>
        </sum1:Desglose>
        <sum1:CuotaTotal>21.00</sum1:CuotaTotal>
        <sum1:ImporteTotal>1521.00</sum1:ImporteTotal>
        <sum1:Encadenamiento>
            <sum1:RegistroAnterior>
              <sum1:IDEmisorFactura>CIF EMISOR</sum1:IDEmisorFactura>
              <sum1:NumSerieFactura>60</sum1:NumSerieFactura>
              <sum1:FechaExpedicionFactura>02-02-2024</sum1:FechaExpedicionFactura>
              <sum1:Huella>glLvV5cDbpf6SMTdBwqZx7Gedp4UJWYJLh3it23nnN+tXYCaxE0DIe0ZLHfJ6GZ7</sum1:Huella>
            </sum1:RegistroAnterior>
        </sum1:Encadenamiento>
        <sum1:SistemaInformatico>
            <sum1:NombreRazon><![CDATA[XXXXXXXXXXXXXXXXXXXXX]]></sum1:NombreRazon>
            <sum1:NIF>XXXXXXXXXXXX</sum1:NIF>
            <sum1:NombreSistemaInformatico>XXXXXXXXXXXX</sum1:NombreSistemaInformatico>
            <sum1:IdSistemaInformatico>XXXXXXXX</sum1:IdSistemaInformatico>
            <sum1:Version>2024.15</sum1:Version>
            <sum1:NumeroInstalacion><![CDATA[2024.15]]></sum1:NumeroInstalacion>
            <sum1:TipoUsoPosibleSoloVerifactu>S</sum1:TipoUsoPosibleSoloVerifactu>
            <sum1:TipoUsoPosibleMultiOT>N</sum1:TipoUsoPosibleMultiOT>
            <sum1:IndicadorMultiplesOT>N</sum1:IndicadorMultiplesOT>
        </sum1:SistemaInformatico>
        <sum1:FechaHoraHusoGenRegistro>2024-10-01T18:20:04+01:00</sum1:FechaHoraHusoGenRegistro>
        <sum1:NumRegistroAcuerdoFacturacion></sum1:NumRegistroAcuerdoFacturacion>
        <sum1:IdAcuerdoSistemaInformatico></sum1:IdAcuerdoSistemaInformatico>
        <sum1:TipoHuella>01</sum1:TipoHuella>
        <sum1:Huella>0A2644C9E5A755BB654B68AF3DB670D17E1FBE5E54A98567A1AB619A67F49AF1</sum1:Huella>
        <xd:Signature></xd:Signature>
      </sum:RegistroAlta>
  </sum:RegistroFactura>
</sum:RegFactuSistemaFacturacion>
  </soapenv:Body>
</soapenv:Envelope>

Este ha entrado (bueno, he cambiado algún que otro dato para anonimizarlo). Me da problemas con la etiqueta FechaHoraHusoGenRegistro

Código:

        <tikR:RespuestaLinea>
            <tikR:IDFactura>
              <tik:IDEmisorFactura>XXXXXXXXXXXX</tik:IDEmisorFactura>
              <tik:NumSerieFactura>SERIE-02</tik:NumSerieFactura>
              <tik:FechaExpedicionFactura>01-10-2024</tik:FechaExpedicionFactura>
            </tikR:IDFactura>
            <tikR:EstadoRegistro>AceptadoConErrores</tikR:EstadoRegistro>
            <tikR:CodigoErrorRegistro>2004</tikR:CodigoErrorRegistro>
            <tikR:DescripcionErrorRegistro>El valor del campo FechaHoraHusoGenRegistro no está dentro del umbral establecido sobre la fecha del sistema de la AEAT.</tikR:DescripcionErrorRegistro>
        </tikR:RespuestaLinea>


Te ha pasado lo que a mi, has puesto +01:00 y es +02:00

sglorka 01-10-2024 22:54:25

Cita:

Empezado por bmfranky (Mensaje 557702)
Hola, muchísimas gracias lo acabo de probar , ya conecta, pero ahora me da este error.

Esto se puede deber a varias cosas que tendrás que ir descartando.
1- Certificado no operativo para interactuar con la Aeat
2.- Contraseña incorrecta del certificado
3.- Nif del emisor en la cabecera no registrado en la Aeat

delphiGar 01-10-2024 23:25:41

Cita:

Empezado por bmfranky (Mensaje 557697)
Hola, alguien ha provado / conseguido enviar los registros, con un certificado de representante ?
es que ya no se si sera ese el problema.

Yo lo estoy haciendo con el certificado de representante de mi empresa y va bien.

delphiGar 01-10-2024 23:28:21

Cita:

Empezado por espinete (Mensaje 557661)
Con el .pas generado al importar el WSDL como SOAP 1.2, solo tuve que añadir esta línea al .pas (gracias a pablog2k)

InvRegistry.RegisterInvokeOptions(TypeInfo(sfPortTypeVerifactu), ioLiteral);

La añadí justo después de la que viene por defecto:

InvRegistry.RegisterInvokeOptions(TypeInfo(sfPortTypeVerifactu), ioDocument);

Después de ese cambio, me daba otro error indicando que faltaba el campo "IDDestinatario", pero ese campo sí que estaba.
Lo que pasa es que en mi IDDestinatario había añadido el subnodo "IDOtro". Lo quité y ya pude hacer el envío.

Ahora bien, el envío me devuelve "Incorrecto", así que ahora tendré que ir poco a poco buscando los motivos, pero al menos el error anterior ya no me da. Supongo que ahora tendré que buscar en la respuesta (RespuestaBaseType) las causas de error que devuelve la AEAT.


Muchas gracias por compartir el arreglo que le habeis hecho al fichero generado con el Import WDSL.

delphiGar 01-10-2024 23:32:14

Cita:

Empezado por seccion_31 (Mensaje 557655)
Si, tiene pinta de eso, pero creo que ayer envie un XML sin el nodo repetido y seguia diciendo lo mismo. ... (creo), en mi opinion, o estan mal importados los WSDL, mal creados, o delphi no los puede importar bien.

Probare mañana a enviar XMLS manuales, copiando algunos de los que han remitido por aqui.

Saludos!

Buenas seccion_31, haz el cambio este en el fichero generado de SOAP, es de Espinete y plabo2k

Añade esta linea:

Código:

InvRegistry.RegisterInvokeOptions(TypeInfo(sfPortTypeVerifactu), ioLiteral);
debajo de esta:

Código:

InvRegistry.RegisterInvokeOptions(TypeInfo(sfPortTypeVerifactu), ioDocument);  // fijate que pone ioDocument y no ioSOAP12

Con esto funciona correctamente, a mi ya me deja enviar sin problema.

delphiGar 01-10-2024 23:40:02

Cita:

Empezado por ermendalenda (Mensaje 557673)
No sé si lo ha subido alguien.

Te dejo un link de una de las facturas subidas

Código:

https://prewww2.aeat.es/wlpl/TIKE-CONT/ValidarQR?nif=B04430534&numserie=A00000003&fecha=01-10-2024&importe=50.00

bmfranky 01-10-2024 23:43:48

Cita:

Empezado por sglorka (Mensaje 557705)
Esto se puede deber a varias cosas que tendrás que ir descartando.
1- Certificado no operativo para interactuar con la Aeat
2.- Contraseña incorrecta del certificado
3.- Nif del emisor en la cabecera no registrado en la Aeat

Hola, gracias por responder, de primeras tengo que solucionar que me esta serial izando el html en utf-16 y no utf-8, lo he cambiado a pelo en el string y se lo traga,pero como no esta codificado como soap, pues falla.

bmfranky 02-10-2024 00:07:29

Añadiendo al xml las cabeceras soap a pelo, meresponde esto.
Código PHP:

<?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"><env:Body><env:Fault><faultcode>env:Client</faultcode><faultstring>Codigo[4118].Error técnico: la dirección no se corresponde con el fichero de entrada.</faultstring><detail><callstack>Error técnico: la dirección no se corresponde con el fichero de entrada.
WSExcepcion [faultcode=null, detailMap=null, version=0, faultstring=null, faultactor=null, faultSubCode=null, reasonText=null, detail=null, nameSpaceUriDetail=null]
    at es.aeat.tike.cont.ws.xml.fe.ParserXmlCabeceraFacturasEmitidas.validaMarcaOperacionEntrada(ParserXmlCabeceraFacturasEmitidas.java:50)
    at es.aeat.tike.cont.ws.xml.comun.ParserXmlCabecera.parsear(ParserXmlCabecera.java:46)
    at es.aeat.tike.cont.ws.fe.VistaSF.parseaCabecera(VistaSF.java:65)
    at es.aeat.tike.cont.ws.VistaMaestro.inicializaParseaValidaProcesaCabecera(VistaMaestro.java:54)
    at es.aeat.tike.cont.ws.fe.VerifactuSOAP.doPost(VerifactuSOAP.java:49)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:706)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:791)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1266)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:754)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:451)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:197)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:100)
    at es.aeat.adws.jdit.imp.ws.WSFilterSrvImpl.doFilter(WSFilterSrvImpl.java:248)
    at es.aeat.adws.jdit.api.ws.WSFilter.doFilter(WSFilter.java:24)
    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:203)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:93)
    at es.aeat.adht.jdit.imp.infra.JDitFilterSrvImpl.filtroIni(JDitFilterSrvImpl.java:288)
    at es.aeat.adht.jdit.imp.infra.JDitFilterSrvImpl.doFilter(JDitFilterSrvImpl.java:101)
    at es.aeat.adht.jdit.imp.infra.JDitFilterSrvImpl.doFilter(JDitFilterSrvImpl.java:74)
    at es.aeat.adht.jdit.api.filter.JDitFilter.doFilter(JDitFilter.java:24)
    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:203)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:93)
    at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:1069)
    at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1260)
    at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1078)
    at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:77)
    at com.ibm.ws.webcontainer40.servlet.CacheServletWrapper40.handleRequest(CacheServletWrapper40.java:87)
    at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:978)
    at com.ibm.ws.webcontainer.osgi.DynamicVirtualHost$2.run(DynamicVirtualHost.java:293)
    at com.ibm.ws.http.dispatcher.internal.channel.HttpDispatcherLink$TaskWrapper.run(HttpDispatcherLink.java:1260)
    at com.ibm.ws.http.dispatcher.internal.channel.HttpDispatcherLink.wrapHandlerAndExecute(HttpDispatcherLink.java:476)
    at com.ibm.ws.http.dispatcher.internal.channel.HttpDispatcherLink.ready(HttpDispatcherLink.java:435)
    at com.ibm.ws.http.channel.internal.inbound.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:569)
    at com.ibm.ws.http.channel.internal.inbound.HttpInboundLink.handleNewRequest(HttpInboundLink.java:503)
    at com.ibm.ws.http.channel.internal.inbound.HttpInboundLink.processRequest(HttpInboundLink.java:363)
    at com.ibm.ws.http.channel.internal.inbound.HttpInboundLink.ready(HttpInboundLink.java:330)
    at com.ibm.ws.tcpchannel.internal.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:169)
    at com.ibm.ws.tcpchannel.internal.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:77)
    at com.ibm.ws.tcpchannel.internal.WorkQueueManager.requestComplete(WorkQueueManager.java:516)
    at com.ibm.ws.tcpchannel.internal.WorkQueueManager.attemptIO(WorkQueueManager.java:586)
    at com.ibm.ws.tcpchannel.internal.WorkQueueManager.workerRun(WorkQueueManager.java:970)
    at com.ibm.ws.tcpchannel.internal.WorkQueueManager$Worker.run(WorkQueueManager.java:1059)
    at com.ibm.ws.threading.internal.ExecutorServiceImpl$RunnableWrapper.run(ExecutorServiceImpl.java:280)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.base/java.lang.Thread.run(Unknown Source)
</callstack></detail></env:Fault></env:Body></env:Envelope>


bmfranky 02-10-2024 01:21:58

Cita:

Empezado por espinete (Mensaje 557664)
ChatGPT me hizo un favor:

XSDatetime.FractionalSeconds := 0;

Con eso se elimina el .000 de la fecha/hora

Hola, me podeis decir donde colocais esto??

delphiGar 02-10-2024 07:54:15

Cita:

Empezado por bmfranky (Mensaje 557712)
Añadiendo al xml las cabeceras soap a pelo, meresponde esto.
Código PHP:

<?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"><env:Body><env:Fault><faultcode>env:Client</faultcode><faultstring>Codigo[4118].Error técnico: la dirección no se corresponde con el fichero de entrada.</faultstring><detail><callstack>Error técnico: la dirección no se corresponde con el fichero de entrada.
WSExcepcion [faultcode=null, detailMap=null, version=0, faultstring=null, faultactor=null, faultSubCode=null, reasonText=null, detail=null, nameSpaceUriDetail=null]
    at es.aeat.tike.cont.ws.xml.fe.ParserXmlCabeceraFacturasEmitidas.validaMarcaOperacionEntrada(ParserXmlCabeceraFacturasEmitidas.java:50)
    at es.aeat.tike.cont.ws.xml.comun.ParserXmlCabecera.parsear(ParserXmlCabecera.java:46)
    at es.aeat.tike.cont.ws.fe.VistaSF.parseaCabecera(VistaSF.java:65)
    at es.aeat.tike.cont.ws.VistaMaestro.inicializaParseaValidaProcesaCabecera(VistaMaestro.java:54)
    at es.aeat.tike.cont.ws.fe.VerifactuSOAP.doPost(VerifactuSOAP.java:49)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:706)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:791)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1266)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:754)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:451)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:197)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:100)
    at es.aeat.adws.jdit.imp.ws.WSFilterSrvImpl.doFilter(WSFilterSrvImpl.java:248)
    at es.aeat.adws.jdit.api.ws.WSFilter.doFilter(WSFilter.java:24)
    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:203)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:93)
    at es.aeat.adht.jdit.imp.infra.JDitFilterSrvImpl.filtroIni(JDitFilterSrvImpl.java:288)
    at es.aeat.adht.jdit.imp.infra.JDitFilterSrvImpl.doFilter(JDitFilterSrvImpl.java:101)
    at es.aeat.adht.jdit.imp.infra.JDitFilterSrvImpl.doFilter(JDitFilterSrvImpl.java:74)
    at es.aeat.adht.jdit.api.filter.JDitFilter.doFilter(JDitFilter.java:24)
    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:203)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:93)
    at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:1069)
    at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1260)
    at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1078)
    at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:77)
    at com.ibm.ws.webcontainer40.servlet.CacheServletWrapper40.handleRequest(CacheServletWrapper40.java:87)
    at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:978)
    at com.ibm.ws.webcontainer.osgi.DynamicVirtualHost$2.run(DynamicVirtualHost.java:293)
    at com.ibm.ws.http.dispatcher.internal.channel.HttpDispatcherLink$TaskWrapper.run(HttpDispatcherLink.java:1260)
    at com.ibm.ws.http.dispatcher.internal.channel.HttpDispatcherLink.wrapHandlerAndExecute(HttpDispatcherLink.java:476)
    at com.ibm.ws.http.dispatcher.internal.channel.HttpDispatcherLink.ready(HttpDispatcherLink.java:435)
    at com.ibm.ws.http.channel.internal.inbound.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:569)
    at com.ibm.ws.http.channel.internal.inbound.HttpInboundLink.handleNewRequest(HttpInboundLink.java:503)
    at com.ibm.ws.http.channel.internal.inbound.HttpInboundLink.processRequest(HttpInboundLink.java:363)
    at com.ibm.ws.http.channel.internal.inbound.HttpInboundLink.ready(HttpInboundLink.java:330)
    at com.ibm.ws.tcpchannel.internal.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:169)
    at com.ibm.ws.tcpchannel.internal.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:77)
    at com.ibm.ws.tcpchannel.internal.WorkQueueManager.requestComplete(WorkQueueManager.java:516)
    at com.ibm.ws.tcpchannel.internal.WorkQueueManager.attemptIO(WorkQueueManager.java:586)
    at com.ibm.ws.tcpchannel.internal.WorkQueueManager.workerRun(WorkQueueManager.java:970)
    at com.ibm.ws.tcpchannel.internal.WorkQueueManager$Worker.run(WorkQueueManager.java:1059)
    at com.ibm.ws.threading.internal.ExecutorServiceImpl$RunnableWrapper.run(ExecutorServiceImpl.java:280)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.base/java.lang.Thread.run(Unknown Source)
</callstack></detail></env:Fault></env:Body></env:Envelope>


Ese error me lo dio a mi cuando el componenente httprio generaba el xml con una cabecera como esta en el soap:

Código:

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Body xmlns:NS1="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd">

cuando corregi la forma de generarlo la cabecera es esta

Código:

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Body>


delphiGar 02-10-2024 08:05:26

Cita:

Empezado por bmfranky (Mensaje 557713)
Hola, me podeis decir donde colocais esto??

Esto es para que no aparezca en FechaHoraHusoGenRegistro los milisegundos. es un objeto de Delphi.

Código Delphi [-]
registroFactura.RegistroAlta.FechaHoraHusoGenRegistro := TXSDateTime.Create;
  registroFactura.RegistroAlta.FechaHoraHusoGenRegistro.AsDateTime := Now;
  registroFactura.RegistroAlta.FechaHoraHusoGenRegistro.FractionalSeconds := 0;

pablog2k 02-10-2024 08:10:43

Cita:

Empezado por ermendalenda (Mensaje 557681)
Gracias, toda información es buena.
Te importaría probar si te deja enviar un registro como subsanacion aunque no se haya enviado?

no te deja, te dice que el registro que estás intentado subsanar no existe

Código PHP:

<tikR:EstadoRegistro>Incorrecto</tikR:EstadoRegistro>
<
tikR:CodigoErrorRegistro>3002</tikR:CodigoErrorRegistro>
<
tikR:DescripcionErrorRegistro>No existe el registro de facturación.</tikR:DescripcionErrorRegistro


newtron 02-10-2024 10:24:38

Hola a tod@s.


Se me está quedando cara de tonto con este tema porque no soy capaz de hacer la llamada de forma correcta y estoy pensando que igual es porque no se me han importado bien los .pas de los ficheros wsdl y xsd.


¿Puede alguien subir los últimos por favor?


Gracias y un saludo.

delphiGar 02-10-2024 10:48:32

1 Archivos Adjunto(s)
Cita:

Empezado por newtron (Mensaje 557724)
Hola a tod@s.


Se me está quedando cara de tonto con este tema porque no soy capaz de hacer la llamada de forma correcta y estoy pensando que igual es porque no se me han importado bien los .pas de los ficheros wsdl y xsd.


¿Puede alguien subir los últimos por favor?


Gracias y un saludo.

Aqui tienes el que estoy utilizando yo, importane que en el HTTPRIO no tengas marcado en el converter soSendUnType, ya que el .pas lleva una invocacion a ioLiteral

newtron 02-10-2024 10:50:06

Cita:

Empezado por delphiGar (Mensaje 557725)
Aqui tienes el que estoy utilizando yo, importane que en el HTTPRIO no tengas marcado en el converter soSendUnType, ya que el .pas lleva una invocacion a ioLiteral


Gracias compañero. Lo pruebo y comento.


Saludos.

newtron 02-10-2024 10:55:34

Pufffffffffffff.... me da error aquí al compilar la unidad SistemaFacturacion:


Código Delphi [-]
    FText: TByteSOAPArray;


Me temo que mi Delphi Berlin no se traga esto.

delphiGar 02-10-2024 10:57:12

Cita:

Empezado por newtron (Mensaje 557727)
Pufffffffffffff.... me da error aquí al compilar la unidad SistemaFacturacion:


Código Delphi [-]
    FText: TByteSOAPArray;


Me temo que mi Delphi Berlin no se traga esto.

Yo lo genere con Delphi 11.3


La franja horaria es GMT +2. Ahora son las 17:29:50.

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