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 Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-03-2025
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.764
Poder: 7
ermendalenda Va por buen camino
Cita:
Empezado por devfg01 Ver Mensaje
Después de muchos intentos he llegado a conformar el siguiente XML, lo adjunto como archivo porque aún no me deja poner ficheros

Pero mirando el ejemplo oficial, no aparece ese campo. ¿Cúal es la forma correcta? La integración me está costando más de lo que pensaba.
Buff que lio de XML, lo mismo es otra version:
Tienes mal , por ejemplo:
AltaFactuSistemaFacturacion es RegFactuSistemaFacturacion
La Cabecera no contiene el IDversion, este nodo va mas abajo
etc...
Responder Con Cita
  #2  
Antiguo 24-03-2025
devfg01 devfg01 is offline
Registrado
 
Registrado: mar 2025
Posts: 3
Poder: 0
devfg01 Va por buen camino
He vuelto a hacer este... el caso es que me da el siguiente error

=== RESPUESTA DEL SERVIDOR ===
Codigo[4102].El XML no cumple el esquema. Falta informar campo obligatorio.: RegistroAnulacion</faultstring><detail><callstack>El XML no cumple el esquema. Falta informar campo obligatorio.: RegistroAnulacion
Archivos Adjuntos
Tipo de Archivo: txt nuevo.txt (1,6 KB, 7 visitas)
Responder Con Cita
  #3  
Antiguo 24-03-2025
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.764
Poder: 7
ermendalenda Va por buen camino
Cita:
Empezado por devfg01 Ver Mensaje
He vuelto a hacer este... el caso es que me da el siguiente error

=== RESPUESTA DEL SERVIDOR ===
Codigo[4102].El XML no cumple el esquema. Falta informar campo obligatorio.: RegistroAnulacion</faultstring><detail><callstack>El XML no cumple el esquema. Falta informar campo obligatorio.: RegistroAnulacion
Registro alta es sum1:...
Siguen faltando nodos y están desordenados
Falta detalledesglose
Importetotal no va ahí.etccc
Pega los xmls entre < code > y < / code> para que se vean en el mismo post

Última edición por ermendalenda fecha: 24-03-2025 a las 23:43:48.
Responder Con Cita
  #4  
Antiguo 24-03-2025
delphiGar delphiGar is offline
Miembro
 
Registrado: ago 2024
Posts: 182
Poder: 2
delphiGar Va por buen camino
Cita:
Empezado por devfg01 Ver Mensaje
He vuelto a hacer este... el caso es que me da el siguiente error

=== RESPUESTA DEL SERVIDOR ===
Codigo[4102].El XML no cumple el esquema. Falta informar campo obligatorio.: RegistroAnulacion</faultstring><detail><callstack>El XML no cumple el esquema. Falta informar campo obligatorio.: RegistroAnulacion
Aqui tienes un XML valido

Código:
<?xml version="1.0" encoding="utf-8"?>
<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>
<RegFactuSistemaFacturacion xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd">
  <Cabecera>
    <ObligadoEmision xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
      <NombreRazon>INFOCERDA SL</NombreRazon>
      <NIF>B04430534</NIF>
    </ObligadoEmision>
    <RemisionVoluntaria xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
      <Incidencia>N</Incidencia>
    </RemisionVoluntaria>
  </Cabecera>
  <RegistroFactura>
    <RegistroAlta xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
      <IDVersion>1.0</IDVersion>
      <IDFactura>
        <IDEmisorFactura>XXXXXXXXX</IDEmisorFactura>
        <NumSerieFactura>B00000335</NumSerieFactura>
        <FechaExpedicionFactura>24-03-2025</FechaExpedicionFactura>
      </IDFactura>
      <RefExterna>1991</RefExterna>
      <NombreRazonEmisor>XXXXXXXXX</NombreRazonEmisor>
      <Subsanacion>N</Subsanacion>
      <RechazoPrevio>N</RechazoPrevio>
      <TipoFactura>F2</TipoFactura>
      <DescripcionOperacion>VENTA DE MERCADERIAS</DescripcionOperacion>
      <FacturaSimplificadaArt7273>N</FacturaSimplificadaArt7273>
      <FacturaSinIdentifDestinatarioArt61d>N</FacturaSinIdentifDestinatarioArt61d>
      <Macrodato>N</Macrodato>
      <Cupon>N</Cupon>
      <Desglose>
        <DetalleDesglose>
          <Impuesto>01</Impuesto>
          <ClaveRegimen>01</ClaveRegimen>
          <CalificacionOperacion>S1</CalificacionOperacion>
          <TipoImpositivo>21.00</TipoImpositivo>
          <BaseImponibleOimporteNoSujeto>12.40</BaseImponibleOimporteNoSujeto>
          <CuotaRepercutida>2.60</CuotaRepercutida>
        </DetalleDesglose>
      </Desglose>
      <CuotaTotal>2.60</CuotaTotal>
      <ImporteTotal>15.00</ImporteTotal>
      <Encadenamiento>
        <RegistroAnterior>
          <IDEmisorFactura>XXXXXXXXX</IDEmisorFactura>
          <NumSerieFactura>B00000334</NumSerieFactura>
          <FechaExpedicionFactura>24-03-2025</FechaExpedicionFactura>
          <Huella>AD25AE1F6335C7C0F0388716A07D23DF00BED3E6EFABBC96D403D11896122508</Huella>
        </RegistroAnterior>
      </Encadenamiento>
      <SistemaInformatico>
        <NombreRazon>XXXXXXXX</NombreRazon>
        <NIF>XXXXXXXXX</NIF>
        <NombreSistemaInformatico>TPVComercio</NombreSistemaInformatico>
        <IdSistemaInformatico>01</IdSistemaInformatico>
        <Version>3.18</Version>
        <NumeroInstalacion>B04430534-011</NumeroInstalacion>
        <TipoUsoPosibleSoloVerifactu>N</TipoUsoPosibleSoloVerifactu>
        <TipoUsoPosibleMultiOT>S</TipoUsoPosibleMultiOT>
        <IndicadorMultiplesOT>N</IndicadorMultiplesOT>
      </SistemaInformatico>
      <FechaHoraHusoGenRegistro>2025-03-24T14:04:20+01:00</FechaHoraHusoGenRegistro>
      <TipoHuella>01</TipoHuella>
      <Huella>39ADF6275CAB23A77693A172780CCC5BE36E32256EF20B079F5ADC2390E3B315</Huella>
    </RegistroAlta>
  </RegistroFactura>
</RegFactuSistemaFacturacion>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Última edición por delphiGar fecha: 25-03-2025 a las 00:08:06.
Responder Con Cita
  #5  
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
  #6  
Antiguo 05-06-2025
jlmoli_67 jlmoli_67 is offline
Miembro
 
Registrado: feb 2024
Posts: 126
Poder: 3
jlmoli_67 Va por buen camino
buenas,


creo que podria ser tema de las urls.




Código:
<?xml version="1.0" encoding="utf-8"?>
<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>
<sum:Cabecera>

un saludo
Responder Con Cita
  #7  
Antiguo 05-06-2025
Ja Mon Ja Mon is offline
Miembro
 
Registrado: ene 2017
Posts: 38
Poder: 0
Ja Mon Va por buen camino
Gracias.
Ya no da ese error cambiando la cabecera, pero ahora me da este otro error 4102: "El XML no cumple el esquema. Falta informar campo obligatorio.: NombreRazon"
Sin embargo, ese valor si que está en el xml. ¿Es posible que se deba a que el formato del xml no es el "tradicional" ? Es decir, que en vez de enviarle algo como esto: "<sum1:NombreRazon>EMPRESA SL.</sum1:NombreRazon>" deba cambiarlo por "<NombreRazon>EMPRESA SL.</NombreRazon>"?
Responder Con Cita
  #8  
Antiguo 05-06-2025
jlmoli_67 jlmoli_67 is offline
Miembro
 
Registrado: feb 2024
Posts: 126
Poder: 3
jlmoli_67 Va por buen camino
Cita:
Empezado por Ja Mon Ver Mensaje
Gracias.
Ya no da ese error cambiando la cabecera, pero ahora me da este otro error 4102: "El XML no cumple el esquema. Falta informar campo obligatorio.: NombreRazon"
Sin embargo, ese valor si que está en el xml. ¿Es posible que se deba a que el formato del xml no es el "tradicional" ? Es decir, que en vez de enviarle algo como esto: "<sum1:NombreRazon>EMPRESA SL.</sum1:NombreRazon>" deba cambiarlo por "<NombreRazon>EMPRESA SL.</NombreRazon>"?

Buenas,


El xml que envias debe de parecerse a este (te lo he dejado envuelto en soap para su envio)




Código:
 
<?xml version="1.0" encoding="utf-8"?>
<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>
<sum:Cabecera>
    <sum1:ObligadoEmision>
      <sum1:NombreRazon>mi empresa</sum1:NombreRazon>
      <sum1:NIF>mi cif</sum1:NIF>
    </sum1:ObligadoEmision>
  </sum:Cabecera>
  <sum:RegistroFactura xmlns:sum="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd">
    <sum1:RegistroAlta xmlns:sum1="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
      <sum1:IDVersion>1.0</sum1:IDVersion>
      <sum1:IDFactura>
        <sum1:IDEmisorFactura>mi cif</sum1:IDEmisorFactura>
        <sum1:NumSerieFactura>FA20250000240</sum1:NumSerieFactura>
        <sum1:FechaExpedicionFactura>04-06-2025</sum1:FechaExpedicionFactura>
      </sum1:IDFactura>
      <sum1:RefExterna>4562</sum1:RefExterna>
      <sum1:NombreRazonEmisor>mi empresa</sum1:NombreRazonEmisor>
      <sum1:TipoFactura>F1</sum1:TipoFactura>
      <sum1:DescripcionOperacion>venta mercaderias</sum1:DescripcionOperacion>
      <sum1:Destinatarios>
        <sum1:IDDestinatario>
          <sum1:NombreRazon>nombre cliente</sum1:NombreRazon>
          <sum1:NIF>cif cliente</sum1:NIF>
        </sum1:IDDestinatario>
      </sum1:Destinatarios>
      <sum1:Desglose>
        <sum1:DetalleDesglose>
          <sum1:Impuesto>01</sum1:Impuesto>
          <sum1:ClaveRegimen>01</sum1:ClaveRegimen>
          <sum1:CalificacionOperacion>S1</sum1:CalificacionOperacion>
          <sum1:TipoImpositivo>10.00</sum1:TipoImpositivo>
          <sum1:BaseImponibleOimporteNoSujeto>30.00</sum1:BaseImponibleOimporteNoSujeto>
          <sum1:CuotaRepercutida>3.00</sum1:CuotaRepercutida>
        </sum1:DetalleDesglose>
      </sum1:Desglose>
      <sum1:CuotaTotal>3.00</sum1:CuotaTotal>
      <sum1:ImporteTotal>33.00</sum1:ImporteTotal>
      <sum1:Encadenamiento>
        <sum1:RegistroAnterior>
          <sum1:IDEmisorFactura>mi cif</sum1:IDEmisorFactura>
          <sum1:NumSerieFactura>OT20250000004</sum1:NumSerieFactura>
          <sum1:FechaExpedicionFactura>04-06-2025</sum1:FechaExpedicionFactura>
          <sum1:Huella>89ACF6A4CD91356A1D120B2151FE55C8E56B3DFDDE61BBDD40C23FD423DF9428</sum1:Huella>
        </sum1:RegistroAnterior>
      </sum1:Encadenamiento>
      <sum1:SistemaInformatico>
        <sum1:NombreRazon>mi empresa</sum1:NombreRazon>
        <sum1:NIF>mi cif</sum1:NIF>
        <sum1:NombreSistemaInformatico>mi programa</sum1:NombreSistemaInformatico>
        <sum1:IdSistemaInformatico>S1</sum1:IdSistemaInformatico>
        <sum1:Version>2.0.0.4</sum1:Version>
        <sum1:NumeroInstalacion>LCD-xx-xx-x</sum1:NumeroInstalacion>
        <sum1:TipoUsoPosibleSoloVerifactu>S</sum1:TipoUsoPosibleSoloVerifactu>
        <sum1:TipoUsoPosibleMultiOT>N</sum1:TipoUsoPosibleMultiOT>
        <sum1:IndicadorMultiplesOT>N</sum1:IndicadorMultiplesOT>
      </sum1:SistemaInformatico>
      <sum1:FechaHoraHusoGenRegistro>2025-06-04T07:52:32+02:00</sum1:FechaHoraHusoGenRegistro>
      <sum1:TipoHuella>01</sum1:TipoHuella>
      <sum1:Huella>084AEFF035020185FE4EFD95A97FEB5D19B58E6358E697D4A83E054AC5E8C377</sum1:Huella>
     </sum1:RegistroAlta>
  </sum:RegistroFactura>
</sum:RegFactuSistemaFacturacion>
</soapenv:Body>
</soapenv:Envelope>

un saludo
Responder Con Cita
  #9  
Antiguo 05-06-2025
Ja Mon Ja Mon is offline
Miembro
 
Registrado: ene 2017
Posts: 38
Poder: 0
Ja Mon Va por buen camino
He enviado esto (pero sin saltos de línea) y me sigue dando el error 4102.
error
Código:
<env:Fault><faultcode>env:Client</faultcode><faultstring>Codigo[4102].El XML no cumple el esquema. Falta informar campo obligatorio.: NombreRazon</faultstring><detail><callstack>El XML no cumple el esquema. Falta informar campo obligatorio.: NombreRazon
xml
Código:
<?xml versión="1.0" encoding="utf-8"?>
<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>
<RegFactuSistemaFacturacion xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd">
<Cabecera>
<ObligadoEmision xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
<NombreRazon>EMPRESA, S.L.</NombreRazon>
<NIF>B11111111</NIF>
</ObligadoEmision>
<RemisionVoluntaria xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
<Incidencia>N</Incidencia>
</RemisionVoluntaria>
</Cabecera>
<RegistroFactura>
<RegistroAlta xmlns="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
<IDVersion>1.0</IDVersion>
<IDFactura>
<IDEmisorFactura>B11111111</IDEmisorFactura>
<NumSerieFactura>F.A/3310</NumSerieFactura>
<FechaExpedicionFactura>05-06-2025</FechaExpedicionFactura>
</IDFactura>
<NombreRazonEmisor>EMPRESA, S.L.</NombreRazonEmisor>
<TipoFactura>F1</TipoFactura>
<DescripcionOperacion>Compra / venta</DescripcionOperacion>
<Destinatarios>
<IDDestinatario>
<NombreRazon>CUTRECLIENT, S.L.</NombreRazon>
<NIF>B22222222</NIF>
</IDDestinatario>
</Destinatarios>
<Desglose>
<DetalleDesglose>
<ClaveRegimen>01</ClaveRegimen>
<CalificacionOperacion>S1</CalificacionOperacion>
<TipoImpositivo>21.00</TipoImpositivo>
<BaseImponibleOimporteNoSujeto>100.00</BaseImponibleOimporteNoSujeto>
<CuotaRepercutida>21.00</CuotaRepercutida>
</DetalleDesglose>
<DetalleDesglose>
<ClaveRegimen>01</ClaveRegimen>
<CalificacionOperacion>S1</CalificacionOperacion>
<TipoImpositivo>10.00</TipoImpositivo>
<BaseImponibleOimporteNoSujeto>100.00</BaseImponibleOimporteNoSujeto>
<CuotaRepercutida>10.00</CuotaRepercutida>
</DetalleDesglose>
<DetalleDesglose>
<ClaveRegimen>01</ClaveRegimen>
<CalificacionOperacion>S1</CalificacionOperacion>
<TipoImpositivo>4.00</TipoImpositivo>
<BaseImponibleOimporteNoSujeto>100.00</BaseImponibleOimporteNoSujeto>
<CuotaRepercutida>4.00</CuotaRepercutida>
</DetalleDesglose>
</Desglose>
<CuotaTotal>35.00</CuotaTotal>
<ImporteTotal>335.00</ImporteTotal>
<SistemaInformatico>
<NombreRazon>YO</NombreRazon>
<NIF>33333333A</NIF>
<NombreSistemaInformatico>MIAPP</NombreSistemaInformatico>
<IdSistemaInformatico>MIAPP_SQL</IdSistemaInformatico>
<Version>20250605</Version>
<NumeroInstalacion>1</NumeroInstalacion>
<TipoUsoPosibleSoloVerifactu>S</TipoUsoPosibleSoloVerifactu>
<TipoUsoPosibleMultiOT>S</TipoUsoPosibleMultiOT>
<IndicadorMultiplesOT>S</IndicadorMultiplesOT>
</SistemaInformatico>
<FechaHoraHusoGenRegistro>2025-06-05T19:58+01:00</FechaHoraHusoGenRegistro>
<TipoHuella>01</TipoHuella>
<Huella>441D6E7678C7CCC8B2D4FE2AB486F127CE054B9D24F2D12F50D500B9D96114ED</Huella>
</RegistroAlta>
</RegistroFactura>
</RegFactuSistemaFacturacion>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Responder Con Cita
  #10  
Antiguo 06-06-2025
Ja Mon Ja Mon is offline
Miembro
 
Registrado: ene 2017
Posts: 38
Poder: 0
Ja Mon Va por buen camino
Perdón, me equivoque en el post anterior y no usé el mismo formato que me indicabas.
Lo he enviado así (sin saltos), y me da el mismo error 4102. Hace referencia a "NombreRazon" que está en tres sitios distintos y no deja claro cual de ellos da el error:

Código:
<?xml versión="1.0" encoding="utf-8"?>
<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>
<sum:Cabecera>

  <sum1:ObligadoEmision>
    <sum1:NombreRazon>EMPRESA PRUEBAS, SL</sum1:NombreRazon>
    <sum1:NIF>B24224511</sum1:NIF>
  </sum1:ObligadoEmision>
</sum:Cabecera>

<sum:RegistroFactura xmlns:sum="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd">
  <sum1:RegistroAlta xmlns:sum1="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
      <sum1:IDVersion>1.0</sum1:IDVersion>

      <sum1:IDFactura>
        <sum1:IDEmisorFactura>B24224511</sum1:IDEmisorFactura>
        <sum1:NumSerieFactura>F.A/3310</sum1:NumSerieFactura>
        <sum1:FechaExpedicionFactura>06-06-2025</sum1:FechaExpedicionFactura>
      </sum1:IDFactura>

      <sum1:NombreRazonEmisor>EMPRESA PRUEBAS, SL</sum1:NombreRazonEmisor>
      <sum1:TipoFactura>F1</sum1:TipoFactura>
      <sum1:DescripcionOperacion>Compra / venta</sum1:DescripcionOperacion>
      <sum1:Destinatarios>
        <sum1:IDDestinatario>
          <sum1:NombreRazon>CLIENTE XXX</sum1:NombreRazon>
        <sum1:NIF>B14818442</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>REMIGIO GARCIA PEREZ</sum1:NombreRazon>
      <sum1:NIF>25441451Z</sum1:NIF>
      <sum1:NombreSistemaInformatico>APP</sum1:NombreSistemaInformatico>
      <sum1:IdSistemaInformatico>ESTOSO</sum1:IdSistemaInformatico>
      <sum1:Version>20250606</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-06T06:58+01:00</sum1:FechaHoraHusoGenRegistro>
    <sum1:TipoHuella>01</sum1:TipoHuella>
    <sum1:Huella>A31A5D316FCD52B435B94E920C6D4035BF92217C509AF3AAE6F696FCB7A31DC5</sum1:Huella>

  </sum1:RegistroAlta>
</sum:RegistroFactura>


</sum:RegFactuSistemaFacturacion>
</soapenv:Body>
</soapenv:Envelope>
Gracias
Responder Con Cita
  #11  
Antiguo 06-06-2025
Ja Mon Ja Mon is offline
Miembro
 
Registrado: ene 2017
Posts: 38
Poder: 0
Ja Mon Va por buen camino
Parece que ya funciona!

He eliminado esto de la cabecera xml y ya no me devuelve ese error.

<?xml versión="1.0" encoding="utf-8"?>

Muchas gracias!!!
Responder Con Cita
  #12  
Antiguo 06-06-2025
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.441
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por Ja Mon Ver Mensaje
He eliminado esto de la cabecera xml y ya no me devuelve ese error.
<?xml versión="1.0" encoding="utf-8"?>
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
Respuesta


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
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 02:51:04.


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