Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Proyecto SIF/Veri*Factu/Ley Antifraude > Registros de Facturacion y Eventos (XML)
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #21  
Antiguo 05-06-2025
Ja Mon Ja Mon is offline
Miembro
 
Registrado: ene 2017
Posts: 38
Poder: 0
Ja Mon Va por buen camino
Error 4118

A ver si me podéis ayudar con esto y si le sirve de ayuda a alguien:

Tengo este xml:

Código:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:sum="https://prewww1.aeat.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd"
xmlns:sum1="https://prewww1.aeat.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>
<sum:Cabecera>
  <sum1:ObligadoEmision>
    <sum1:NombreRazon>UNA EMPRESA, S.L</sum1:NombreRazon>
    <sum1:NIF>A11111111</sum1:NIF>
  </sum1:ObligadoEmision>
</sum:Cabecera>
<sum:RegistroFactura>
  <sum1:RegistroAlta>
      <sum1:IDVersion>1.0</sum1:IDVersion>
      <sum1:IDFactura>
        <sum1:IDEmisorFactura>A11111111</sum1:IDEmisorFactura>
        <sum1:NumSerieFactura>F.A/3310</sum1:NumSerieFactura>
        <sum1:FechaExpedicionFactura>05-06-2025</sum1:FechaExpedicionFactura>
      </sum1:IDFactura>
      <sum1:NombreRazonEmisor>UNA EMPRESA, S.L</sum1:NombreRazonEmisor>
      <sum1:TipoFactura>F1</sum1:TipoFactura>
      <sum1:DescripcionOperacion>Compra / venta</sum1:DescripcionOperacion>
      <sum1:Destinatarios>
        <sum1:IDDestinatario>
          <sum1:NombreRazon>EMPRESA DEL CLIENTE</sum1:NombreRazon>
        <sum1:NIF>B2342342</sum1:NIF>
      </sum1:IDDestinatario>
    </sum1:Destinatarios>
    <sum1:Desglose>
      <sum1:DetalleDesglose>
  <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:DetalleDesglose>
<sum1:DetalleDesglose>
  <sum1:ClaveRegimen>01</sum1:ClaveRegimen>
  <sum1:CalificacionOperacion>S1</sum1:CalificacionOperacion>
  <sum1:TipoImpositivo>10.00</sum1:TipoImpositivo>
  <sum1:BaseImponibleOimporteNoSujeto>100.00</sum1:BaseImponibleOimporteNoSujeto>
  <sum1:CuotaRepercutida>10.00</sum1:CuotaRepercutida>
</sum1:DetalleDesglose>
<sum1:DetalleDesglose>
  <sum1:ClaveRegimen>01</sum1:ClaveRegimen>
  <sum1:CalificacionOperacion>S1</sum1:CalificacionOperacion>
  <sum1:TipoImpositivo>4.00</sum1:TipoImpositivo>
  <sum1:BaseImponibleOimporteNoSujeto>100.00</sum1:BaseImponibleOimporteNoSujeto>
  <sum1:CuotaRepercutida>4.00</sum1:CuotaRepercutida>
</sum1:DetalleDesglose>
    </sum1:Desglose>
    <sum1:CuotaTotal>35.00</sum1:CuotaTotal>
    <sum1:ImporteTotal>335.00</sum1:ImporteTotal>
    <sum1:SistemaInformatico>
      <sum1:NombreRazon>YO MISMO</sum1:NombreRazon>
      <sum1:NIF>222222222Z</sum1:NIF>
      <sum1:NombreSistemaInformatico>UNAAPP</sum1:NombreSistemaInformatico>
      <sum1:IdSistemaInformatico>UNAAPP_X</sum1:IdSistemaInformatico>
      <sum1:Version>20250605</sum1:Version>
      <sum1:NumeroInstalacion>1</sum1:NumeroInstalacion>
      <sum1:TipoUsoPosibleSoloVerifactu>S</sum1:TipoUsoPosibleSoloVerifactu>
      <sum1:TipoUsoPosibleMultiOT>S</sum1:TipoUsoPosibleMultiOT>
      <sum1:IndicadorMultiplesOT>S</sum1:IndicadorMultiplesOT>
    </sum1:SistemaInformatico>
    <sum1:FechaHoraHusoGenRegistro>2025-06-05T13:49+01:00</sum1:FechaHoraHusoGenRegistro>
    <sum1:TipoHuella>01</sum1:TipoHuella>
    <sum1:Huella>6AEC249D666EFFB6C1F6DD0EA13F141B78C107328B73BD0EAEFB8209B148AE3F</sum1:Huella>
  </sum1:RegistroAlta>
</sum:RegistroFactura>
</sum:RegFactuSistemaFacturacion>
</soapenv:Body>
</soapenv:Envelope>
Lo envio con esta función:

Código:
procedure Envio;
var
  s: string;
  HTTP: TIdHTTP;
  SSLHandler: TIdSSLIOHandlerSocketOpenSSL;
  XMLRequest, XMLResponse: TStringStream;
  SOAPRequest: IXMLDocument;
  Response: string;
  RedirectURL: string;
const
   ur = 'https://prewww1.aeat.es/wlpl/TIKE-CONT/ws/SistemaFacturacion/VerifactuSOAP';
begin

  // Crear la solicitud SOAP
  SOAPRequest := NewXMLDocument;
  SOAPRequest.Encoding := 'UTF-8';
  SOAPRequest.Options := [doNodeAutoIndent];
  SOAPRequest.XML.Text := estructura;

  // Convertir la solicitud SOAP a una cadena
  XMLRequest := TStringStream.Create(SOAPRequest.XML.Text);
  XMLResponse := TStringStream.Create('');
  try
    // Configurar el componente TIdHTTP
    HTTP := TIdHTTP.Create(nil);
    SSLHandler := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
    try
      SSLHandler.SSLOptions.SSLVersions := [sslvTLSv1_2];
      HTTP.IOHandler := SSLHandler;
      HTTP.Request.ContentType := 'text/xml; charset=utf-8';
      HTTP.Request.CustomHeaders.Values['SOAPAction'] := '';

      //Si necesita certificado el servicio: Configurable en cada terminal?
      SSLHandler.SSLOptions.CertFile := cfgVF_Certificado+'certificado.pem'; // Ruta al archivo del certificado
      SSLHandler.SSLOptions.KeyFile := cfgVF_Certificado+'certificado.key'; // Ruta al archivo de la clave privada
      SSLHandler.SSLOptions.RootCertFile := cfgVF_Certificado+'certificado.crt'; // Ruta al archivo del certificado raíz
      try
        // Enviar la solicitud SOAP
        //Dirección configurable en cada terminal
        HTTP.Post(ur, XMLRequest, XMLResponse);
      except
        on E: EIdHTTPProtocolException do
        begin
          //el error 302 puede deberse a una redirección de la pagina accedida
          if E.ErrorCode = 302 then
          begin
            RedirectURL := Http.Response.Location;
            // Realizar una nueva solicitud a la URL redirigida
            XMLResponse.Free;
            XMLResponse := TStringStream.Create('');
            HTTP.Get(RedirectURL, XMLResponse);
          end
          else
            raise;
        end;
      end;
      // Enviar la solicitud SOAP
      //HTTP.Post('https://www1.agenciatributaria.gob.es/wlpl/BURT-JDIT/ws/VNifV2SOAP', XMLRequest, XMLResponse);

      // Obtener la respuesta
      Response := XMLResponse.DataString;
      s := Response;      
    finally
      HTTP.Free;
      SSLHandler.Free;
    end;
  finally
    XMLRequest.Free;
    XMLResponse.Free;
  end;
end;
Y me responde con el error 4118

Código:
<?xml versión="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:73)
	at es.aeat.tike.cont.ws.xml.comun.ParserXmlCabecera.parsear(ParserXmlCabecera.java:47)
	at es.aeat.tike.cont.ws.fe.VistaSF.parseaCabecera(VistaSF.java:106)
	at es.aeat.tike.cont.ws.VistaMaestro.inicializaParseaValidaProcesaCabecera(VistaMaestro.java:61)
	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 io.openliberty.http.monitor.ServletFilter.doFilter(ServletFilter.java:76)
	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.adws.jdit.imp.ws.WSFilterSrvImpl.doFilter(WSFilterSrvImpl.java:253)
	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._runUnified(JDitFilterSrvImpl.java:299)
	at es.aeat.adht.jdit.imp.infra.JDitFilterSrvImpl.filtroIni(JDitFilterSrvImpl.java:151)
	at es.aeat.adht.jdit.imp.infra.JDitFilterSrvImpl.doFilter(JDitFilterSrvImpl.java:103)
	at es.aeat.adht.jdit.imp.infra.JDitFilterSrvImpl.doFilter(JDitFilterSrvImpl.java:78)
	at es.aeat.adht.jdit.api.filter.JDitFilter.doFilter(JDitFilter.java:21)
	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:1284)
	at com.ibm.ws.http.dispatcher.internal.channel.HttpDispatcherLink.wrapHandlerAndExecute(HttpDispatcherLink.java:500)
	at com.ibm.ws.http.dispatcher.internal.channel.HttpDispatcherLink.ready(HttpDispatcherLink.java:459)
	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:298)
	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>
Y hasta aquí he podido llegar. No se si el error es por el contenido del xml, por la forma de enviarlo, por las url...

Os agradezco cualquier ayuda.
Gracias a todos
Responder Con Cita
 



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
Validar XML con esquema XSD - C# .Net rci .NET 9 03-01-2025 14:21:38
Esquema BD Zina Varios 8 10-11-2016 17:00:01
Acceso al Esquema de una BD de Oracle lgarcia Oracle 2 02-07-2013 15:09:32
Esquema programación. REHome Varios 6 12-04-2007 22:03:05
crear archivos esquema *.sch KmoCuesta Tablas planas 0 16-09-2005 21:48:05


La franja horaria es GMT +2. Ahora son las 11:28:01.


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