TIdTCPClient ist gut geeignet wenn man sich ein eigenes Protokoll oder ein nicht bei
Indy standardmäßig enthaltenes realisieren will.
Für
XML / Web Services ist allerdings meist HTTP(S) im Einsatz. Es wäre daher zu prüfen ob der Kunde HTTP(S) einsetzt, dann kann man die
Indy Komponente TIdHTTP einsetzen.
Damait spart man die Neuimplementierung dieses Protokolls.
p.s. falls es nicht HTTP(S) ist, dann ist der Aufruf mit TIdTCPClient trivial - es gibt darin Methoden um die Daten entweder mit vorangestellter Längenangabe oder mit einem Terminator (z.B. ein Nullbyte) zu senden und zu empfangen.