You might want to start by reading the Wikipedia entries on Simple Object Access Protocol (SOAP) and Web Services Description Language (WSDL).
The basic idea is that it's a universal way for a web server to expose internal functionality (like an API) to external machines that may be running entirely different systems.
The way I've seen it work is that you create a WSDL object or a SOAP object in PHP. You feed it a web services url on the server you want to query either when you create it or when you initialize it and this creates a programming object that contains methods and perhaps properties that you can call based on the contents of the web services url. Its almost like you define a object based on a class that is defined on the remote machine.
You may want to start reading here:
http://www.php.net/manual/en/intro.soap.php
I have found that in practice that these things can be finicky. You have to be extra careful to check for errors in your code. Sometimes your code seems fine and there are no errors but the remote system isn't working or returning valid results and you have to contact the remote service maintainers and ask them what is wrong. Not all web services are created equal and some folks don't bother reporting errors to you.