Ver Mensaje Individual
  #10  
Antiguo 05-11-2015
espinete espinete is offline
Miembro
 
Registrado: mar 2009
Posts: 233
Reputación: 16
espinete Va camino a la fama
Bueno, creo que lo he conseguido

Aquí pongo una captura de pantalla de la respuesta que me da el webservice después de crear la petición soap, firmarla y enviar una factura:
4.jpg

Voy a limpiar un poco el código, añadir comentarios y hacer pruebas con un certificado ya dado de alta en el webservice para comprobar que funciona correctamente, e iré publicando los pasos poco a poco.

Lo que he hecho es lo siguiente. A partir de un proyecto de ejemplo suministrado por los componentes SecureBlackBox, que permite firmar peticiones SOAP (que es lo que nos faltaba), lo he ido adaptando y simplificando para que, a partir de la factura electrónica que creamos en el primer post, añada la firma, cabeceras, etc. requeridas por el webservice.

Hay que hacer dos firmas: la primera, para crear la factura electrónica (primer post), y la segunda para firmar la petición soap. Para ambas firmas usaríamos el mismo certificado. Los componentes SecureBlackBox permiten usar cualquier tipo de certificado (a partir de un .p12, .cer, de los certificados instalados en Windows, etc.).

No he conseguido hacerlo sin los componentes SecureBlackBox, lo siento. Supongo que es posible usar un certificado del almacén de certificados de Windows con código puro y duro, pero no he tenido tiempo de averiguar eso. Además, habría que incrustar al SOAP las cabeceras y toda la información del certificado a mano, y aunque es posible, lo veo una locura. Los SecureBlackBox lo hacen automáticamente.

Intentaré publicar los pasos esta tarde o mañana.
Responder Con Cita