Hola Espinete, despues de mucho tiempo voy a retomar este tema. Cuando lo deje estaba atascado con el error "connection lost" ahora no me da error pero el servicio retorna
<faultcode>500</faultcode>
<faultstring>20151127135337151899 - 300 - El certificado electrónico no está dado de alta en FACe. Para la presentación automatizada de facturas es necesario registrarse previamente en https://face.gob.es/es/proveedores</faultstring>
me fijo que he empleado el servicio definido en
https://webservice.face.gob.es/sspp
el cual segun la nueva documentacion es antiguo (aunque esta activo

)
si empleo los nuevos, recibo diferentes errores para la misma peticion soap que antes (que no da error)
STAGING (
https://se-face-webservice.redsara.es/facturasspp2) RCP-Literal
Decode from base64 failed
PROD (
https://webservice.face.gob.es/facturasspp2) RCP-Literal
Xml parse error at position 1 (0x1)
¿Alguna idea? Gracias
Este el el codigo
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.MessageNamespaces.Clear;
FSOAPClient.HTTPClient := HTTPSClient;
FSOAPClient.URL := 'https://webservice.face.gob.es/facturassspp2';
FSOAPClient.OperationNamespaceURI := 'https://webservice.face.gob.es';
FSOAPClient.SOAPAction := 'https://webservice.face.gob.es#enviarFactura';
fsoapclient.GenerateMessage;
FSOAPClient.XMLDocument.LoadFromFile(extractfilepath(application.exename) + 'requestsoap.xml');
FSOAPClient.SOAPMessage.LoadFromXML(FSOAPClient.XMLDocument);
FSOAPClient.SendMessage;
fsoapclient.ResponseXMLDocument.SaveToFile('resul.xml');
except
on E: Exception do
begin
MessageDlg('Failed to send SOAP message: ' + E.Message, mtError, [mbOk], 0);
end;
end;