Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > Services Web
Services Web Forum d'entraide pour les services Web en PHP, qui permettent de créer et de consommer facilement des webservices (génération de WSDL etc.). Exemples : SOAP, NuSOAP, REST, SCA-SDO... Avant de poster -> Cours webservices
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/06/2011, 18h14   #1
Membre régulier
 
Homme Vincent Leboulanger
Développeur informatique
Inscription : janvier 2005
Messages : 315
Détails du profil
Informations personnelles :
Nom : Homme Vincent Leboulanger
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : janvier 2005
Messages : 315
Points : 80
Points : 80
Par défaut Appel HTTP et affichage résultat

Bonjour,

Je souhaite mettre en place une solution assez simple :

Mon script php fait un appel http avec certains paramètres vers le script de mon serveur, le script du serveur exécute son traitement, et retourne un résultat en json (oui j'utilise json_encode)

et j'aimerais afficher le résultat json dans ma page.

Quelle solution utilisez facilement ?

D'avance merci.

Vince
vince29 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2011, 18h21   #2
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
si tu veux afficher le résultat n'utilise pas json_decode justement
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2011, 19h32   #3
Membre régulier
 
Homme Vincent Leboulanger
Développeur informatique
Inscription : janvier 2005
Messages : 315
Détails du profil
Informations personnelles :
Nom : Homme Vincent Leboulanger
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : janvier 2005
Messages : 315
Points : 80
Points : 80
salut,
j'utilise json_encode car le but du traitement sur le serveur est de renvoyer la réponse sur un téléphone mobile (iphone, smartphone).

je fais le test depuis un script PHP pour vérifier mon traitement serveur, la communication entre les 2...

si je modifie mon traitement serveur pour simplement retourner une string, ça devrait fonctionner ?

merci
vince29 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2011, 08h48   #4
Membre régulier
 
Homme Vincent Leboulanger
Développeur informatique
Inscription : janvier 2005
Messages : 315
Détails du profil
Informations personnelles :
Nom : Homme Vincent Leboulanger
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : janvier 2005
Messages : 315
Points : 80
Points : 80
Bonjour,

Toujours pas d'idée par un week-end aussi long ...

Pour info, mon serveur utilise le framework Zend, je dois y développer un script qui sera appelé par des applis mobiles.

Une idée de la meilleure solution?
merci.
vince29 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2011, 10h06   #5
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
le json c'est juste du texte, je vois pas ton problème. Montre un exemple concret
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2011, 10h30   #6
Membre régulier
 
Homme Vincent Leboulanger
Développeur informatique
Inscription : janvier 2005
Messages : 315
Détails du profil
Informations personnelles :
Nom : Homme Vincent Leboulanger
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : janvier 2005
Messages : 315
Points : 80
Points : 80
salut,
finalement, j'ai changé d'avis, je tente d'utiliser l'objet HttpRequest() depuis Windows, pour l'instant, je cherche une solution pour l'installer.
Je ne trouve pas la dll ...
A+
vince29 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2011, 10h33   #7
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
Citation:
Envoyé par vince29 Voir le message
salut,
finalement, j'ai changé d'avis, je tente d'utiliser l'objet HttpRequest() depuis Windows, pour l'instant, je cherche une solution pour l'installer.
Je ne trouve pas la dll ...
A+
t'as quelle version de PHP et quelle type de compilation (VC*)

mais je vois pas pourquoi t'as besoin de ça...
c'est un peu flou ton probleme
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2011, 10h58   #8
Membre régulier
 
Homme Vincent Leboulanger
Développeur informatique
Inscription : janvier 2005
Messages : 315
Détails du profil
Informations personnelles :
Nom : Homme Vincent Leboulanger
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : janvier 2005
Messages : 315
Points : 80
Points : 80
je suis en version php 5.3
et compiler : compiler : MSVC6 (Visual C++ 6.0)

Ce que je recherche à faire :
je dois développer des apis sur mon serveur Zend pour retourner des infos sur une application mobile, les protocoles utilisés sont HTTP et JSON (plus performant sur mobile que XML)

Pour cette partie là, normalement, pas de soucis, mais pour faire le teste, je cherche un générer un script php qui fasse l'appel HTTP vers mon serveur, et affiche le résultat attendu.

Merci.
vince29 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2011, 11h22   #9
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
sur l'autre message t’était en PHP 5.2
et même ça ne dit toujours as la version 5.3 mais combien combien 5.3.?

si tu veux faire une requete HTTP et voir le résultat utilise, un simple file_get_contents, et si tu veux voir toutes les entête utilise les sockets
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2011, 11h23   #10
Expert Confirmé
 
Avatar de grunk
 
Homme Olivier
Développeur Web
Inscription : août 2003
Messages : 1 837
Détails du profil
Informations personnelles :
Nom : Homme Olivier
Âge : 27
Localisation : France, Côte d'Or (Bourgogne)

Informations professionnelles :
Activité : Développeur Web
Secteur : Industrie

Informations forums :
Inscription : août 2003
Messages : 1 837
Points : 3 318
Points : 3 318
Pour ta première question, un simple :
Code :
echo file_get_contents('http://ws.com/monscript.php?arg');
Si la requête http est plus complèxe l'utilisation de cURL devrait faire l'affaire
grunk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2011, 11h24   #11
Membre régulier
 
Homme Vincent Leboulanger
Développeur informatique
Inscription : janvier 2005
Messages : 315
Détails du profil
Informations personnelles :
Nom : Homme Vincent Leboulanger
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : janvier 2005
Messages : 315
Points : 80
Points : 80
c'est 5.3.0.
j'ai testé fil_gets_content, mais aucun résultat ...
merci
vince29 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2011, 11h35   #12
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
page blanche ? t'as bien fais un htmlspecialchars dessus ? du coté ton appli zend t'a rien dans tes log ?
pourquoi tu n'affiche pas la page direct avec ton navigateur ?
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2011, 11h38   #13
Membre régulier
 
Homme Vincent Leboulanger
Développeur informatique
Inscription : janvier 2005
Messages : 315
Détails du profil
Informations personnelles :
Nom : Homme Vincent Leboulanger
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : janvier 2005
Messages : 315
Points : 80
Points : 80
page blanche, non, mais il m'affiche la page html en réponse au lieu du tableau de donnée attendue....
et rien dans les logs du serveur Zend, non, donc ça m'aide pas bcp
vince29 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2011, 11h46   #14
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
Citation:
Envoyé par vince29 Voir le message
page blanche, non, mais il m'affiche la page html en réponse au lieu du tableau de donnée attendue....
et rien dans les logs du serveur Zend, non, donc ça m'aide pas bcp
donc t'as un réponse, montre ce que tu fait un niveau de ton contrôleur et de ta vue
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2011, 11h49   #15
Membre régulier
 
Homme Vincent Leboulanger
Développeur informatique
Inscription : janvier 2005
Messages : 315
Détails du profil
Informations personnelles :
Nom : Homme Vincent Leboulanger
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : janvier 2005
Messages : 315
Points : 80
Points : 80
ok c'est très simple:

voici mon controller :
Code :
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
27
28
29
30
31
32
33
<?php
class webserviceController extends Zend_Controller_Action {
 
	function testAction(){
 
		Zend_Loader::loadClass('Zend_Filter_StripTags');
    	$filter = new Zend_Filter_StripTags();
    	$valeurTest = $filter->filter($this->_request->getParam('valeurTest'));
 
		if($valeurTest != ""){
 
			$response = array();
			$response ['valeurRecue'] = $_GET['valeurTest'];
			$response ['message'] = 'Bonjour'; 
 
 
			/* output in necessary format */
			header('Content-type: application/json');
			return json_encode(array('response'=>$response));
		}else{
			$response = array();
			$response ['valeurRecue'] = 'Aucun parametre';
			$response ['message'] = 'Bonjour'; 
 
 
			/* output in necessary format */
			header('Content-type: application/json');
			return json_encode(array('response'=>$response));
 
		}
	}
}
?>
et dans ma vue, je n'ai rien, car je ne souhaite rien afficher, seulement retourner un résultat

Merci
vince29 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2011, 13h38   #16
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
et le HTML reçus ça donne quoi, ton return retourne a qui ? c'est un echo qu'il faut faire, il faut aussi déactivé la vue
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2011, 13h46   #17
Membre régulier
 
Homme Vincent Leboulanger
Développeur informatique
Inscription : janvier 2005
Messages : 315
Détails du profil
Informations personnelles :
Nom : Homme Vincent Leboulanger
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : janvier 2005
Messages : 315
Points : 80
Points : 80
je veux récupérer la réponse du script serveur pour l'interpréter côté appli mobile pour afficher les données, donc je pensais que le "return" était plus adapté.
Le html renvoyé est la page d'accueil du site que je contacte.
je vais voir comment désactiver la vue zend, merci.

Pour faire le test, mon script php contient sur un serveur différent:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
$opts = array(
  'http'=>array(
    'method'=>"GET",
    'header'=>"Accept-language: en\r\n" .
              "Cookie: foo=bar\r\n"
  )
);
 
$context = stream_context_create($opts);
 
// Accès à un fichier HTTP avec les entêtes HTTP indiqués ci-dessus
  $ch = file_get_contents( 'https://monserveur.com/webservice/test', false, $context );
  echo $ch;
vince29 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2011, 14h18   #18
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
ton contexte sert a rien, et donc echo pas return
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2011, 14h28   #19
Membre régulier
 
Homme Vincent Leboulanger
Développeur informatique
Inscription : janvier 2005
Messages : 315
Détails du profil
Informations personnelles :
Nom : Homme Vincent Leboulanger
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : janvier 2005
Messages : 315
Points : 80
Points : 80
ça ne change rien, sincèrement, je ne comprends plus rien.
vince29 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2011, 14h32   #20
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
montre ton dernier code
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h09.


 
 
 
 
Partenaires

Hébergement Web