Although there could in theory be a binding of
SOAP to TCP (just like there are bindings to SMTP or JMS), I'm not aware that one actually exists. The beauty (or danger, according to some people) of using HTTP is that it travels over port 80, which is open on most firewalls. That's not true for just any TCP port.
What are you trying to achieve by using plain TCP instead of HTTP (which also uses TCP, of course)?