Forums TunInternet
Derniers sujets: Ouvrir Tous les sites restrictés en Tunisie avec UltraSurf 8.9    »    quesl sont les revendeurs Apple dans la region tunis    »    Trouvez les proxies fonctionnels facilement...    »    Votre propre proxy sur votre site et ouvrez tout les sites censurés!    »    Ingénieur d'étude et de développement Java/J2EE    »    Infograhe    »    Probléme d'impression sur quark 6.5    »    Moteur de recherche e-book    »    Conversion de videos en .RM    »    Quel est votre navigateur internet préféré ?    »    Turbo Pascal Pour windows Xp SP2    »    Ubuntu-tn    »    Plateforme PHP/MySQL    »    CMS Joomla!    »    [MySQL]Répllication partielle entre serveurs d'une BDD    »    Lancement de Delicious 2.0    »    [résolu] This application requires a version of the Adobe Integrated Runtime (AIR)...    »    25 tutorials photoshop à ne pas rater    »    Google passe à 1000 milliards pages indexées    »    Cherche un site de voyance à vendre    »   

Go Back   Forums TunInternet > Forum informatique > Programmation & Développement

Register FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 22-04-2008, 02:30 PM
Lolla's Avatar
Junior Member
 
Join Date: Apr 2008
Posts: 7
Default Webservice sous PHP

J'ai essayer de faire un webservice dans php avec SOAP (& NUSOAP) mais ça n'a pas marché.
Le mécanisme c'est de se connecter à un proxy puis s'authentifier via le login et le mot de passe de l'utilisateur mais l'erreur suivante s'affiche :

wsdl error: HTTP ERROR 3: Unsupported HTTP response status 502 Proxy Error ( L'URL (Uniform Resource Locator) n'utilise pas de protocole reconnu. Soit le protocole n'est pas pris en charge, soit la demande n'a pas été tapée correctement. Assurez-vous qu'un protocole valide est utilisé, par exemple HTTP pour une demande Web. ) (soapclient->response has contents of the response)


HELP !!!
Digg this Post!Add Post to del.icio.usBookmark Post in Technorati
Reply With Quote
  #2 (permalink)  
Old 22-04-2008, 04:06 PM
nejib's Avatar
Super modérateur
 
Join Date: Apr 2008
Posts: 210
Default

je ne connais pas vraiment le webservice en php, mais est ce que tu peux nous fournir le bout de code qui contient cette erreur, peut être on pourra aider
__________________
Digg this Post!Add Post to del.icio.usBookmark Post in Technorati
Reply With Quote
  #3 (permalink)  
Old 22-04-2008, 05:37 PM
Lolla's Avatar
Junior Member
 
Join Date: Apr 2008
Posts: 7
Default

c des classes que j'ai téléchargé puis intégré dans mon code.

Voici le lien des fichiers que j'ai téléchargé:

SourceForge.net: Files
Digg this Post!Add Post to del.icio.usBookmark Post in Technorati
Reply With Quote
  #4 (permalink)  
Old 22-04-2008, 06:03 PM
nejib's Avatar
Super modérateur
 
Join Date: Apr 2008
Posts: 210
Default

Tu as utilisé l'un des samples ?? lequel
__________________
Digg this Post!Add Post to del.icio.usBookmark Post in Technorati
Reply With Quote
  #5 (permalink)  
Old 24-04-2008, 08:17 AM
Lolla's Avatar
Junior Member
 
Join Date: Apr 2008
Posts: 7
Default

c'est le package nusoap (0.7.3), il contient des exemples sous forme de liens dans la page d'index et chacun appelle une classe différente.

Si tu peux m'étudier ça, ça sera gentil. J'ai étudié ça de près mais le code est trop complexe et tu chaque fois tu entre de plus en plus à un niveau plus bas. Enfin j'ai pas pu savoir la source de l'erreur (si c'est dû à une erreur dans le code ou une erreur externe lié au proxy...) !

et merci
Digg this Post!Add Post to del.icio.usBookmark Post in Technorati
Reply With Quote
  #6 (permalink)  
Old 24-04-2008, 06:39 PM
Junior Member
 
Join Date: Apr 2008
Posts: 2
Default

salut
bon jé travaillé de web service avec le php mais votre prob est de chose nouveau pour le moment je te conseille de verifier l'instanciation de class protocole que tu utilise
et on contenu apres juste une simple verification de votre code
a+
Digg this Post!Add Post to del.icio.usBookmark Post in Technorati
Reply With Quote
  #7 (permalink)  
Old 02-05-2008, 06:36 PM
Super modérateur
 
Join Date: Apr 2008
Posts: 13
Default

l'erreur "502" veut dire que tu utilise un mauvais serveur...
Quote:
soapclient('URL');
vérifi si tu utilise un bon URL...
Digg this Post!Add Post to del.icio.usBookmark Post in Technorati
Reply With Quote
  #8 (permalink)  
Old 04-05-2008, 01:25 AM
Want3d's Avatar
Member
 
Join Date: May 2008
Posts: 38
Default

Salut tout le monde heureusement je suis passé par ici ..
avant de Commencer Mr/Mlle..je vais Proposer une sorte de leçon pour c'eux qui ont interressé..donc une fois la librairie sur ton pc et placée dans un sous repertoire où va se trouver votre fichier webservice nous allons pouvoir commencer a voir comment créer votre webservice
Vous devez créer un fichier pour votre webservice nous allons le nommer par exemple webservice.php.

<?
require_once("lib/nusooap.php"); //on inclut la librairie necessaire pour mettre en place le webservice

$server = new soap_server(); //on initialise un nouvel objet serveur

$server -> configureWSDL('Nom du webservice','Namespace'); // on configure en donnant un nom et un Namespace

$server -> wsdl->schemaTargetNamespace = 'emplacement du namespace'; //on spécifie l'emplacement du namespace

?>


Votre webservice est créé il vous faut maintenant ajouter des méthodes et le faire communiquer avec les différents clients..nous allons voir ici comment ajouter des methodes dans votre webservice en prenant un exemple simple nous allons créer une méthode qui prend en argument une chaine de caractéres et qui la renvoie..dans votre fichier webservice.php, à la suite du code dèja écrit nous allons rajouter les lignes suivantes:

//on enregistre la méthode grâce à register('NomDeLaMethode','argument passé en parametre','nom de la variable retrounée')
$server->register('ReturnChaine',array('ChaineString'=>' xsd:string'),array('return'=>'xsd:string'),'Namesp ace');

//nous créons ici la fonction ReturnChaine qui correspond à la méthode créée dans le webservice
function ReturnChaine($ChaineString) {
return new soapval('return','string',$ChaineString);
}


$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : '';
$server->service($HTTP_RAW_POST_DATA);


nous avons vu dans cet exemple comment retourner une chaine de caractère un exemple assez simple il est aussi possible de renvoyer des tableaux grace aux methodes lorsqu'on souhaite extraire des éléments d'une base de données
Votre webservice uploadé vous pouvez le visualiser vous obtiendrez l'écran suivant:

Vous pouvez accéder au contrat WSDL (Web Service Description Language) au format XML qui décrit les possibilités et la configuartion du webservice.

donc il reste maintenant que l'implémentation du client..alors Application cliente sous .Net..
Tout d'habord nous allons voir dans cette partie comment créer une application cliente en .Net qui accedera aux méthodes implémentées dans notre webservice pour cela nous créons un nouveau projet en C# en windows application.
Afin de tester la méthode ReturnChaine placez les éléments suivants: une TextBox, un Bouton, ainsi qu'un label pour afficher le résultat renvoyé par le webservice

Vous devez ajouter une nouvelle référence web pour votre webservice afficher le contrat WSDL pour pouvoir ajouter la référence...

la manipulation suivante consiste à ajouter à l'événément click du bouton le code suivant:

private void button1_Click(object sender, System.EventArgs e)
{
Url-de-votre-site-a-l'envers.Nomduwebservice WebService = new Url-de-votre-site-a-l'envers.Nomduwebservice();
label1.Text = WebService.ReturnString(textBox1.Text);

}


vous pouvez compiler votre application entrer une chaine de caractères dans la textbox, puis cliquer sur le bouton "connexion". La chaine de caractères sera transmise en argument à la méthode ReturnChaine du webservice, puis renvoyée et affichée dans le label et on passe pour Application cliente en PHP nous avons vu précédemment comment réaliser une application cliente grace à la technologie .Net. Dans cette sous partie nous allons implémenter une application cliente grace à la technologie PHP..

// on inclue librairie NuSOAP
require_once(lib/nusoap.php');


$parameters = array(ChaineString =>'Ici passé la chaine de caractère que vous souhaitez');
//On crée une connexion au webservice
$s = new soapclient('http://adresse du webservice/webservice.php');

// on appelle la methode ReturnString et on passe en argument le tableau contenant la chaine de caractere
$ResulatRenvoyé = $s->call('ReturnString',$parameters);
// la fonction getError permet d'afficher les erreurs renvoyés par le webservice
if(!$error = $s->getError()){
echo $ResulatRenvoyé;
} else {
echo 'Erreur renvoyé par le webservice: '.$error;
}


Bref nous avons pu voir dans cet article comment développer un webservice en PHP accessible par différentes technologies telles que Microsoft .Net, Java et PHP.
Comme pour pour les autres technologies dans lesquelles sont développés les webservices il est possible de construire des méthodes plus complexes avec de accès aux bases de données et un véritable traitement de l'information..

Mr/Mlle Merci pour votre Collaboration
Digg this Post!Add Post to del.icio.usBookmark Post in Technorati
Reply With Quote
Reply
Tags:


Tags
webservice php

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump



All times are GMT +2. The time now is 04:41 AM.


Powered by vBulletin® Version 3.7.0 Beta 3
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26