8768 sujets

Développement web côté serveur, CMS

Bonjour,

j'essaye de faire une liaison php/ java, envoi de données de java à php :
J'ai pour cela fait mon objet en java et je l'envoie voilà mon code en java :
public class envoi {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		JSONObject json = new JSONObject();
		json.put("json", "mkyong.com");
		//obj.put("age", new Integer(100));
		System.out.print(json);
		 
		try {
		URL recup = new URL("http://localhost/json_good/recup_v2.php");
		java.net.HttpURLConnection connexion = (HttpURLConnection)recup.openConnection();
		connexion.setDoOutput(true); // Pour pouvoir envoyer des données
		connexion.setRequestMethod("POST");
		connexion.setRequestProperty("Content-type", "application/json");
		
        //envoi de la requête
		OutputStreamWriter writer = null;
        writer = new OutputStreamWriter(connexion.getOutputStream());
        //conversion en chaine
        //System.out.print(json.toJSONString());
        writer.write(json.toJSONString());
        writer.flush();
        writer.close();
        
        //#2 lecture de la réponse
		BufferedReader reader=null;
        reader = new BufferedReader(new InputStreamReader(connexion.getInputStream()));
        String ligne;
        
        while ((ligne = reader.readLine()) != null) {
            System.out.println(ligne);}
        
		} catch (Exception e) {
			System.out.println(" exception : " + e.getMessage());
		}	
	}

}


J'essaye de receptionner cet objet sur ma page php :
<?php
include('config.php');
$json=file_get_contents("php://input");
var_dump(json_decode($json));
$raw_json = json_decode($json,true);
echo $raw_json["json"];
mysql_query('insert into tb_user(username) values ('.$raw_json["json"].')');
?>


Sauf que quand j'execute, dans ma console sur eclipse j'ai :
{"json":"mkyong.com"}object(stdClass)#1 (1) {
  ["json"]=>
  string(10) "mkyong.com"
}
mkyong.com


sachant que la dernière ligne est la réponse à ma requete, c'est donc que la connexion fonctionne bien.

mais sur ma page php, var_dump affiche NULL je n'ai aucun objet json.
D'où cela peut il bien venir ?
Bonjour,

Ton var_dump fonctionne très bien, lorsque tu lance ton prog java, le var_dump vaut :

{"json":"mkyong.com"}object(stdClass)#1 (1) {
  ["json"]=>
  string(10) "mkyong.com"
}

Et ton print console java vaut : "mkyoung.com"

si ton var_dump vaut null, je suppose que c'est parce que tu essaie de l'afficher dans ton navigateur.
Or tu ne fais pas passer de parametre de type POST.
Il s'agit de deux sessions http differentes pour ton code java et ton navigateur.