Cita:
Empezado por fmblas
Hola keno_71.
Ya he resuelto el problema.
Se debe a que la documentación del servicio web es una MIERDA, como todo lo que rodea al Verifactu.
Creo que tendremos un verano muy divertido el año que viene.
Resulta que en la páginas 33 y 34 vienen las url's de los esquemas xsd que son las que puse en el Envelope, he preguntado a hacienda y resulta que no son esas, sino las que vienen en el ejemplo de xml de alta de la página 35. Las he puesto y... ¡funciona! Pero cacho memos si pones un ejemplo, yo los datos que hay los tomo como ficticios y lo que me vale es lo que viene el texto en el cual puedes incluir los namespaces a usar en el Envelope y no tenemos que ir buceando por la documentación, que todos no somos expertos en xml web y demás gaitas y a lo mejor utilizamos tecnologías un poco obsoletas.
Construyo en xml de forma manual porque utilizo una nueva herramienta de desarrollo llamada VisualBasic 6.0 
Saludos.
|
Pues yo ya he estado subiendo sin problemas desde hace algún tiempo. He tenido que hacer un parón para solucionar otros problemas y he vuelto. Ahora resulta que me arroja el error que estamos tratando
Código:
<faultstring>Codigo[4118].Error técnico: la dirección no se corresponde con el fichero de entrada.</faultstring>
He revisado esto que comentas y resulta que estoy enviando el mensaje con las direcciones
según el ejemplo de la página 35 de la documentación :-(
Pongo el texto completo a ver si alguien me ayuda a ver
dónde está el problema (algunos datos anonimizados):
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">
<soapenv:Header/><soapenv:Body>
<sum:RegistroFactura>
<sum1:RegistroAlta>
<sum1:IDVersion>1.0</sum1:IDVersion>
<sum1:IDFactura>
<sum1:IDEmisorFactura>XXXXXXXXXXXX</sum1:IDEmisorFactura>
<sum1:NumSerieFactura>APFS-30</sum1:NumSerieFactura>
<sum1:FechaExpedicionFactura>28-11-2024</sum1:FechaExpedicionFactura>
</sum1:IDFactura>
<sum1:RefExterna>1845</sum1:RefExterna>
<sum1:NombreRazonEmisor><![CDATA[Sol Casado]]></sum1:NombreRazonEmisor>
<sum1:Subsanacion>N</sum1:Subsanacion>
<sum1:RechazoPrevio>N</sum1:RechazoPrevio>
<sum1:TipoFactura>F2</sum1:TipoFactura>
<sum1:DescripcionOperacion><![CDATA[1]]></sum1:DescripcionOperacion>
<sum1:Desglose>
<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>0.00</sum1:BaseImponibleOimporteNoSujeto>
</sum1:DetalleDesglose>
</sum1:Desglose>
<sum1:CuotaTotal>0.00</sum1:CuotaTotal>
<sum1:ImporteTotal>0.00</sum1:ImporteTotal>
<sum1:Encadenamiento>
<sum1:RegistroAnterior>
<sum1:IDEmisorFactura>12742292Q</sum1:IDEmisorFactura>
<sum1:NumSerieFactura>30</sum1:NumSerieFactura>
<sum1:FechaExpedicionFactura>28-11-2024</sum1:FechaExpedicionFactura>
<sum1:Huella>DE18A5D4EEA6EAE96388B031F80AD55E453CF9C3AE9E3737F5C1C9833C3D1B7F</sum1:Huella>
</sum1:RegistroAnterior>
</sum1:Encadenamiento>
<sum1:SistemaInformatico>
<sum1:NombreRazon><![CDATA[XXXXXXXXXXXX]]></sum1:NombreRazon>
<sum1:NIF>XXXXXXXXXXXX</sum1:NIF>
<sum1:NombreSistemaInformatico>XXXXXXXXXXXX</sum1:NombreSistemaInformatico>
<sum1:IdSistemaInformatico>XXXXXXXXXXXX</sum1:IdSistemaInformatico>
<sum1:Version>XXXXXXXXXXXX</sum1:Version>
<sum1:NumeroInstalacion><![CDATA[XXXXXXXXXXXX]]></sum1:NumeroInstalacion>
<sum1:TipoUsoPosibleSoloVerifactu>S</sum1:TipoUsoPosibleSoloVerifactu>
<sum1:TipoUsoPosibleMultiOT>N</sum1:TipoUsoPosibleMultiOT>
<sum1:IndicadorMultiplesOT>N</sum1:IndicadorMultiplesOT>
</sum1:SistemaInformatico>
<sum1:FechaHoraHusoGenRegistro>2024-11-28T08:19:35+01:00</sum1:FechaHoraHusoGenRegistro>
<sum1:NumRegistroAcuerdoFacturacion></sum1:NumRegistroAcuerdoFacturacion>
<sum1:IdAcuerdoSistemaInformatico></sum1:IdAcuerdoSistemaInformatico>
<sum1:TipoHuella>01</sum1:TipoHuella>
<sum1:Huella>DE18A5D4EEA6EAE96388B031F80AD55E453CF9C3AE9E3737F5C1C9833C3D1B7F</sum1:Huella>
</sum1:RegistroAlta>
</sum:RegistroFactura>
</soapenv:Body></soapenv:Envelope>
Esta es la respuesta del servidor:
Código:
<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:84)
at es.aeat.tike.cont.ws.VistaMaestro.inicializaParseaValidaProcesaCabecera(VistaMaestro.java:55)
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.api.dual.JEEUnifiedFilterChain.doFilter(JEEUnifiedFilterChain.java:36)
at es.aeat.adht.jdit.imp.infra.JDitFilterSrvImpl._runUnified(JDitFilterSrvImpl.java:395)
at es.aeat.adht.jdit.imp.infra.JDitFilterSrvImpl.filtroIni(JDitFilterSrvImpl.java:201)
at es.aeat.adht.jdit.imp.infra.JDitFilterSrvImpl.doFilter(JDitFilterSrvImpl.java:149)
at es.aeat.adht.jdit.imp.infra.JDitFilterSrvImpl.doFilter(JDitFilterSrvImpl.java:95)
at es.aeat.adht.jdit.imp.infra.JDitFilterSrvImpl.doFilter(JDitFilterSrvImpl.java:85)
at es.aeat.adht.jdit.api.filter.JDitFilter.doFilter(JDitFilter.java:17)
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>
Gracias.