FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Cita:
Te lo puedes descargar gratititamente y generar en un momento, lo vas a ver rápido pero tambien hay muchos tutoriales si lo buscas en Google Yo he cambiado los prefijos que me había generado que no me gusta mucho que ponga sum: sum1: ... Es una lástima que uan no haya puesto la referencia del servicio web (Res) de pruebas. Por eso te da error |
#2
|
|||
|
|||
Cita:
El problema viene después para el envío de la petición, que me temo que desde Delphi 2007 voy a tener problemas con el certificado. ¿Verdad? |
#3
|
|||
|
|||
Cita:
Ya iré poniéndolo. Última edición por ermendalenda fecha: 03-08-2022 a las 22:30:30. |
#4
|
|||
|
|||
Cita:
Si quieres que te ayude con algún tipo de prueba, ya me dices... Un saludo. |
#5
|
|||
|
|||
Cita:
Ve adelantandando mirando el funcionamiento de curl.exe , échale un vistazo a los parámetros para que lo asimiles rápido. Esto está al alcance de todos los desarrolladores, da igual que programen en cobol delphi versiones antiguas, vb6.. Última edición por ermendalenda fecha: 03-08-2022 a las 22:57:29. |
#6
|
|||
|
|||
Envio De Soap
Hola, para los desarrolladores que tenemos lenguajes "Arcaicos", hay 2 soluciones que pasan por Curl.exe y depende de la construcción final del SOAP.
Aunque debes revisar a ver si delphi 2007 tiene librería curl. Este metodo de envio lo uso para Factura Electrónica y funciona perfectamente, Faceb y Faceb2b por Soap. Vamos a explicar los parametros del envio: *El envio(Ojo este es para Factura electronica, aún no tenemos los parametros para Verifactu: Código:
curl --connect-timeout 10 --insecure -A "FacturaePHP/1.7.1" -H "SOAPAction: https://webservice.face.gob.es#enviarFactura" --data "@C:\....\...\archivo.xml" --cert-type P12 --cert c:\....\fichero_certificado.pfx:clave -H "Content-Type: text/xml" https://se-face-webservice.redsara.es/facturasspp2 -o C:\....\Respuesta_face_o.html -D C:\...\Respuesta_face_D.html --connect-timeout 10 ----> Tiempo de espera ante eventuales problemas de conexión, es recomeendable por que hay casos en que se eterniza la conexión si hay un problema. --insecure ----> Puede ser necesario para qyue se admitan conexiones SSl poco seguras -A "FacturaePHP/1.7.1" --> Variable CURLOPT_USERAGENT, pueden solicitar que tenga un contenido especifico en caso de factura electrónica es la versión del esquema utilizado: FacturaPhp/1.7.1 -H "SOAPAction: https://webservice.face.gob.es#enviarFactura" ----> Equivale a la variable CURLOPT_HTTPHEADER= Cabecera de Envio. -H "Content-Type: text/xml" ----> Otro Contenido de la variable CURLOPT_HTTPHEADER --data "@C:\tpvision\Facturarealcanasta_FICTICIO_fichero.xml" ---> Fichero a Enviar, construido con el Soap --cert-type P12 --cert c:\....\fichero_certificado.pfx:clave ----> Certificado Electronico y clave, ojo con esto ya que es demasiado visible, hay que intentar que la ejecución al menos sea invisible y no dejar rastro. https://se-face-webservice.redsara.es/facturasspp2 ----> Servicio WEB/RES -o C:\....\Respuesta_face_o.html --> Respuestaen XML se envia al fichero indicado -D C:\...\Respuesta_face_D.html ---> Respuesta Simple Ok,Ko, Error xxx.., igualmente se envia al ficherro indicado, noponer el mismo qu en -o Si en la composicion del Soap pidieran, como en Face algun dato del certificado, por ejemplo la variable publica, el soap podrias hacerlo con php, que eso es otra historia que si hace falta ya lo pondré, y en ese caso el envio lo pdrias hacer tambien en php: Este sería el envio del soap en php, que tambien puedes ejecutarlo con un comando curl desde cualquier aplicacion, si fuera necesario ampliaré esto:: Código:
$ch = curl_init(); curl_setopt_array($ch, array( CURLOPT_URL => $GLOBALS['endpoint'], CURLOPT_RETURNTRANSFER => 1, CURLOPT_SSL_VERIFYPEER => 0, CURLOPT_TIMEOUT => 30, CURLOPT_POST => 1, CURLOPT_POSTFIELDS => $req, CURLOPT_HTTPHEADER => array( "Content-Type: text/xml", "SOAPAction: " . $soapAction ), CURLOPT_USERAGENT => "FacturaePHP/" . $GLOBALS["version"] )); $res = curl_exec($ch); curl_close($ch); unset($ch); Última edición por ermendalenda fecha: 04-08-2022 a las 08:39:40. |
#7
|
|||
|
|||
Una cosa que es jodida:
Curl usa certificados propios (con caducidad) para ejecutarse,así que tened en cuenta que en algún momento hay que actualizarlo. El último de curl.exe caduca en 2028, que además coincide con la intención global de cambiar los métodos de cifrado actuales, hashes y todo lo que venga. Por eso pienso que han reservado un campo en el que indican el algoritmo para el calculo de hash y actualmente solo admite el sha256 Última edición por ermendalenda fecha: 04-08-2022 a las 09:05:02. |
#8
|
|||
|
|||
Cita:
Voy a leerlo con calma unas cuantas veces para digerirlo bien. Una duda. ¿Para generar el fichero xml desde SOAP, como lo haría con el SOAPUI que me comentaste en un post anterior? |
#9
|
||||
|
||||
Aunque no son definitivos (y es otro hilo), el envío será similar a los que hemos hecho en otros proyectos con hacienda (en concreto con TicketBAI).
Puedes mirar más ejemplos de envío con CURL en estos hilos: https://www.clubdelphi.com/foros/sho...&postcount=769 https://www.clubdelphi.com/foros/sho...&postcount=737 https://www.clubdelphi.com/foros/sho...&postcount=746 https://www.clubdelphi.com/foros/sho...&postcount=889 https://www.clubdelphi.com/foros/sho...postcount=2996 Aprovechando, que en breve imagino que iremos teniendo algo de código, vamos a utilizar el mismo sistema que otras veces y usaremos el segundo mensaje del hilo para ir poniendo referencias a códigos que los usuarios vayan publicando (el primero queda como resumen de datos importantes). Así, en este primer mensaje del hilo dejamos el resumen, y en este segundo iremos añadiendo referencia a códigos útiles. Es similar a lo que hemos hecho aquí con TicketBAI (segundo hilo con códigos útiles). Pongo aquí la referencia de TicketBAI, porque como el sistema es muy similar, posiblemente los códigos que hemos utilizado para TicketBAI/Batuz serán iguales o muy similares a los que vamos a utilizar en Veri*Factu. Además hay referencias a como hacer las cosas con diferentes componentes e incluso con diferentes lenguajes. Recomiendo a todos aquellos que estáis empezando a codificar o que todavía no lo habéis hecho y estáis pensando cómo hacerlo que dediquéis antes algo de tiempo a revisar este mensaje (creo que os puede ser útil y ospuede ayudar a haceros una idea de los que vaís a necesitar -en cuando a componentes-.
__________________
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. |
#10
|
|||
|
|||
Cita:
Buenos días. Aprovechando el ejemplo que publicaste he estado haciendo pruebas para el envío de las FacturaE, que actualmente lo estaba haciendo manual, y parece que gracias a tu ejemplo, le voy a poder sacar provecho en automático. Lo único que he tenido que retocar es la parte donde se indica la url a la que conectarse. Para que funcione bien tuve que dejarlo así: Código:
"Content-Type: text/xml" -v https://se-face-webservice.redsara.es/facturasspp2" |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Hijo de Informáticos | gluglu | Humor | 3 | 13-03-2007 11:05:35 |
Adictos informaticos ... | Trigger | Humor | 2 | 11-10-2004 12:18:32 |
Nosotros los Informáticos | Trigger | Humor | 1 | 10-10-2004 14:58:09 |
Patrón de los Informáticos. | obiwuan | Varios | 20 | 10-09-2003 14:44:54 |
Chistes Informaticos | jhonny | Humor | 2 | 11-08-2003 21:59:09 |
|