Yup its possible, PHP is specifically a web based language -- which Drupal is built upon.
For a REST based consuming service client for instance look at the Guzzle drupal community project. There is also the Services Client drupal community module to consume remote web services and uses UUIDs to map/sync fetched data. Your mileage may vary but all the pieces exist within Drupal and PHP. For instance even D7's core drupal_http_request can be used to craft your own HTTP requests, or your underlying PHP's installation CuRL library if you find drupals http function hindered by defaults.
There is also an issue and related sandbox project to add SOAP support to the Feeds drupal community module.
You say SOAP but thats only 1 piece of what can go over the wire. I've had to consume WS-* + SOAP based APIs from Drupal/PHP and I ended up creating XML by hand with CuRL to do it all. There are also libraries such as:
or this library to extend php5 ext/SOAP:
Ultimately understanding the remote API specs, and inter-operating with them from Drupal is on you the developer.