12.8. Sending SOAP Requests
Problem
You want to send a SOAP request. Creating a SOAP client allows you to gather information from SOAP servers, regardless of their operating system and middleware software.
Solution
Use PEAR’s SOAP classes. Here’s some client code that uses the GoogleSearch SOAP service:
require 'SOAP/Client.php'; $query = 'php'; // your Google search terms $soap = new SOAP_Client('http://api.google.com/search/beta2'); $params = array( new SOAP_Value('key', 'string', 'your google key'), new SOAP_Value('q', 'string', $query), new SOAP_Value('start', 'int', 0), new SOAP_Value('maxResults', 'int', 10), new SOAP_Value('filter', 'boolean', false), new SOAP_Value('restrict', 'string', ''), new SOAP_Value('safeSearch', 'boolean', false), new SOAP_Value('lr', 'string', 'lang_en'), new SOAP_Value('ie', 'string', ''), new SOAP_Value('oe', 'string', '')); $hits = $soap->call('doGoogleSearch', $params, 'urn:GoogleSearch'); foreach ($hits->resultElements as $hit) { printf('<a href="%s">%s</a><br />', $hit->URL, $hit->title); }
Discussion
The Simple
Object Access Protocol
(SOAP), is, like XML-RPC, a method for exchanging information over
HTTP. It uses XML as its
message format, which makes it easy to create and parse. As a result,
because it’s platform- and language-independent,
SOAP is available on many platforms and in many languages, including
PHP. To make a SOAP request, you instantiate a new
SOAP_Client
object and pass the constructor the location of the page to make the ...
Get PHP Cookbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.