Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

mapb_1990

RESTFull JSON Client

Recommended Posts

Boas,

 

Precisava de fazer um cliente para consumir o seguinte serviço:

http://maps.google.com/maps/api/directions/json?origin=Travessa+Leira+da+Pega,+Madalena&destination=Av.+da+Replublica,+Vila+Nova+de+Gaia&sensor=false

 

Andei a pesquisar no google e encontrei a livraria Jersey e o seguinte código:

 

 

            Client client = Client.create();
           WebResource webResource = client.resource("http://maps.google.com/maps/api/directions/json?origin=Travessa+Leira+da+Pega,+Madalena&destination=Av.+da+Replublica,+Vila+Nova+de+Gaia&sensor=false");
           ClientResponse response = webResource.accept("application/json").get(ClientResponse.class);

           if(response.getStatus() != 200) {
               throw new RuntimeException("Failed : HTTP error code : "
                       + response.getStatus());
           }

           String output = response.getEntity(String.class);

           System.out.println("Output from Server .... \n");
           System.out.println(output);

 

Ao tentar correr o código acima, aparece o erro:

Exception in thread "main" java.lang.NoClassDefFoundError: javax/ws/rs/ext/Providers
at geo.GoogleMapsAdapter.getDistance(GoogleMapsAdapter.java:29)
at geo.GoogleMapsAdapter.main(GoogleMapsAdapter.java:21)
Caused by: java.lang.ClassNotFoundException: javax.ws.rs.ext.Providers
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
... 2 more
Java Result: 1

 

Aparentemente ele não encontra a classe Client, já incluí a classe no ficheiro da classe, e a livraria no projecto.

 

Alguém sabe como posso fazer o cliente para o serviço JSON?

Compartilhar este post


Link para o post
Compartilhar em outros sites

ao que parece para o código acima funcionar, também preciso de adicionar a biblioteca "JAX-RS 1.1". :wallbash: :wallbash:

 

mas agora estou com outro problema, como é que eu acedo às propriedades do json retornado.

por exemplo, aceder às propriedades lat e lng de northeast?

 

{
routes: [
	{
		bounds: {
			northeast: {
				lat: 41.12484000000001,
				lng: -8.605910000000002
			},
			southwest: {
				lat: 41.09972,
				lng: -8.65043
			}
		},
		copyrights: "Dados do mapa ©2011 Tele Atlas",
		summary: "IC23",
		}
],
status: "OK"
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.