[cvs] [Wiki] changed: WSDLHowTo

Wiki Guest wiki at wiki.horde.org
Mon Jun 6 01:19:58 PDT 2005


guest [213.139.2.226]  Mon, 06 Jun 2005 01:19:58 -0700

Modified page: http://wiki.horde.org/WSDLHowTo
New Revision:  1.2

@@ -1 +1,74 @@
 + Using WSDL to Interface with the Horde API
+
+<code type="php">
+<html>
+<head><title>Horde WSDL Test</title></head>
+<body>
+<?php
+require_once 'SOAP/Client.php';
+$horde_user = @$_POST['user'];
+$horde_pass = @$_POST['pass'];
+$horde_baseurl = @$_POST['url'];
+?>
+<h1>Horde Installation Details</h1>
+<form action="<?php echo $PHP_SELF ?>" method="POST">
+Horde Base Url <input type="text" name="url" type="text" size="80" value="<?php echo $horde_baseurl ?>"/> Required<br />
+Username <input type="text" name="user" size="20" value="<?php echo $horde_user ?>"/><br />
+Password <input type="password" name="pass" size="20" value="<?php echo $horde_pass ?>"/><br />
+<input type="submit"><br />
+</form>
+<?php
+if (!empty($horde_baseurl)) {
+    $wsdl_url = $horde_baseurl . '/rpc.php?wsdl';
+    $wsdl =& new SOAP_WSDL($wsdl_url, array('user' => $horde_user, 'pass' => $horde_pass));
+    if (is_a($wsdl, 'PEAR_Error')) {
+        echo "<pre>" . 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 = <<<END
+<h1>Horde RPC Test</h1>
+<ul>
+    <li><a href="#wsdl">WSDL</a></li>
+    <li><a href="#proxy">Proxy</a></li>
+    <li><a href="#listing">Listing</a></li>
+    <li><a href="#client">Client</a></li>
+    <li><a href="#test">Test</a></li>
+</ul>
+<hr />
+<h2><a name="wsdl">WSDL Document</a> <a class="helplink" href="$wsdl_url">$wsdl_url</a></h2>
+<pre>$wsdl_data</pre>
+<hr />
+<h2><a name="proxy">Proxy Code</a></h2>
+$proxy_code
+<hr />
+<h2><a name="test">Test</a></h2>
+<pre>$test</pre>
+<hr />
+END;
+    echo($content);
+}
+$listing = highlight_file($_SERVER["SCRIPT_FILENAME"], 1);
+?>
+<h2><a name="listing">Script Code</a></h2>
+<?php echo($listing); ?>
+<hr />
+</body>
+</html>
+</code>


More information about the cvs mailing list