How is SOAP message passed through these intermediaries ? Who makes sure that the SOAP message passes through these intermediate nodes?
The client only knows about the web service(the ultimate receiver), right?
Wrong. The client only knows of the address of the gateway. The gateway is responsible for passing the request forward to the ultimate receiver (or any other intermediaries in between). If you have Monson-Haefel's "J2EE Web Services" at hand, the subject is discussed (to some degree) from page 95 onward.
Is the concept similar to Filters in J2EE?
I'd say it's closer to a HTTP Proxy than Filters.