España: Normativa sancionadora sistemas informáticos

paquitohm
Posts: 286
Joined: Fri Jan 14, 2022 8:37 am

Re: España: Normativa sancionadora sistemas informáticos

Post by paquitohm »

En el caso de tener un enviador, no pondría la opción de enviar desde el programa, pero este caso no lo analizaré mucho ya que mi opción principal será tenerlo todo en un único programa.
Lo que yo propongo también es una especie de "unico programa". El mismo ejecutable se puede duplicar porque no exista O POR FECHA anterior al exe principal. Todo se haria automaticamente: Solo se actualizaria un ejecutable. Se podria utilizar taskkill para matar el enviador activo, siempre que no esté haciendo un envio, naturalmente.
Al lanzar el enviador con winexec() estamos dando capacidades multiproceso al sistema que quedará abierto y a la espera para subsiguientes envios.

Quizá mis metodos no sean los más ortodoxos. Pero creo que buscamos ser practicos utilizando soluciones sencillas y probadas
FiveWiDi
Posts: 1209
Joined: Mon Oct 10, 2005 2:38 pm
Has thanked: 1 time

URL de información de Hacienda para el desarrollo Verifactu

Post by FiveWiDi »

Buenos días,

Debo estar 'cruzado'.

Alguna alma caritativa puede darme la URL en donde está la documentación de desarrollo de Verifactu en Hacienda?

Vaya mie@~€@#~€da de ayuda que tiene la web de Hacienda. Además de tener links en el pié de página de web que no encuentra.
Un Saludo
Carlos G.

FiveWin 24.02 + Harbour 3.2.0dev (r2403071241), BCC 7.7 Windows 10
Garbi
Posts: 344
Joined: Wed Nov 02, 2005 3:28 pm

Re: España: Normativa sancionadora sistemas informáticos

Post by Garbi »

URL en donde está la documentación de desarrollo de Verifactu en Hacienda

https://www.agenciatributaria.es/AEAT.d ... FACTU.html

Venga que entre todos podremos hacerlo.
Saludos,
Regards,

Jose Luis Alepuz
joseluis@mancomputer.com
www.mancomputer.com
Verhoven
Posts: 522
Joined: Sun Oct 09, 2005 7:23 pm

Re: España: Normativa sancionadora sistemas informáticos

Post by Verhoven »

De diez items que aparecen en la lista de la web de la AEAT, uno se refiere a documentación obsoleta y otros 5 a que son un borrador.
De modo que, según eso, solo un 40% de la información que han colgado parece "definitiva".
Nosotros ya hemos desarrollado un sistema para comunicar con la AEAT para el asunto de impuestos especiales (sistemas SILICIE y SIANE) y no empezó con tantas incertidumbres, aunque a pesar de ello el desarrollo fue largo y con muchas pruebas y error, teniendo que comunicar muchos fallos a los servicios de informática de la propia AEAT.
Lo que quiero decir es que con tantas incertidumbres y correcciones pendientes, el trabajo que ahora se haga puede tener que sufrir muchas correcciones todavía.

Para montar los xml, en el caso de desarrollo comentado, al final lo más eficiente fue tomar los modelos de los pdf de la documentación y montarlos con la librería hbmxml.lib
Otro consejo, no traten de abarcar toda la casuística prevista, céntrense en la necesaria para sus usuarios concretos, o el proceso se hará eterno.
Y otro más, eliminen todos los CRLF de los xml, en nuestro caso nos dió dolores de cabeza hasta descubrir que a la AEAT no le gustaban.

En fin, a ver si se lo toma la AEAT en serio y con plazos técnicos realistas, porque como está lo veo muy verde todavía para pensar en que podamos desarrollar algo "definitivo" a corto plazo.
Garbi
Posts: 344
Joined: Wed Nov 02, 2005 3:28 pm

Re: España: Normativa sancionadora sistemas informáticos

Post by Garbi »

Noticia de hoy Se ha detectado un problema en el servidor de la AEAT que afecta a la presentación de Modelos Fiscales y envíos al SII

Como para añadir más cosas a esos servidores. Madre mía la que viene.

Yo particularmente estoy intentando hacer un envio de xml, si consigo conectar pero no consigo hacer ninguno valido.
Ya no se que probar.

A ver si a partir del 28 de octubre ponen algo más claro todo. porque yo voy hecho un lio.
Saludos,
Regards,

Jose Luis Alepuz
joseluis@mancomputer.com
www.mancomputer.com
Garbi
Posts: 344
Joined: Wed Nov 02, 2005 3:28 pm

Re: España: Normativa sancionadora sistemas informáticos

Post by Garbi »

Hola, estoy enviando un fichero .xml y el resultado de pantalla es el siguiente :

Code: Select all | Expand

.\curl\bin\curl --cert "empresa.pem" --key "empresa_key.pem"  --data 1.xml --output respuesta.xml https://prewww1.aeat.es/wlpl/TIKE-CONT/ws/SistemaFacturacion/VerifactuSOAP -v
Note: Using embedded CA bundle, for proxies (234847 bytes)
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0* Host prewww1.aeat.es:443 was resolved.
* IPv6: (none)
* IPv4: 195.77.198.76
*   Trying 195.77.198.76:443...
* ALPN: curl offers h2,http/1.1
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
} [310 bytes data]
*  CAfile: h:\segjose\HABOUR\gesman.new\xml\curl\bin\curl-ca-bundle.crt
*  CApath: none
* TLSv1.3 (IN), TLS handshake, Server hello (2):
{ [87 bytes data]
* TLSv1.2 (IN), TLS handshake, Certificate (11):
{ [4208 bytes data]
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
{ [461 bytes data]
* TLSv1.2 (IN), TLS handshake, Request CERT (13):
{ [16652 bytes data]
* TLSv1.2 (IN), TLS handshake, Server finished (14):
{ [4 bytes data]
* TLSv1.2 (OUT), TLS handshake, Certificate (11):
} [2263 bytes data]
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
} [70 bytes data]
* TLSv1.2 (OUT), TLS handshake, CERT verify (15):
} [264 bytes data]
* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
} [1 bytes data]
* TLSv1.2 (OUT), TLS handshake, Finished (20):
} [16 bytes data]
* TLSv1.2 (IN), TLS change cipher, Change cipher spec (1):
{ [1 bytes data]
* TLSv1.2 (IN), TLS handshake, Finished (20):
{ [16 bytes data]
* SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256 / [blank] / UNDEF
* ALPN: server did not agree on a protocol. Uses default.
* Server certificate:
*  subject: C=ES; L=Madrid; O=Agencia Estatal de Administración Tributaria; CN=*.aeat.es
*  start date: Oct 23 08:43:06 2023 GMT
*  expire date: Nov 23 08:43:05 2024 GMT
*  subjectAltName: host "prewww1.aeat.es" matched cert's "*.aeat.es"
*  issuer: C=US; O=Entrust, Inc.; OU=See http://www.entrust.net/legal-terms; OU=(c) 2012 Entrust, Inc. - for authorized use only; CN=Entrust Certification Authority - L1K
*  SSL certificate verify ok.
*   Certificate level 0: Public key type ? (3072/128 Bits/secBits), signed using sha256WithRSAEncryption
*   Certificate level 1: Public key type ? (2048/112 Bits/secBits), signed using sha256WithRSAEncryption
*   Certificate level 2: Public key type ? (2048/112 Bits/secBits), signed using sha256WithRSAEncryption
* Connected to prewww1.aeat.es (195.77.198.76) port 443
* using HTTP/1.x
> POST /wlpl/TIKE-CONT/ws/SistemaFacturacion/VerifactuSOAP HTTP/1.1
> Host: prewww1.aeat.es
> User-Agent: curl/8.10.1
> Accept: */*
> Content-Length: 5
> Content-Type: application/x-www-form-urlencoded
>
} [5 bytes data]
* upload completely sent off: 5 bytes
< HTTP/1.1 200 OK
< content-type: text/xml;charset=UTF-8
< dit-niu: 46020459447
< content-length: 5883
< dit-tarea: 66
< dit-servidor: WLP00302
< dit-idpeticion: 20241018105610810011
< date: Fri, 18 Oct 2024 08:56:10 GMT
< x-ua-compatible: IE=7
< set-cookie: CERT_WWW1=67CB69976D0E5FF41C7D26D010D2496F34BBC1197F7129B33126A25E9F60203B57E4A39D9C9F297C88FB5C679F33081E2CF44B049719987D86F02B4D441DA1144C34115264A99FB92774379AF3BC72C58AE5832BMxLYRXkJCCaAIY6SI0r2y2/XOFrur37gO+PI2Fkr5ULtoklOCJSncsfa2bAk4bP/iRnbPH9MyEjNh2YAsCqmsBXF3x+zf7q8+SKHvTqRExdXrJYJvMcwvgRHDmuMM+Yicw62wxgqE/7PrP4U/EdvOvvbJdPA0QeRPIHE8dkIGIqEc4xm76lelNcTEyBdX+M6UpgaV9pL7oMCzuisTl/fnH76G+dXCnQYpIi6SCUe4DG5LL80yLn53JeXiYeHQKOWXRuU9GVAb0yvb1JNnvpL3FdXaVB1BUE/nPN3eGWwN4WSM1HdLa+qUz+Gi2/Ax7bsvOuaRQismxMmLK3NdvWuisE6KNH4Uk+7x99/INZMOtFjb6WUvV5ZbGsQkM3ecenVFs8j+IrpxAV/HuOYV8HPASq/v6irMVkSr+qxov+XRUtqqKQ6xwR47eBY+kc6aCxZ+Q==; Domain=.aeat.es; Path=/; HttpOnly; Secure
< set-cookie: CERT_WWW1V=20241018-10261080; Domain=.aeat.es; Path=/; Secure
< set-cookie: sgat_id_usr_sede=%7B%22tipoAcceso%22%3A%22C%22%2C%22fechaYHora%22%3A%2220241018105610810%22%2C%22nombre%22%3A%22MAN%20SOFT%20COMPUTER%20SL%22%7D; Domain=.aeat.es; Path=/; Secure
< dit-codigo-respuesta: 0
< content-language: es-ES
< expires: Thu, 01 Dec 1994 16:00:00 GMT
< cache-control: no-cache="set-cookie, set-cookie2"
< x-site: Sede
< referrer-policy: strict-origin-when-cross-origin
< x-xss-protection: 1; mode=block
< strict-transport-security: max-age=31536000; includeSubDomains
< content-security-policy: frame-ancestors 'self' *.aeat.es
<
{ [2828 bytes data]
100  5888  100  5883  100     5  24593     20 --:--:-- --:--:-- --:--:-- 24843
* Connection #0 to host prewww1.aeat.es left intact
Y la respuesta es :

Code: Select all | Expand

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Body>
<env:Fault>
<faultcode>env:Client</faultcode>
<faultstring>Codigo[1304].El contenido no está permitido en el prólogo. (1,1)</faultstring>
<detail>
<callstack>XML no válido o mal formado WSExcepcion [faultcode=null, detailMap=null, version=0, faultstring=El contenido no está permitido en el prólogo. (1,1), faultactor=null, faultSubCode=null, reasonText=null, detail=null, nameSpaceUriDetail=null] at es.aeat.adws.jdit.imp.ws.WSFilterSrvImpl.verificarFirma(WSFilterSrvImpl.java:845) at es.aeat.adws.jdit.imp.ws.WSFilterSrvImpl.doFilter(WSFilterSrvImpl.java:225) 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) Caused by: es.aeat.adws.jdit.api.xml.XmlExcepcion: El contenido no está permitido en el prólogo. (1,1) at es.aeat.adws.jdit.imp.xml.DomUtilsSrvImpl.isToDoc(DomUtilsSrvImpl.java:87) at es.aeat.adws.jdit.imp.xml.DomUtilsSrvImpl.isToDoc(DomUtilsSrvImpl.java:53) at es.aeat.adws.jdit.imp.ws.WSFilterSrvImpl.verificarFirma(WSFilterSrvImpl.java:773) ... 34 more Caused by: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; El contenido no está permitido en el prólogo. at java.xml/com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source) at java.xml/com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(Unknown Source) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(Unknown Source) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(Unknown Source) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(Unknown Source) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) at java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source) at java.xml/com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(Unknown Source) at java.xml/com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Unknown Source) at java.xml/javax.xml.parsers.DocumentBuilder.parse(Unknown Source) at es.aeat.adws.jdit.imp.xml.DomUtilsSrvImpl.isToDoc(DomUtilsSrvImpl.java:83) ... 36 more </callstack>
</detail>
</env:Fault>
</env:Body>
</env:Envelope>
Como me indico Paquito, el fallo creo que es la firma, ¿pero exactamente a que firma se refiere?
Alguna indicación para poder enviar y devuelva que correcto e indicando la dichosa "t".

Muchas Gracias
Saludos,
Regards,

Jose Luis Alepuz
joseluis@mancomputer.com
www.mancomputer.com
User avatar
AngelSalom
Posts: 727
Joined: Fri Oct 07, 2005 7:38 am
Location: Benicarló (Castellón ) - España
Contact:

Re: España: Normativa sancionadora sistemas informáticos

Post by AngelSalom »

Personalmente creo que os estáis precipitando.
Recuerdo hace años cuando implementamos el SII, los primeros meses fueron un caos por parte del dpto. de informática de la Agencia Tributaria y las correcciones eran un no parar.
Si algo aprendí de eso es que conviene apartarse un poco, darles tiempo, y esperar a que esté toda la documentación ( mínimo versión 1.0 ) , fijaros que ahora todo es 0.xx ...
Y por supuesto que los entornos de prueba estén operativos al 100%. Siguiendo otros foros, un día fallan y al otro también.

Pensad que una vez aprobada la orden ministerial, tendremos nueve meses para hacer el proceso ...

https://www.youtube.com/watch?v=KOHKnrZfUS0
Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
paquitohm
Posts: 286
Joined: Fri Jan 14, 2022 8:37 am

Re: España: Normativa sancionadora sistemas informáticos

Post by paquitohm »

Buenos días,

Garbi,

Veo que no usas el command line que puse o quizás lo has tratado de simplificar.
Tirando de memoria, creo que alguno de los parámetros es necesario para que warnings en la firma no tiren abajo la comunicacion. Concretamente, creo recordar, que era el parámetro -k, aunque yo te sugiero usar TODOS los parámetros, porque si están supongo que, en su día, los pondría por algún motivo.

Code: Select all | Expand

\Pw\Conta\Dat\Sii\Utilidades\Curl.Exe -k --connect-timeout 60 -m 300 -s -S -L --header "Content-Type: text/xml;charset=UTF-8" --cert "\Pw\Conta\Dat\Sii\Certificados\Certificado.Pem" --key "\Pw\Conta\Dat\Sii\Certificados\Certificado_key.Pem" --data @\Pw\Conta\Err\Nif_Envio_3754552.xml https://www1.agenciatributaria.gob.es/wlpl/BURT-JDIT/ws/VNifV2SOAP --output \Pw\Conta\Err\Nif_Respuesta_3754552.xml -v

AngelSalom,

IMHO tienes razón en parte. La otra parte es que:
+ Verifactu obliga a cambiar la estructura de nuestros programas y eso dificilmente va a cambiar con las releases tecnicas finales de la Agencia
+ Bien está, por lo anterior, que empecemos a plantearnos cosas, empecemos a probar a enviar, quizá sin entrar en honduras, pero si coger el pálpito de cómo si o si va a ser: Envio agrupado de facturas cada t tiempo
Garbi
Posts: 344
Joined: Wed Nov 02, 2005 3:28 pm

Re: España: Normativa sancionadora sistemas informáticos

Post by Garbi »

Hola Paquito si intente simplificar el envio:
Ahora he puesto :

Code: Select all | Expand

.\curl\bin\curl -k --connect-timeout 60 -m 300 -s -S -L --header "Content-Type: text/xml;charset=UTF-8"--cert "empresa.pem" --key "empresa_key.pem"  --data 1.xml --output respuesta.xml https://prewww1.aeat.es/wlpl/TIKE-CONT/ws/SistemaFacturacion/VerifactuSOAP -v 
Y no me da ningún fichero de respuesta.xml

y el contenido de respuesta es :

Code: Select all | Expand

.\curl\bin\curl -k --connect-timeout 60 -m 300 -s -S -L --header "Content-Type: text/xml;charset=UTF-8"--cert "empresa.pem" --key "empresa_key.pem"  --data 1.xml --output respuesta.xml https://prewww1.aeat.es/wlpl/TIKE-CONT/ws/SistemaFacturacion/VerifactuSOAP -v
* Could not resolve host: empresa.pem
* shutting down connection #0
curl: (6) Could not resolve host: empresa.pem
* Host prewww1.aeat.es:443 was resolved.
* IPv6: (none)
* IPv4: 195.77.198.76
*   Trying 195.77.198.76:443...
* ALPN: curl offers h2,http/1.1
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* TLSv1.2 (IN), TLS handshake, Request CERT (13):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS handshake, Certificate (11):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS change cipher, Change cipher spec (1):
* TLSv1.2 (IN), TLS handshake, Finished (20):
* SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256 / [blank] / UNDEF
* ALPN: server did not agree on a protocol. Uses default.
* Server certificate:
*  subject: C=ES; L=Madrid; O=Agencia Estatal de Administración Tributaria; CN=*.aeat.es
*  start date: Oct 23 08:43:06 2023 GMT
*  expire date: Nov 23 08:43:05 2024 GMT
*  issuer: C=US; O=Entrust, Inc.; OU=See http://www.entrust.net/legal-terms; OU=(c) 2012 Entrust, Inc. - for authorized use only; CN=Entrust Certification Authority - L1K
*  SSL certificate verify result: self signed certificate in certificate chain (19), continuing anyway.
*   Certificate level 0: Public key type ? (3072/128 Bits/secBits), signed using sha256WithRSAEncryption
*   Certificate level 1: Public key type ? (2048/112 Bits/secBits), signed using sha256WithRSAEncryption
*   Certificate level 2: Public key type ? (2048/112 Bits/secBits), signed using sha256WithRSAEncryption
* Connected to prewww1.aeat.es (195.77.198.76) port 443
* using HTTP/1.x
> POST /wlpl/TIKE-CONT/ws/SistemaFacturacion/VerifactuSOAP HTTP/1.1
> Host: prewww1.aeat.es
> User-Agent: curl/8.10.1
> Accept: */*
> Content-Type: text/xml;charset=UTF-8--cert
> Content-Length: 5
>
* upload completely sent off: 5 bytes
* HTTP 1.0, assume close after body
< HTTP/1.0 302 Moved Temporarily
* Need to rewind upload for next request
< Location: https://sede.agenciatributaria.gob.es/Sede/errores/erro4033.html
* HTTP/1.0 connection set to keep alive
< Connection: Keep-Alive
< Content-Length: 0
* Ignoring the response-body
* setting size while ignoring
<
* Connection #1 to host prewww1.aeat.es left intact
* Issue another request to this URL: 'https://sede.agenciatributaria.gob.es/Sede/errores/erro4033.html'
* Switch from POST to GET
* Host sede.agenciatributaria.gob.es:443 was resolved.
* IPv6: (none)
* IPv4: 195.77.198.30
*   Trying 195.77.198.30:443...
* ALPN: curl offers h2,http/1.1
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.3 (IN), TLS handshake, Unknown (8):
* TLSv1.3 (IN), TLS handshake, Certificate (11):
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
* TLSv1.3 (IN), TLS handshake, Finished (20):
* TLSv1.3 (OUT), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / TLS_AES_128_GCM_SHA256 / [blank] / UNDEF
* ALPN: server did not agree on a protocol. Uses default.
* Server certificate:
*  subject: C=ES; ST=Madrid; L=Madrid; jurisdictionCountryName=ES; O=Agencia Estatal de Administracion Tributaria; businessCategory=Government Entity; serialNumber=Q2826000H; CN=agenciatributaria.gob.es
*  start date: Jun 26 18:35:23 2024 GMT
*  expire date: Nov 22 18:35:22 2024 GMT
*  issuer: C=ES; O=Entrust EU, S.L.; 2.5.4.97=VATES-B81188047; CN=Entrust Certification Authority - ES QWAC2
*  SSL certificate verify result: self signed certificate in certificate chain (19), continuing anyway.
*   Certificate level 0: Public key type ? (3072/128 Bits/secBits), signed using sha256WithRSAEncryption
*   Certificate level 1: Public key type ? (2048/112 Bits/secBits), signed using sha256WithRSAEncryption
*   Certificate level 2: Public key type ? (2048/112 Bits/secBits), signed using sha256WithRSAEncryption
* Connected to sede.agenciatributaria.gob.es (195.77.198.30) port 443
* using HTTP/1.x
> GET /Sede/errores/erro4033.html HTTP/1.0
> Host: sede.agenciatributaria.gob.es
> User-Agent: curl/8.10.1
> Accept: */*
> Content-Type: text/xml;charset=UTF-8--cert
>
* Request completely sent off
< HTTP/1.1 200 OK
< date: Fri, 18 Oct 2024 11:21:08 GMT
< server: Apache
< x-frame-options: SAMEORIGIN
< last-modified: Tue, 24 Jan 2023 12:41:49 GMT
< accept-ranges: bytes
< content-length: 6780
< x-site: Sede
< content-type: text/html
< x-xss-protection: 1; mode=block
< strict-transport-security: max-age=31536000; includeSubDomains
< content-security-policy: frame-ancestors 'self' *.agenciatributaria.gob.es
< connection: close
<
<!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="topIzquierda" class="pl-0"><nav class="header-contLogos_aeat"><a href="/Sede/inicio.html" title="Página de inicio" class="header-logosPrincipales_aeat"><span class="logoGobierno Sede">Logotipo Gobierno de España</span><span class="logoAEAT logoSite logoSede ml-2 overflow-hidden">Logotipo Organismo</span></a></nav></div><!-- CABECERA IZQUIERDA FIN -->
</div>
          </div>
        </div>
        <!--googleon: index-->
        <!-- CABECERA FIN -->
    <!-- MENU -->
        <!--googleoff: index--><div class="w-100 bg-primary p-1"><div class="container"><div class="row justify-content-between align-items-center"><button class="header-btnMovil_aeat text-white d-lg-none col-2 btn btn-link" type="button" id="menuPrincipal"><i class="aeat-ico fa-ico-menu ico-size-2 w-100" title="Abrir menú móvil" aria-hidden="true" role="presentation"></i><span class="sr-only">Menú móvil</span></button><nav id="aeat_menuPrincipal" class="navbar-dark navbar navbar-expand-lg p-0 col-12 col-xl-8 col-lg-9 d-none d-lg-flex" aria-label="Menú principal"><!--clase para movil: header-navMovil_aeat--><ul class="navbar-nav"><li class="nav-item"><a href="#" class="py-3 px-4 nav-link dropdown-toggle invisible" role="button"><span>Aqui se cargarán las opciones del menú cuando estén disponibles</span></a></li></ul></nav></div></div></div><!--googleon: index-->
<!-- MENU FIN -->
</header><nav aria-label="Migas navegación" class="js-nav-principal d-print-none d-app-none">
        <ol class="breadcrumb container bg-transparent px-md-4 px-3">
<li class="breadcrumb-item breadcrumb-item__volver"><a data-aeat-id='b3552c121d27c610VgnVCM100000dc381e0aRCRD' href='/Sede/inicio.html'><i class="aeat-ico fa-ico-chevron-left ico-size-mini mr-2 d-md-none" aria-hidden="true" role="presentation"></i>Inicio</a></li>
</ol>
</nav><div class="container-text js-container">
                        <div class="row my-3 justify-content-center">
                                <main class="col-12 col-lg-7" id="acc-main">
                                        <div class="d-flex"><i class="aeat-ico fa-ico-error-sm ico-size-4 mr-3 text-danger" aria-hidden="true" role="presentation"></i><h1 id="js-nombre-canal" class="font-weight-bold mb-0 display-4 mb-3 text-danger">403</h1></div><p>Error de identificación. No se detecta certificado electrónico o no se ha seleccionado correctamente.</p><a target="_blank" title="Comprobaciones para solucionar el error 403, se abre en ventana nueva" href="/Sede/ayuda/consultas-informaticas/firma-digital-sistema-clave-pin-tecnica/error-403-error-conexion-ssl-pagina.html" class="d-block">Comprobaciones para solucionar el error 403<i class="aeat-ico fa-ico-ventana-nueva-sm ico-size-1 ml-1" role="img" title="Se abre en ventana nueva"></i></a><p class="small mt-1 w-100mb-0">Si tiene certificado electrónico, compruebe que está correctamente instalado en el navegador</p><a target="_blank" title="Comprobaciones técnicas para el funcionamiento del DNIe, se abre en ventana nueva" href="/Sede/ayuda/consultas-informaticas/firma-digital-sistema-clave-pin-tecnica/comprobaciones-tecnicas-funcionamiento-dnie.html" class="d-block">Comprobaciones técnicas para el funcionamiento del DNIe<i class="aeat-ico fa-ico-ventana-nueva-sm ico-size-1 ml-1" role="img" title="Se abre en ventana nueva"></i></a><p class="small mt-1 w-100mb-0">Si utiliza DNI electrónico</p><a target="_blank" title="Error 403 al registrarse en Cl@ve, se abre en ventana nueva" href="/Sede/ayuda/consultas-informaticas/firma-digital-sistema-clave-pin-tecnica/eror-403-error-conexion-ssl-pagina/error-conexion-quiere-registrarse-sistema-403.html" class="d-block">Error 403 al registrarse en Cl@ve<i class="aeat-ico fa-ico-ventana-nueva-sm ico-size-1 ml-1" role="img" title="Se abre en ventana nueva"></i></a><p class="small mt-1 w-100mb-0">Si está intentando registrarse en Cl@ve y aparece el error 403</p><a target="_blank" title="Comunicar incidencia, se abre en ventana nueva" href="https://www2.agenciatributaria.gob.es/soporteaeat/Formularios.nsf/soporteOnline.php?OpenForm&codigoError=403" class="d-block">Comunicar incidencia<i class="aeat-ico fa-ico-ventana-nueva-sm ico-size-1 ml-1" role="img" title="Se abre en ventana nueva"></i></a><p class="small mt-1 w-100mb-0">Si tras seguir estas indicaciones persiste el error</p></main>
                        </div>
                </div>

                <!--googleoff: index-->
                <!--
<section>
        <div id="last-update" class="container pb-3">
                <p class="small text-center mb-0">
                        Página actualizada: <time datetime="2023-01-24">24/enero/2023</time>
                </p>
        </div>
</section>
 -->
<footer class="bg-primary d-print-none d-app-none" >
<noscript><div class="container py-3"><div class="row"><a class="text-white"   href="https://sede.agenciatributaria.gob.es/Sede/condiciones-uso-sede-electronica/accesibilidad/declaracion-accesibilidad.html">Accesibilidad</a></div></div></noscript><div id="js-pie-fecha-social" class="container pb-3"><div class="row"><div id="last-update" class="col-12 col-sm-9 col-lg-10 mb-2"><p class="small text-center text-white mb-0">Página actualizada: <time datetime="2023-01-24">24/enero/2023</time></p></div></div></div></footer><!--googleon: index-->

        </div>
        <div class="d-none">
   <span class="js-responsive d-xs-block"></span>
   <span class="js-responsive d-sm-block"></span>
   <span class="js-responsive d-md-block"></span>
   <span class="js-responsive d-lg-block"></span>
   <span class="js-responsive d-xl-block"></span>
   <span class="js-responsive d-xxl-block"></span>
   <span class="js-responsive d-xxxl-block"></span>
 </div>
<link href="/static_files/common/css/aeat.07.print.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="/static_files/common/script/aeat.07.js"></script>
</body>
</html>
* shutting down connection #2
* TLSv1.3 (OUT), TLS alert, close notify (256):
Veo que indica Could not resolve host: empresa.pem, ¿es porque no esta bien el certificado que he creado con tu convert?

¿Alguna sugerencia?
Saludos,
Regards,

Jose Luis Alepuz
joseluis@mancomputer.com
www.mancomputer.com
paquitohm
Posts: 286
Joined: Fri Jan 14, 2022 8:37 am

Re: España: Normativa sancionadora sistemas informáticos

Post by paquitohm »

Sin pensar mucho, como de habitual :mrgreen: , se me ocurre que te falta un espacio separador en:

Code: Select all | Expand

"Content-Type: text/xml;charset=UTF-8"--cert
Garbi
Posts: 344
Joined: Wed Nov 02, 2005 3:28 pm

Re: España: Normativa sancionadora sistemas informáticos

Post by Garbi »

Sin pensar mucho, como de habitual :mrgreen: , se me ocurre que te falta un espacio separador

Vamos a ser suaves, para dejarlo pasar :D

Corregido el envio reporta :

Code: Select all | Expand

.\curl\bin\curl -k --connect-timeout 60 -m 300 -s -S -L --header "Content-Type: text/xml;charset=UTF-8" --cert "empresa.pem" --key "empresa_key.pem"  --data 1.xml --output respuesta.xml https://prewww1.aeat.es/wlpl/TIKE-CONT/ws/SistemaFacturacion/VerifactuSOAP -v
* Host prewww1.aeat.es:443 was resolved.
* IPv6: (none)
* IPv4: 195.77.198.76
*   Trying 195.77.198.76:443...
* ALPN: curl offers h2,http/1.1
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
} [310 bytes data]
* TLSv1.3 (IN), TLS handshake, Server hello (2):
{ [87 bytes data]
* TLSv1.2 (IN), TLS handshake, Certificate (11):
{ [4208 bytes data]
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
{ [461 bytes data]
* TLSv1.2 (IN), TLS handshake, Request CERT (13):
{ [16652 bytes data]
* TLSv1.2 (IN), TLS handshake, Server finished (14):
{ [4 bytes data]
* TLSv1.2 (OUT), TLS handshake, Certificate (11):
} [2263 bytes data]
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
} [70 bytes data]
* TLSv1.2 (OUT), TLS handshake, CERT verify (15):
} [264 bytes data]
* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
} [1 bytes data]
* TLSv1.2 (OUT), TLS handshake, Finished (20):
} [16 bytes data]
* TLSv1.2 (IN), TLS change cipher, Change cipher spec (1):
{ [1 bytes data]
* TLSv1.2 (IN), TLS handshake, Finished (20):
{ [16 bytes data]
* SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256 / [blank] / UNDEF
* ALPN: server did not agree on a protocol. Uses default.
* Server certificate:
*  subject: C=ES; L=Madrid; O=Agencia Estatal de Administración Tributaria; CN=*.aeat.es
*  start date: Oct 23 08:43:06 2023 GMT
*  expire date: Nov 23 08:43:05 2024 GMT
*  issuer: C=US; O=Entrust, Inc.; OU=See http://www.entrust.net/legal-terms; OU=(c) 2012 Entrust, Inc. - for authorized use only; CN=Entrust Certification Authority - L1K
*  SSL certificate verify result: self signed certificate in certificate chain (19), continuing anyway.
*   Certificate level 0: Public key type ? (3072/128 Bits/secBits), signed using sha256WithRSAEncryption
*   Certificate level 1: Public key type ? (2048/112 Bits/secBits), signed using sha256WithRSAEncryption
*   Certificate level 2: Public key type ? (2048/112 Bits/secBits), signed using sha256WithRSAEncryption
* Connected to prewww1.aeat.es (195.77.198.76) port 443
* using HTTP/1.x
> POST /wlpl/TIKE-CONT/ws/SistemaFacturacion/VerifactuSOAP HTTP/1.1
> Host: prewww1.aeat.es
> User-Agent: curl/8.10.1
> Accept: */*
> Content-Type: text/xml;charset=UTF-8
> Content-Length: 5
>
} [5 bytes data]
* upload completely sent off: 5 bytes
< HTTP/1.1 200 OK
< content-type: text/xml;charset=UTF-8
< dit-niu: 46020459447
< content-length: 5751
< dit-tarea: 87
< dit-servidor: WLP00401
< dit-idpeticion: 20241018170843133025
< date: Fri, 18 Oct 2024 15:08:43 GMT
< x-ua-compatible: IE=7
< set-cookie: CERT_WWW1=18E13E445C5D0085616C1B7D29F2766812C144C9829EA7C954F7780E41151E2C40865DF516ED74F1C10BF89A324BFD746134F3CC419404F03B3D0D21888F2FF94C34115264A99FB92774379AF3BC72C58AE5832BNJX5XEpFv/iBRHx/mf/pI71ZXtlp1bXh4yHs/US6p5rNVKcbQx8D3ZRQwhn+lySalfxvhgzWbgBau+3fy6FlI3pwQtM+o/we/XJEhpleXidDP821CButgkJValRCaC+TWIOYwTvraRKrw4lNyMC/wY0eXVen+CwuO1puc8KIFiDdyADifIO4FT/JmnKMDgU+SBNfeLJYkp73iGyVHXhS8xhe3oDZtrevJ5W6M4E5ZrqAkRdWJ9g5H2EB79AaP6Fd+UuOASrK5aWTCxzumyp7L3aRYoHmh/Qe+Nx6ODgqghJkoutUDokgMT2IvEbtELaYZpvJs0Bv0ZMHlPrH1K+qLTboG+XlFVoyJKsJ+TJTZ9sFJBAGbmq3PzorcKxr0wpEtInfwRyBhhUDZ+Q8417RH4dcgBWfQQbF6QQJrvCjMy7r4HEicMh3+xBX4TRZJDLGqA==; Domain=.aeat.es; Path=/; HttpOnly; Secure
< set-cookie: CERT_WWW1V=20241018-16384312; Domain=.aeat.es; Path=/; Secure
< set-cookie: sgat_id_usr_sede=%7B%22tipoAcceso%22%3A%22C%22%2C%22fechaYHora%22%3A%2220241018170843134%22%2C%22nombre%22%3A%22MAN%20SOFT%20COMPUTER%20SL%22%7D; Domain=.aeat.es; Path=/; Secure
< dit-codigo-respuesta: 0
< content-language: es-ES
< expires: Thu, 01 Dec 1994 16:00:00 GMT
< cache-control: no-cache="set-cookie, set-cookie2"
< x-site: Sede
< referrer-policy: strict-origin-when-cross-origin
< x-xss-protection: 1; mode=block
< strict-transport-security: max-age=31536000; includeSubDomains
< content-security-policy: frame-ancestors 'self' *.aeat.es
<
{ [2514 bytes data]
* Connection #0 to host prewww1.aeat.es left intact


Y el fichero respuesta :

Code: Select all | Expand

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Body>
<env:Fault>
<faultcode>env:Client</faultcode>
<faultstring>Codigo[1304].El contenido no está permitido en el prólogo. (1,1)</faultstring>
<detail>
<callstack>XML no válido o mal formado WSExcepcion [faultcode=null, detailMap=null, version=0, faultstring=El contenido no está permitido en el prólogo. (1,1), faultactor=null, faultSubCode=null, reasonText=null, detail=null, nameSpaceUriDetail=null] at es.aeat.adws.jdit.imp.ws.WSFilterSrvImpl.verificarFirma(WSFilterSrvImpl.java:845) at es.aeat.adws.jdit.imp.ws.WSFilterSrvImpl.doFilter(WSFilterSrvImpl.java:225) 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.webapp.WebApp.handleRequest(WebApp.java:5096) at com.ibm.ws.webcontainer.osgi.DynamicVirtualHost$2.handleRequest(DynamicVirtualHost.java:328) at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1047) 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) Caused by: es.aeat.adws.jdit.api.xml.XmlExcepcion: El contenido no está permitido en el prólogo. (1,1) at es.aeat.adws.jdit.imp.xml.DomUtilsSrvImpl.isToDoc(DomUtilsSrvImpl.java:87) at es.aeat.adws.jdit.imp.xml.DomUtilsSrvImpl.isToDoc(DomUtilsSrvImpl.java:53) at es.aeat.adws.jdit.imp.ws.WSFilterSrvImpl.verificarFirma(WSFilterSrvImpl.java:773) ... 33 more Caused by: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; El contenido no está permitido en el prólogo. at java.xml/com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source) at java.xml/com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(Unknown Source) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(Unknown Source) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(Unknown Source) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(Unknown Source) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) at java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source) at java.xml/com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(Unknown Source) at java.xml/com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Unknown Source) at java.xml/javax.xml.parsers.DocumentBuilder.parse(Unknown Source) at es.aeat.adws.jdit.imp.xml.DomUtilsSrvImpl.isToDoc(DomUtilsSrvImpl.java:83) ... 35 more </callstack>
</detail>
</env:Fault>
</env:Body>
</env:Envelope>
Se que soy un abusón, :shock: ¿pero cual puede ser el error?, he revisado el listado de código de errores y el código [1304] no aparece
.
O si me podéis enviarme a mi email (esta en la firma un xml) correcto para probar lo agradecería mucho.

Un saludo
Saludos,
Regards,

Jose Luis Alepuz
joseluis@mancomputer.com
www.mancomputer.com
paquitohm
Posts: 286
Joined: Fri Jan 14, 2022 8:37 am

Re: España: Normativa sancionadora sistemas informáticos

Post by paquitohm »

Garbi,

En la pagina 35 del borrador de especificaciones hay un xml completo de alta de factura:
https://www.agenciatributaria.es/static ... n_SWeb.pdf
Garbi
Posts: 344
Joined: Wed Nov 02, 2005 3:28 pm

Re: España: Normativa sancionadora sistemas informáticos

Post by Garbi »

Justo ese es el que he cogido y he puesto datos de empresa y cif y lo intento enviar.
Si hicieras el favor de darme tu email te lo envio sin problemas y lo pruebas.

Gracias
Saludos,
Regards,

Jose Luis Alepuz
joseluis@mancomputer.com
www.mancomputer.com
paquitohm
Posts: 286
Joined: Fri Jan 14, 2022 8:37 am

Re: España: Normativa sancionadora sistemas informáticos

Post by paquitohm »

hmpaquitoARROBADOgmail.com

[EDITADO]
Por favor, mándame el archivo xml comprimido para así evitar que el correo pueda meter algo extraño
paquitohm
Posts: 286
Joined: Fri Jan 14, 2022 8:37 am

Re: España: Normativa sancionadora sistemas informáticos

Post by paquitohm »

Garbi,

Después de _:
No pude hacer funcionar tu xml. Errores de formato del xml.
SOAPUI me dió una pista: line -1: Missing message part with name [{https://www2.agenciatributaria.gob.es/s ... acturacion] , tiré por ella, busqué un xml con otro esquema, cogí uno generado vía chilkat y voilá, funcionó !!!

https://tools.chilkat.io/soap_wsdl_gene ... ang=phpExt

Realmente no sé qué pasa con el ejemplo de la Agencia, el del .pdf, porque me parece a mi que no funciona, al menos poniendole el end-point y el .xml no funciona.

Abajo xml y respuesta. la respuesta ya es de de sintaxis de dato, no de composición de xml, con lo cual ya sólo se trataría de poner datos correctos. Lo he probado con SOAPUI. Te dejo para ti que lo pruebes con curl.exe

Code: Select all | Expand

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sfLR="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd" xmlns:sf="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
    <soapenv:Header/>
    <soapenv:Body>
        <sfLR:RegFactuSistemaFacturacion>
            <sf:Cabecera>
                <sf:ObligadoEmision>
                    <sf:NombreRazon>string</sf:NombreRazon>
                    <sf:NIF>string</sf:NIF>
                </sf:ObligadoEmision>
            </sf:Cabecera>
            <sfLR:RegistroFactura>
                <sfLR:RegistroAlta>
                    <sf:IDVersion>1.0</sf:IDVersion>
                    <sf:IDFactura>
                        <sf:IDEmisorFactura>string</sf:IDEmisorFactura>
                        <sf:NumSerieFactura>string</sf:NumSerieFactura>
                        <sf:FechaExpedicionFactura>string</sf:FechaExpedicionFactura>
                    </sf:IDFactura>
                    <sf:NombreRazonEmisor>string</sf:NombreRazonEmisor>
                    <sf:TipoFactura>F1</sf:TipoFactura>
                    <sf:DescripcionOperacion>string</sf:DescripcionOperacion>
                    <sf:Desglose>
                        <sf:DetalleDesglose>
                            <sf:ClaveRegimen>01</sf:ClaveRegimen>
                            <sf:CalificacionOperacion>S1</sf:CalificacionOperacion>
                            <sf:BaseImponibleOimporteNoSujeto>string</sf:BaseImponibleOimporteNoSujeto>
                        </sf:DetalleDesglose>
                    </sf:Desglose>
                    <sf:CuotaTotal>string</sf:CuotaTotal>
                    <sf:ImporteTotal>string</sf:ImporteTotal>
                    <sf:Encadenamiento/>
                    <sf:SistemaInformatico>
                        <sf:NombreRazon>string</sf:NombreRazon>
                        <sf:NIF>string</sf:NIF>
                        <sf:NombreSistemaInformatico>string</sf:NombreSistemaInformatico>
                        <sf:IdSistemaInformatico>string</sf:IdSistemaInformatico>
                        <sf:Version>string</sf:Version>
                        <sf:NumeroInstalacion>string</sf:NumeroInstalacion>
                        <sf:TipoUsoPosibleSoloVerifactu>S</sf:TipoUsoPosibleSoloVerifactu>
                        <sf:TipoUsoPosibleMultiOT>S</sf:TipoUsoPosibleMultiOT>
                        <sf:IndicadorMultiplesOT>S</sf:IndicadorMultiplesOT>
                    </sf:SistemaInformatico>
                    <sf:FechaHoraHusoGenRegistro>dateTime</sf:FechaHoraHusoGenRegistro>
                    <sf:TipoHuella>01</sf:TipoHuella>
                    <sf:Huella>string</sf:Huella>
                </sfLR:RegistroAlta>
            </sfLR:RegistroFactura>
        </sfLR:RegFactuSistemaFacturacion>
    </soapenv:Body>
</soapenv:Envelope>
 

Code: Select all | Expand

HTTP/1.1 200 OK
content-type: text/xml;charset=UTF-8
dit-niu: 30000071847
content-length: 4800
dit-tarea: 60
dit-servidor: WLP00302
dit-idpeticion: 20241018232114993011
date: Fri, 18 Oct 2024 21:21:15 GMT
x-ua-compatible: IE=7
set-cookie: sgat_id_usr_sede=%7B%22tipoAcceso%22%3A%22C%22%2C%22fechaYHora%22%3A%2220241018232114993%22%2C%22nombre%22%3A%22COMERCIAL%20ROLDAN%20SL%22%7D; Domain=.aeat.es; Path=/; Secure
dit-codigo-respuesta: 0
content-language: es-ES
expires: Thu, 01 Dec 1994 16:00:00 GMT
cache-control: no-cache="set-cookie, set-cookie2"
x-site: Sede
referrer-policy: strict-origin-when-cross-origin
x-xss-protection: 1; mode=block
strict-transport-security: max-age=31536000; includeSubDomains
content-security-policy: frame-ancestors 'self' *.aeat.es

<?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[4116].Error en la cabecera: el campo NIF del bloque ObligadoEmision tiene un formato incorrecto.. NIF:string. NOMBRE_RAZON:string</faultstring><detail><callstack>Error en la cabecera: el campo NIF del bloque ObligadoEmision tiene un formato incorrecto.. NIF:string. NOMBRE_RAZON:string
WSExcepcion [faultcode=null, detailMap=null, version=0, faultstring=null, faultactor=null, faultSubCode=null, reasonText=null, detail=null, nameSpaceUriDetail=null]
    at es.aeat.tike.cont.imp.modelo.CabeceraSrvImpl.actualizaNIUsCabecera(CabeceraSrvImpl.java:49)
    at es.aeat.tike.cont.ws.VistaMaestro.procesaCabecera(VistaMaestro.java:123)
    at es.aeat.tike.cont.ws.VistaMaestro.inicializaParseaValidaProcesaCabecera(VistaMaestro.java:74)
    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>
Post Reply