Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-03-2015
espinete espinete is offline
Miembro
 
Registrado: mar 2009
Posts: 238
Poder: 16
espinete Va camino a la fama
Exclamation

Hola a todos...

Yo también estoy intentando enviar las facturas vía webservice, solo que con el problema añadido de que no tengo mucha experiencia con SOAP, WDSL, etc...

1) Tengo los componentes SecureBlackBox, en caso de que los necesite, que supongo que sí.
2) También he conseguido generar la factura (XML o XSIG) y firmarla. El servicio de validación de factura-e me la da como perfectamente válida.
3) He logrado importar el WSDL. Hasta aquí todo bien.

Al realizar el envío, me da el error "SOAP Request Signature is not valid". Tras investigar un poco, creo que también hay que FIRMAR la petición SOAP. ¿Cómo hago eso?

¿El mensaje SOAP es otro XML y dentro de éste debe ir el contenido de la factura XML convertido a base64? ¿Qué estructura debe tener este otro XML?
¿Puedo usar mi propio certificado digital para las pruebas, o he de usar el de ellos para pruebas?

¿Alguien puede ayudarme con esto?

Gracias!
Responder Con Cita
  #2  
Antiguo 17-07-2015
razorxxx razorxxx is offline
Miembro
 
Registrado: jul 2015
Posts: 19
Poder: 0
razorxxx Va por buen camino
Hola espinete,

Yo también me estoy dando cabezazos con esto de la firma electrónica, porque no tengo ni idea de Java, SOAP, etc. Pero bueno, ya estoy bastante avanzado.

Los de FACe van enviando periódicamente emails con los cambios que van haciendo, y tocan mucho los w...s. Por si a alguno le interesa, todos los envíos que realizan por correo pueden ser consultados en listas-ctt.administracionelectronica.gob.es/pipermail/face-notificacion/ sin necesidad de darse de alta en las listas de correo. Lo último que han informado parece ser importante, ya que es un cambio en la interfaz sspp, que ahora pasa a ser sspp2. No obstante, aseguran que hasta Octubre nada de nada. Pueden ver la noticia completa aquí: listas-ctt.administracionelectronica.gob.es/pipermail/face-notificacion/2015-June/000024.html.

Por lo que puedo deducir de la documentación de FACe para proveedores, concretamente "Interfaz WS FACe- Proveedores.pdf", es que hace falta generar un nuevo XML (que es el que se envía mediante SOAP) que es el que contiene la factura xsig pero en formato base64, así como otros datos como el nombre, el correo electrónico del proveedor, el tipo mime y los ficheros anexos (si los hubiera, éstos también codificados en base64). El total de archivos a enviar no puede superar los 8Mb, según leí en el archivo "integracion-y-recomendaciones.pdf". Un ejemplo de este XML es el que adjuntó elguille en el primer post dentro de requestsoap.zip.
Ahora bien, este nuevo fichero XML hay que firmarlo cumpliendo el estándar OASIS WSSecurity 1.0 X509 Token Profile, pero la firma es diferente a la que se usó para el xsig ya que tiene bloques como <wsse:BinarySecurityToken>, y no sé cómo firmar así. Si el compañero elguille u algún otro puede arrojar algo de luz se agradecería.

Sobre la codificación en base64 que alguien me corrija, pero en Delphi XE2 o superiores creo que basta con el siguiente código que encontré por internet (añadir al uses la librería "Soap.EncdDecd"):
Código Delphi [-]
function TPFIRMAR.ConvertirEnBase64(const FileName: string): AnsiString;
var
   Stream: TMemoryStream;
begin
     Stream := TMemoryStream.Create;
     try
        Stream.LoadFromFile(Filename);
        Result := EncodeBase64(Stream.Memory, Stream.Size);
     finally
        Stream.Free;
     end;
end;

¿Alguna ayuda para firmar el XML que debe enviarse por SOAP? elguille...¿has sabido por fin cómo se envía una vez generado el WSDL con el importer de Delphi?
¿Les funciona a día de hoy el entorno de pruebas de FACe?

Gracias de antemano!
Responder Con Cita
  #3  
Antiguo 27-10-2015
espinete espinete is offline
Miembro
 
Registrado: mar 2009
Posts: 238
Poder: 16
espinete Va camino a la fama
Hola de nuevo...

Hoy me han entrado escalofríos porque me han dicho que a partir de 2016 tienen previsto desplegar la factura electrónica en España de manera "obligatoria" para reducir el fraude, y no sólo a administraciones públicas, sino a todas las empresas, por lo que las facturas deberán enviarse a Hacienda a través de Internet tarde o temprano. Esto ya ocurre por ejemplo en México y otros países.

Creo que deberíamos entre todos intentar sacar esto adelante, porque no hay mucha información ni ejemplos en Delphi y nos va a costar más de la cuenta conseguirlo.

He encontrado este post que hace lo que necesitamos, pero en C# / .NET:
http://sourcedevnet.blogspot.com.es/...e-con-c-y.html

Por lo que he leído, la documentación de face es mejor no seguirla al pie de la letra (sería la primera vez que un manual oficial está bien explicado).

No debería ser tan complicado teniendo los componentes necesarios, pero todos estamos liados y no tenemos tiempo de ponernos a probar cosas, sobre todo porque muchas veces nos da error y no depende de nosotros sino del webservice, o bien nuestros conocimientos de un tema en concreto no son suficientes (soap, firmas, etc).

Yo uso los componentes de SecureBlackBox para firmar el .XML y generar el .XSIG
La importación del WSDL es sencilla, Delphi se encarga de todo así que no tiene mucha ciencia.
Eso sí, me pierdo entre tanta firma, los headers del soap, etc. ya que nunca he trabajado con soap.

¿Qué tal si vamos poniendo lo que tenemos a ver si entre todos vamos completando el proceso completo? ¿Qué os parece?
Responder Con Cita
  #4  
Antiguo 27-10-2015
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Poder: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Buena idea. Lo que propongo es crear otro hilo, igual que existe para los casos que mencionas. Así no está tan mezclado, ¿no?
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine
Responder Con Cita
  #5  
Antiguo 27-10-2015
Avatar de pacopenin
pacopenin pacopenin is offline
Miembro
 
Registrado: sep 2010
Ubicación: Asturias
Posts: 382
Poder: 14
pacopenin Va por buen camino
Sería una idea estupenda. Todos lo vamos a necesitar, así que podemos beneficiarnos.
__________________
http://www.gestionportable.com
Responder Con Cita
  #6  
Antiguo 28-10-2015
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.481
Poder: 21
newtron Va camino a la fama
Cita:
Empezado por espinete Ver Mensaje
Yo uso los componentes de SecureBlackBox para firmar el .XML y generar el .XSIG
Espinete, ¿tú podrías preparar en delphi (aunque fuera pagando), usando esos componentes, un ejecutable simple que desde la línea de comandos darle un fichero de entrada y otro de salida, te firmara el archivo y te generara el fichero de salida?. Ahora mismo estoy usando el programita que ya hemos visto en java pero molaría quitarse el java de enmedio.

Saludos
__________________
Be water my friend.
Responder Con Cita
  #7  
Antiguo 29-10-2015
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Poder: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
He movido algunos mensajes a este otro foro en Trucos, ya que me parece más apropiado. Puede seguirse la conversación apropiada aquí y allí, según el tema.
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine
Responder Con Cita
Respuesta



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
xml+xsl a pdf(Factura Electronica) jgutti Varios 4 21-02-2012 16:08:23
Factura electronica richy08 Varios 4 17-12-2010 00:40:34
Factura Electrónica aig Varios 13 10-12-2010 17:12:44
factura electronica cmm07 Varios 4 02-04-2009 17:46:03
factura electronica spia Varios 2 22-02-2009 21:30:06


La franja horaria es GMT +2. Ahora son las 02:19:07.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi