Ver Mensaje Individual
  #17  
Antiguo 10-10-2024
Avatar de bmfranky
bmfranky bmfranky is offline
Miembro
 
Registrado: may 2024
Ubicación: Gandia, Valencia
Posts: 863
Reputación: 3
bmfranky Va por buen camino
Cita:
Empezado por nincillo Ver Mensaje
Pues suerte con la "reparación" a ver si al final consigues algo...

Yo de momento estoy haciendo pruebas con la Delphi 12 Community, los WSDL y el HTTPRio y he atascado en un punto que de momento no he conseguido "desatascar".
Ya genero una parte del xlm, ya hago hago el envío y ya recibo la respuesta del servidor diciendo que me falta rellenar tal o cual campo. Hasta ahí todo normal. El problema lo tengo con el certificado y más concretamente con la contraseña de éste.

Código:
  
var
    rfsf : RegFactuSistemaFacturacion;
    result : RespuestaRegFactuSistemaFacturacionType;
begin

  rfsf := RegFactuSistemaFacturacion.Create;
  rfsf.Cabecera := Cabecera.Create;
  ...
  ...
  ...
  result := RespuestaRegFactuSistemaFacturacionType.Create;

  HTTPRIO1.HTTPWebNode.ClientCertificate.CertName := EditCertificado.text;
  HTTPRIO1.HTTPWebNode.ClientCertificate.Password := 'Pass123';

  SistemaFacturacion.RespuestaRegFactuSistemaFacturacion(result) := SistemaFacturacion.GetsfPortTypeVerifactu(false, EditUrl.Text, HTTPRIO1).RegFactuSistemaFacturacion(rfsf);
end;
Opciones que se me han dado:

1) Si no relleno el CertName, me sale una ventana donde seleccionar el certificado y posteriormente, si el certificado no tengo instalado con contraseña, entonces me sale otra ventana para introducir la contraseña.
2) Si relleno el CertName con un valor correcto, entonces ya no me sale la ventana para seleccionar el certificado, sino que ya me sale directamente la ventana para escribir la contraseña (si la tiene)
3) Si relleno el CertName y el Password, me pasa lo mismo que en la opción 2, me selecciona el certificado correcto pero también me pide que introduzca la contraseña y de momento, de ahí no paso.

A ver si alguien me puede dar un empujón...

Un saludo.
Hola, yo no uso delphi, pero en c# lo que hago es cargar el certificado en una variable, puedes hacerlo desde el archivo de guardado o desde el propio winfdows y luego pasarselo talcual.