\documentclass{article} \usepackage{ulem} \pagestyle{headings} \begin{document} \part{Using SOAP/WSDL to Interface with the Horde API} Most Horde modules have an API interface which is used by other modules to access and exchange data. These API's are described in the \textsl{modulename/lib/api.php} files. Calling the \textsl{/rpc.php} in your Horde webroot allows you to access the API remotely via XML-RPC/DISCO/SOAP/WSDL/REST etc. The following script describes how to access a Horde installation remotely and list the APIs that are available. If you have IMP/Turba installed you can also try these calls which are commented out in the script:\newline \begin{verbatim} $test = print_r($client->contacts_sources(0, true), 1); $test = print_r($client->mail_folderlist(), 1); \end{verbatim} \newline For further information, refer to the http://dev.horde.org/\footnote{http://dev.horde.org/} \begin{verbatim}
" . print_r($wsdl, 1); $proxy_code = $wsdl->getMessage(); } else { $proxy_code = highlight_string($wsdl->generateProxyCode(), 1); $client = $wsdl->getProxy(); if (is_a($client, 'PEAR_Error')) { $client = $client->getMessage(); } else { $client = print_r($client, 1); } $client = new WebService_hordeService_hordePort(); if (!empty($horde_user) && !empty($horde_pass)) { $test = print_r($client->horde_listAPIs(), 1); //$test = print_r($client->contacts_sources(0, true), 1); //$test = print_r($client->mail_folderlist(), 1); } } // write to the html page $content = <<Horde RPC Test
WSDL Document $wsdl_url
$wsdl_data
Proxy Code
$proxy_code
Test
$test
END; echo($content); } $listing = highlight_file($_SERVER["SCRIPT_FILENAME"], 1); ?>Script Code
\end{verbatim} \end{document}