Foros del Web » Programación para mayores de 30 ;) » Java »

Conectarse a un servicio web

Estas en el tema de Conectarse a un servicio web en el foro de Java en Foros del Web. Buenas, Me han madado hacer una conexion entre un servlet java y este link http://gti525.heroku.com/transactions.{xml} que en teoria devuelve un xml con datos para procesar. ...
  #1 (permalink)  
Antiguo 01/04/2011, 13:30
 
Fecha de Ingreso: agosto-2009
Mensajes: 26
Antigüedad: 14 años, 8 meses
Puntos: 0
Conectarse a un servicio web

Buenas,

Me han madado hacer una conexion entre un servlet java y este link http://gti525.heroku.com/transactions.{xml} que en teoria devuelve un xml con datos para procesar.

Sin embargo no tengo ni idea de como hacer, sirve el response.encodeURL?

Gracias!
  #2 (permalink)  
Antiguo 01/04/2011, 22:09
 
Fecha de Ingreso: abril-2011
Mensajes: 14
Antigüedad: 13 años
Puntos: 0
Mensaje Respuesta: Conectarse a un servicio web

Hola,

HE llamado la URL pero no veo que retorne nada... ¿Tal vez es necesario llamarla con parámetros adicionales?

Para efectuar un llamado GET ó POST, utiliza la clase "URLConnection", así:

Código:
private String hacerGet(String url){
    URL url = new URL(url);
    URLConnection conn = url.openConnection();

    // Si deseas enviar datos (ej. para POST) utilizar este código. 
    // Reemplazar "data" por cadena de la forma 
    //parametro1=valor1&parametro2=valor2

    // conn.setDoOutput(true);
    // OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
    // wr.write(data);
    // wr.flush();

    // Tomar la respuesta
    BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
    String line;
    StringBuffer str = new StringBuffer();
    while ((line = rd.readLine()) != null) {
        str.append(line);
    }
    wr.close();
    rd.close();

    return str.toString();
    }
El código anterior retorna en un String todo lo que se ha leído de la URL (puedes pasárselo a un objeto "org.w3c.dom.Document" para que éste lea el archivo XML).

Espero sea útil. Saludos.

Etiquetas: servicio
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:47.