Developing SOAP Clients using PHP - PEAR::SOAP (
Page 3 of 4 )
Let us assume that our web service is described at http://localhost/add.wsdl. To create a PEAR::SOAP client you can use the example below.
<?php
require_once 'SOAP/Client.php';
$url = 'http://localhost/add.wsdl';
$WSDL = new SOAP_WSDL($url);
$client = $WSDL->getProxy();
$params = array(
'a' => 1,
'b' => 6
);
$result = $client->add($params);
print_r($result);
?>
The first line includes PEAR::SOAP's client classes. If you have trouble loading the files, make sure your include_path contains the folder where PEAR files are stored. You first instantiate a new SOAP_WSDL object by passing $url, the location of our web service's WSDL file, to the constructor. Next, SOAP_WSDL::getProxy() is called, and it returns a client object, $client. This is what you use to make SOAP requests. Now make the actual add() query. This method takes a few arguments, which are passed in as an (associative) array. Parameter names are the array's keys, and their values are array values.
PEAR:SOAP converts your PHP data structures to a SOAP message written in XML and sends an HTTP request to the web server. PEAR::SOAP listens for the server's response and parses the XML into a PHP object, which is then returned by our method and stored in $result. Then we print the result value.
Installing PEAR::SOAP is very easy if you have a pear manager installed in your server. Use the following shell command for installing PEAR::SOAP.
pear install SOAP
This will download, unzip, and install PEAR::SOAP. Depending on which packages you've yet to install, you may get a dependency error. First install the dependent packages and then install SOAP.