Exemple d'utilisation de Domain
<html> <head><title>PHP test</title></head>
<body>
<?php
require("/usr/share/php/PEAR/SOAP/Client.php"); // change this !
$wsdl_file = "./WSDLs/Domain.wsdl"; // change this !
$ca_file = "./ca-afnic.crt"; // change this !
$proxy = array("user" => "YOUR_LOGIN_HERE", "pass" => "YOUR_PASSWORD_HERE"); // change this !
$domain = $_REQUEST["domain"];
$wsdl = new SOAP_WSDL($wsdl_file, $proxy);
$client = $wsdl->getProxy();
$client->setOpt('trace', 1);
$client->setOpt('curl', CURLOPT_CAINFO, $ca_file);
if ($client->city_reserved_domain($domain)) {
echo "Domain [".$domain."] restricted according to names of French towns rules.<br>\n";
}
// Domain availability test if domain doesn't exist
if ($client->exist_domain($domain)) {
echo "Domain [".$domain."] already exist !<br>\n";
} else {
$result = $client->check_domain($domain);
if ($result) {
if ($result->free) {
echo "Domain [".$domain."] is free !<br>\n";
} else {
echo "Domain [".$domain."] is not available !<br>\n";
echo " ====> [CODE] : ".$result->reason."<br>\n";
echo " ====> [MESSAGE] : ".$result->message."<br>\n";
}
} else {
echo '<h2>Error: '.$err."</h2>";
echo "<h2>Request</h2>";
echo("<pre>" . htmlentities($soapclient->request) . "</pre>");
echo "<h2>Response</h2>";
echo("<pre>" . htmlentities($soapclient->response) . "</pre>");
}
}
echo "<br>\n#----------------------------------------<br><br>\n";
// All domains list...
$result = $client->list_domains();
if ($result) {
foreach ($result as $item) {
echo $item->domain." => ".$item->anniversary."<br>\n";
}
} else {
echo '<h2>Error: '.$err."</h2>";
echo "<h2>Request</h2>";
echo("<pre>" . htmlentities($soapclient->request) . "</pre>");
echo "<h2>Response</h2>";
echo("<pre>" . htmlentities($soapclient->response) . "</pre>");
}
?>
</body>
</html>
<html> <head><title>PHP test</title></head>
<body>
<?php
require( './PHP/NuSOAP/lib/nusoap.php' ); // change this !
$wsdl_file = "./WSDLs/Domain.wsdl"; // change this !
$ca_file = "./ca-afnic.crt"; // change this !
$proxy = array("user" => "YOUR_LOGIN_HERE", "pass" => "YOUR_PASSWORD_HERE"); // change this !
$domain = $_REQUEST["domain"];
$ns_client = new soapclient($wsdl_file, 'wsdl');
$ns_client->setCredentials($proxy["user"], $proxy["pass"]);
$client = $ns_client->getProxy();
if ($client->city_reserved_domain($domain)) {
echo "Domain [".$domain."] restricted according to names of French towns rules.<br>\n";
}
// Domain availability test if domain doesn't exist
if ($client->exist_domain($domain)) {
echo "Domain [".$domain."] already exist !<br>\n";
} else {
$result = $client->check_domain($domain);
if ($result) {
if ($result["free"]) {
echo "Domain [".$domain."] is free !<br>\n";
} else {
echo "Domain [".$domain."] is not available !<br>\n";
echo " ====> [CODE] : ".$result["reason"]."<br>\n";
echo " ====> [MESSAGE] : ".$result["message"]."<br>\n";
}
} else {
echo '<h2>Error: '.$err."</h2>";
echo "<h2>Request</h2>";
echo("<pre>" . $client->request . "</pre>");
echo "<h2>Response</h2>";
echo("<pre>" . $client->response . "</pre>");
}
}
echo "<br>\n#----------------------------------------<br><br>\n";
// All domains list...
$result = $client->list_domains();
if ($result) {
foreach ($result as $item) {
echo $item["domain"]." => ".$item["anniversary"]."<br>\n";
}
} else {
echo '<h2>Error: '.$err."</h2>";
echo "<h2>Request</h2>";
echo("<pre>" . htmlentities($client->request) . "</pre>");
echo "<h2>Response</h2>";
echo("<pre>" . htmlentities($client->response) . "</pre>");
}
?>
</body>
</html>
On voit que l'utilisation du WSDL est là aussi très simple. Il suffit de
préciser où trouver le fichier WSDL, d'indiquer quel méthode on souhaite
utiliser (ici sans arguments - sinon il aurait fallu passer les arguments
en paramètre, comme dans l'exemple suivant). Ensuite, on traite la réponse,
en vérifiant bien si par hasard on n'a pas reçu un message d'erreur en retour.
Et le tour est joué...