Envoie données de servlet vers script php

Résolu/Fermé
marwan-poste Messages postés 40 Date d'inscription samedi 20 octobre 2007 Statut Membre Dernière intervention 22 décembre 2015 - 22 mai 2015 à 10:57
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 22 mai 2015 à 18:31
Bonjour,

Je me demande comment envoyer des données à partir d'un servlet vers un script php.
Note:je peux pas convertir les fonctionnalités de script php en Java.C'est un module développer en php.
Exemple statique:
$descQuery = array(
'query' => 'pushCommandeSHA1',
'order_ref' => 'Ref_Commande1',
'email' => 'mich.jean@hotmail.fr',
'lastname' => 'Mich',
'firstname' => 'Jean',
'order_date' => '2015-05-22 07:55:00', 
'delay' => 0, 

);

Merci d'avance.
A voir également:

6 réponses

KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
22 mai 2015 à 11:03
Bonjour,

Je ne connais pas PHP, alors de quel manière ce script doit il être appelé ?
C'est une URL vers un serveur PHP, avec quel format ?
De plus est-ce que le résultat doit revenir vers la servlet ou être affiché directement par la page PHP ?
0
marwan-poste Messages postés 40 Date d'inscription samedi 20 octobre 2007 Statut Membre Dernière intervention 22 décembre 2015
22 mai 2015 à 11:12
Bonjour,

En fait,En cliquent sur un bouton , la servlet s'exécute et return la page JSP souhaité.==> c'est bon
Mnt, je veux intégré le module développer en php en arrière-plan avec un retour code de type entier (1,2,3 ou 4).
où je le met ici comme paramètre:
response.sendRedirect("ma_page.jsp?retour="+code);
0
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
22 mai 2015 à 11:40
Dans ce cas fais juste un appel au service PHP comme ceci :

URL phpService = new URL("http://phpService.php");
Scanner sc = new Scanner(phpService.openStream());
String code = sc.nextLine();
sc.close();
0
marwan-poste Messages postés 40 Date d'inscription samedi 20 octobre 2007 Statut Membre Dernière intervention 22 décembre 2015
22 mai 2015 à 15:03
comment je peux passer les donnes comme paramétres?
normalment comme un simple url ? c'est ca?
0
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
22 mai 2015 à 15:09
Tout dépend comment est construit le service PHP, si tu dois faire un GET tu peux effectivement passer les paramètres à l'URL : http://phpService.php?a=1&b=2

Si ton service PHP fonctionne sur un POST ou autre il faudra utiliser des HttpURLConnection (un peu plus compliqué).
0
marwan-poste Messages postés 40 Date d'inscription samedi 20 octobre 2007 Statut Membre Dernière intervention 22 décembre 2015
22 mai 2015 à 16:15
normalement il est défini par défaut comme statique

$descQuery = array(
'query' => 'pushCommandeSHA1',
'order_ref' => 'Ref_Commande1',
'email' => 'mich.jean@hotmail.fr',
'lastname' => 'Mich',
'firstname' => 'Jean',
'order_date' => '2015-05-22 07:55:00', 
'delay' => 0, 

);

et à moi de faire le GET ou POST
0
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
22 mai 2015 à 16:17
Du coup fais plutôt un GET, c'est plus simple pour être appelé :-)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
marwan-poste Messages postés 40 Date d'inscription samedi 20 octobre 2007 Statut Membre Dernière intervention 22 décembre 2015
22 mai 2015 à 16:46
oups!!
Pour le Url
URL phpService = new URL("http://phpService.php");

en faite, je suis sous netbeans & tomcat (http://localhost:8084/mon_projet)
0
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
22 mai 2015 à 16:56
NetBeans et Tomcat c'est pour la partie Java. Ton service PHP doit être hébergé sur un serveur PHP... Tu ne peux pas faire tourner du PHP sur un serveur Java !
Donc ta servlet sur localhost:8084 si tu veux, mais ton PHP doit être ailleurs...
0
marwan-poste Messages postés 40 Date d'inscription samedi 20 octobre 2007 Statut Membre Dernière intervention 22 décembre 2015
22 mai 2015 à 17:25
oups...
c'est difficile de convertir ce csript php en java ?!

$ID_WEBSITE="idWebsite";
$SECURE_KEY="secureKey";
$descQuery = array(
'query' => 'pushCommandeSHA1',
'order_ref' => 'refCommande',
'email' => 'emailClient',
'lastname' => 'nomClient',
'firstname' => 'prenomClient',
'order_date' => 'dateCommande', // Format YYYY?MM?JJ HH:MM:SS
'delay' => 'delaiAvantEmissionAvis', // 0=Immediatement / `n' jours compris entre 1 et 30 jours

'sign' => ''
);
$descQuery['sign']=SHA1($descQuery['query'].$descQuery['order_ref'].$descQuery['email'].$descQuery['lastname'].$descQ
uery['firstname'].$descQuery['order_date'].$descQuery['delay'].$SECURE_KEY);
$encryptedNotification=http_build_query(
array(
'idWebsite' => $ID_WEBSITE,
'message' => AC_encode_base64(serialize($descQuery))
)
);
$postCommande = array('http' =>
array(
'method' => 'POST',
'header' => 'Content?type: application/x?www?form?urlencoded',
'content' => $encryptedNotification
)
);
$contextCommande = stream_context_create($postCommande);
$message= file_get_contents(`http://www.avisverifies.
com/index.php?action=act_api_notification_sha1', false, $contextCommande);

0
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
22 mai 2015 à 18:31
"c'est difficile de convertir ce csript php en java ?"
C'est toi qui a dit que tu ne voulais pas...
Note:je peux pas convertir les fonctionnalités de script php en Java.
Comme je n'y connais rien en PHP, je ne sais pas exactement ce que fait ce code... mais vu ce que je devine, il y aura sûrement 2 ou 3 trucs un peu pénible en Java, mais rien d'impossible.
0