//Creamos el objeto:
oWS := CreateOleObject('MSXML2.ServerXMLHTTP.6.0');
// La web de donde conectamos.
oWS.Open('POST', EditUrlWebService.text, false);
// Establecer el timeout de la operación:
// resolveTimeout, connectTimeout, sendTimeout, receiveTimeout
// Los valores son en milisegundos:
oWS.setTimeouts(0, 60000, 300000, 300000);
// Le paso como parámetro el certificado a utilizar
oWS.SetOption(3, EditCertificado.Text);
// El método al que vamos a llamar.
oWS.SetRequestHeader('SOAPAction', 'VNifV2');
// Hacemos la llamada
oWS.Send(UTF8Encode(MemoXML.Lines.Text));
// Esperamos la respuesta y según el status, mostramos el posible error
if ows.Status <> 200 Then MemoRespuesta.Lines.add(IntToStr(ows.Status) + ' - ' + ows.StatusText);
// Con esto obtengo la respuesta en bruto. IDEAL para sabar cuales son los mensajes de error que devuelve el servidor
{ MemoRes.Lines.add(oWS.responseText);
MemoRes.Lines.add('----'); }
// Mostramos la respuesta obtenida en el memo correspondiente
MemoRespuesta.Lines.clear;
MemoRespuesta.text := XMLDoc.FormatXMLData(oWS.responseXML.XML);