Al final a base de leer esta web y otras y copiar y pegar he conseguido crear la factura electronica firmada y correctamente validada mediante secureblackbox (son muy buenas con ejemplos para hacerlo todo) y de hecho ya las envio manualmente a traves de
https://face.gob.es/es/remitir-factura
, mi problema ahora es enviarla via webservice segun la siguiente documentacion
http://administracionelectronica.gob...s#.VOWOBeaG-TM
esto es una webservice definida para entorno de pruebas
https://se-face-webservice.redsara.es/sspp?wsdl
o produccion
https://webservice.face.gob.es/sspp?wsdl
son iguales solo cambia la direccion inicial
, en este caso solo me interesa el procedimiento enviarfactura esto consiste en hacer una petición soap FIRMADA (como odio esto de las firmas

) adjunto peticion SOAP que he creado y creo que es correcta y aqui viene el problema, he empleado diversos metodos para enviar la peticion, el componente SOAP que viene con SecureBlackBox
Código Delphi
[-] FXMLDocument := TElXMLDOMDocument.Create;
FXMLDocument.LoadFromFile(extractfilepath(application.exename) + 'requestsoap.xml');
FSOAPClient := TElXMLSOAPClient.Create(nil);
try
FSOAPClient.SOAPPrefix := 'soap';
FSOAPClient.SOAPVersion := SOAP_v1_2;
FSOAPClient.OperationName := 'enviarFactura';
FSOAPClient.OperationNamespaceURI := 'https://se-face-webservice.redsara.es';
FSOAPClient.MessageNamespaces.Clear;
FSOAPClient.HTTPClient := HTTPSClient;
FSOAPClient.URL := 'https://se-face-webservice.redsara.es/sspp';
FSOAPClient.SOAPAction := 'https://se-face-webservice.redsara.es/sspp/enviarFactura';
fsoapclient.GenerateMessage;
FSOAPClient.XMLDocument.LoadFromFile(extractfilepath(application.exename) + 'requestsoap.xml');
FSOAPClient.SOAPMessage.LoadFromXML(FSOAPClient.XMLDocument); FSOAPClient.SendMessage;
except
on E: Exception do
begin
MessageDlg('Failed to send SOAP message: ' + E.Message, mtError, [mbOk], 0);
end;
end;
o mediante el pas creado con el WDSL importer de Delphi ( lo adjunto sspp_serviceprueba)
Código Delphi
[-] sspp := GetSSPPWebServiceProxyPort(FALSE, '', nil);
facturasspp := ssppfactura.Create;
facturasspp.correo := tsdat[16];
facturassppfichero := ssppficherofactura.Create;
facturassppfichero.nombre := MFIC;
facturassppfichero.factura := '72345';
facturassppfichero.mime := 'application/xml';
facturasspp.fichero_factura := facturassppfichero;
resulsspp := sspp.enviarFactura(facturasspp)
en ambos casos recibo connection lost y no consigo hacer nada mas, tambien creo que si en cualquier navegador tecleo el punto de entrada
https://se-face-webservice.redsara.e.../enviarfactura mas ?= y el requestsoap tambien deberia de funcionar pero recibo FIRMA INVALIDA ..
Ya se que el tema es muy complicado pero si alguien tiene alguna idea de por donde tirar se lo agradeceria, así como estoy dispuesto a pagar (dentro de unos limites

) si alguien ya lo ha solucionado ...
Gracias