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

Consumir Web Service REST

Estas en el tema de Consumir Web Service REST en el foro de Java en Foros del Web. Hola a todos, Primero, soy bastante novata y ando algo perdida con el tema de los web services. Tengo una aplicación (/TavernaServer.2.2a1) es decir, un ...
  #1 (permalink)  
Antiguo 04/07/2012, 05:52
 
Fecha de Ingreso: mayo-2012
Mensajes: 2
Antigüedad: 11 años, 11 meses
Puntos: 0
Consumir Web Service REST

Hola a todos,

Primero, soy bastante novata y ando algo perdida con el tema de los web services.

Tengo una aplicación (/TavernaServer.2.2a1) es decir, un punto .war ejecutándose en el tomcat. Necesito utilizar dicha aplicación para ejecutar una serie de workflows que tengo almacenados como ficheros en mi pc, y para ello lo tengo que invocar desde mi aplicación java.

Según la documentación que tengo de dicha aplicación, se supone que bastaría con subir los ficheros a direcciones... Y se supone que se ejecutaría dicho fichero, pero por más que leo la documentación y busco como invocar web services más me lio :(

Esta es la documentación:

http://dev.mygrid.org.uk/wiki/display/taverna/Usage

Y este es el código que he implementado y ya me da fallo, porque me devuelve un 404:

package WorkflowsExe;

import java.io.File;
import java.io.IOException;
import java.net.*;
import java.io.*;

public class Execution2 {

public static void main(String[] args) throws IOException {
String linea = null;
String uri =
"http://localhost:8080/TavernaServer%2E2%2E2a1/rest/runs";
URL url = null;

try {
url = new URL(uri);
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
HttpURLConnection connection =
(HttpURLConnection) url.openConnection();
connection.setRequestMethod("POST");
connection.setDoOutput(true);
connection.setDoInput(true);
connection.setUseCaches(false);
connection.setAllowUserInteraction(false);
connection.setRequestProperty("Content-Type",
"application/x-www-form-urlencoded");

// Creamos en la dirección indicada el fichero del workflow
OutputStream out = connection.getOutputStream();
Writer writer = new OutputStreamWriter(out, "UTF-8");

File fich = new File ("/home/marta/Ficheros/246697_5.t2flow");
FileReader fr = new FileReader (fich);
BufferedReader br = new BufferedReader(fr);

while ( ( linea = br.readLine() ) != null){
writer.write(URLEncoder.encode(linea));
}

writer.close();
out.close();
int resultado = connection.getResponseCode();
if (resultado != 201) {
throw new IOException(connection.getResponseMessage());
}
//connection.setRequestMethod("GET");
}

}
Alguien me puede echar un cable o alguna documentación para invocar dicho web service.

De antemano muchas gracias
  #2 (permalink)  
Antiguo 04/07/2012, 07:26
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: Consumir Web Service REST

Hola:

El error 404 es fácil. quiere decir que esa URL no existe (posiblemente http://localhost:8080/TavernaServer%2E2%2E2a1/rest/runs). ¿Seguro que ese web service corre en tu localhost? Intenta abrir esa URL con el navegador web en el mismo ordenador donde corres tu aplicación java a ver qué dice.

Se buena.
__________________
Apuntes Java
Wiki de Programación

Etiquetas: consumir, rest, service, string
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 13:27.