PDA

Ver la Versión Completa : [ CONSULTA ] Problema con conexion al servidor


Cecos_94
01/12/14, 16:56:35
Hola, estoy haciendo una aplicación y necesito modificar un xml que tengo en un servidor, tenia pensado hacerlo con php pero no he podido hacer que los parametros lleguen al script y no encuentro el fallo alguien podria sesorarme o ayudarme?

URL url;
URLConnection urlConnection;
DataOutputStream outStream;
DataInputStream inStream;

// Build request body
String body =
"idFi=1&comentario=prueba php";
String encodedData = URLEncoder.encode( body ,"UTF-8");

// Create connection
url = new URL("");
urlConnection = url.openConnection();
((HttpURLConnection)urlConnection).setRequestMetho d("POST");
urlConnection.setDoOutput(true);
urlConnection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
urlConnection.setRequestProperty("Content-Length", String.valueOf(encodedData.length()));
urlConnection.setRequestProperty("charset", "utf-8");

// Create I/O streams
//outStream = new DataOutputStream(urlConnection.getOutputStream());


OutputStream outStream1 = urlConnection.getOutputStream();
inStream = new DataInputStream(urlConnection.getInputStream());
outStream1.write(encodedData.getBytes());

// Send request
// outStream.writeBytes(body);
outStream1.flush();
outStream1.close();

// Get Response
// - For debugging purposes only!
String buffer;
while((buffer = inStream.readLine()) != null) {
System.out.println(buffer);
}

// Close I/O streams
inStream.close();
outStream1.close();
}
catch(Exception ex) {
System.out.println("Exception cought:\n"+ ex.toString());
}

<?php

$idFi = $_POST['idFi'];
$comentario = $_POST'comentario'];
echo $idFi;

var_dump($idFi);
var_dump($comentario);

$doc = new DOMDocument();
$doc->preserveWhiteSpace = false;
$doc->load( 'comentarios.xml' );
$xpath = new DOMXPath($doc);

$doc->formatOutput = true;
//$query='//Comentario[@idFiesta=$idFi]';
//$element=$doc->getElementsByTagName("tag1")->item(0);
$ab = $doc->getElementsByTagName("Comentario")->item(0);
$pTag = $doc->createElement("coment",$comentario);
$ab->appendChild($pTag);

//$element = $xpath->query($query);
//$element.appendChild($doc->createTextNode($coment[$comentario]));

$doc->save('comentarios.xml');
?>

El script me lo ejecuta pero comentario es null.
Gracias y perdonen las molestias!

Cecos_94
02/12/14, 15:49:35
nadie?

Dexafree
03/12/14, 18:06:55
Asi a ojo 2 cosas:

1. En tu script PHP tienes

$_POST'comentario'];

Imagino que ahi falta un [

2. En el codigo Java, prueba a poner


String body =
"idFi=1&comentario=\"prueba php\"";


Por cierto, te recomiendo que le eches un ojo a la libreria Ion para hacer ese trabajo :ok:

https://github.com/koush/ion

kriogeN
03/12/14, 18:41:52
Asi a ojo 2 cosas:

1. En tu script PHP tienes

$_POST'comentario'];

Imagino que ahi falta un [

2. En el codigo Java, prueba a poner


String body =
"idFi=1&comentario=\"prueba php\"";


Por cierto, te recomiendo que le eches un ojo a la libreria Ion para hacer ese trabajo :ok:

https://github.com/koush/ion

Yo para estas cosas uso Volley, es la librería oficial de Google (aunque esté en su rama propia y no esté incluida en el SDK). Hace lo mismo que ION, y además tiene otras cosas como poder hacer cache de las imágenes en disco o memoria (o incluso programarte tu propia cache).

Eso si, la documentación da un poco de asco.