Serveur php windows->client c linux avec soap

Fermé
olivier857
Messages postés
188
Date d'inscription
mardi 21 décembre 2004
Statut
Membre
Dernière intervention
10 avril 2008
- 14 févr. 2006 à 11:14
 Breakerz - 3 oct. 2007 à 22:00
Bonjour à tous,

j'essaye comme mon titre l'indique de créer un client-serveur en utilisant soap.

But :
Faire un service de contrôle d'accès : Le client lambda qui tente de faire un accès au terminal d'un certain site envoie des coordonnées au serveur afin que celui-ci verrifie et lui renvoie son droit d'accès.

Explication du programme :
1 : Le client doit envoyer 3 variables num_site, num_term et num_carte au serveur
2 : une fois les variables réceptionnées le serveur interroge sa base de donnée en fonction de ces 3 varoables
3 : le serveur en déduit donc un droit d'accès "0" ou "1"
4 : le serveur renvoit la variable droit (0 ou 1) au client.
5 : le client réceptionne la variable et la traite

Mon serveur est déjà réalisé en php sous windows en utilisant la librairie nusoap :
<?php
	include('../lib/nusoap.php');
	
	$serveur = new soap_server;
	$serveur->debug_flag=false;
	$serveur->register('CA');
	
	// FONCTION DE CONTROLE D'ACCES
	function CA($num_site, $num_term, $num_carte)
	{
		// CONNEXION AU SERVEUR SQL
		require("connect_bdd.php");
	
		// SELECTION D'UNE BASE
		$db_selected = mysql_select_db('ca', $link);
		if (!$db_selected)
		{
		   die('Impossible de sélectionner la base de données : ' . mysql_error());
		}
		
		// REQUETE PERMETTANT DE COMPTER LE NOMBRE D'ENTREE CORRESPONDANT A LA COMBINAISON
		$requete = mysql_query("SELECT COUNT(num_carte) AS nb FROM autorisation WHERE
            num_site='$num_site' AND num_term='$num_term' AND num_carte='$num_carte'");
                
		if (!$requete)
		{
		die('Requête invalide : ' . mysql_error());
		}
		
		// RECUPERATION DU RESULTAT DE LA REQUETE
		$resultat = mysql_result($requete,0);
		
		// DEDUCTION DU DROIT D'ACCES EN FONCTION DU RESULTAT		
		if ($resultat==0)
		{
		   $droit=0;
		}
		else
		{
		   $droit=1;
		}
		
		// RETOURNE LE DROIT
		return "La <b>carte $num_carte</b> tente de badger sur le <b> terminal $num_term</b> du 
            <b>site $num_site</b>. <br><br> <b>Son droit d'accès est $droit</b>.";
		
		// FERME LE SERVEUR
		mysql_close($link);
	}
	
	$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA)? $HTTP_RAW_POST_DATA : '';
	
	// ENVOI LE RETOUR DE LA FONCTION AU CLIENT
	$serveur->service($HTTP_RAW_POST_DATA);
?>

Il me reste maintenant à réaliser un client en c sous linux avec la librairie stdsoap2.h je pense, mais je ne sais pas vraiment comment réaliser se client.

Quelqu'un pourrait t'il m'aider ?
Merci d'avance

2 réponses

olivier857
Messages postés
188
Date d'inscription
mardi 21 décembre 2004
Statut
Membre
Dernière intervention
10 avril 2008
2
14 févr. 2006 à 17:12
up
0
Bonjour,

Regarde du coté de nusoap (classes écrite en php).

https://sourceforge.net/projects/nusoap/

Breakerz
0