Java, Webprogrammierung, Linux und mehr

Java, Webprogrammierung, Linux und mehr

Virtual Home of Johannes Geppert

  • Home
  • Über mich
  • Meine Linktipps
  • Kontakt
  • Impressum

Java Client für REST WebService (JAX-RS)

Posted in java, webservices by jogep
Mai 25 2009
TrackBack Address.

Nach dem Erstellen eines REST WebServices mit JAX-RS habe ich schon ein Beispiel für einen PHP Client eines WebServices gegeben. Natürlich lässt sich der REST WebService auch mit Java exzellent verarbeiten. Wie das geht werde ich in einem kleinen Beispiel demonstrieren. Der Client ruft den REST Web Service aus dem Tutorial für REST WebServices mit Jersey auf und benötigt auch die meisten JAR-Files aus diesem Beispiel. Zusätzlich wird noch das jersey-client-1.0.2.jar benötigt.

Jersey stellt uns für den einfachen Zugriff die Klassen Client und WebResource bereit.

		Client client = Client.create();
		WebResource wr = client.resource("http://localhost:8080/wstest/services/calculator/calc");

Mit Hilfe von WebResource können wir mit den HTTP Methoden post(), delete(), put() und natürlich get() unseren WebService aufrufen. Und mit der MultivaluedMap ist es uns möglich, dem WebService unsere Abfrageparameter mitzugeben.

package de.wstest.client;
 
import java.util.List;
 
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.MultivaluedMap;
 
import com.sun.jersey.api.client.Client;
import com.sun.jersey.api.client.GenericType;
import com.sun.jersey.api.client.WebResource;
import com.sun.jersey.core.util.MultivaluedMapImpl;
 
import de.wstest.MathResults;
import de.wstest.ServiceResult;
 
public class CalculatorClient {
 
	public static void main(String[] args) {
 
		Client client = Client.create();
 
		//URL des WebService
		WebResource wr = client.resource("http://localhost:8080/wstest/services/calculator/calc");
 
		//Parameter für WebService
		MultivaluedMap< String, String > params = new MultivaluedMapImpl();
		params.add("a", "234");
		params.add("b", "567");
 
		ServiceResult sr = wr.queryParams(params).accept(MediaType.APPLICATION_XML_TYPE).get(new GenericType< ServiceResult >() {});
 
		//Ergebnis ausgeben
		System.out.println(sr.getMessage());
		List< MathResults > mathResults = sr.getErgebnisse();
		for (MathResults mr : mathResults) {
			System.out.println(mr.getFormel()+" = "+mr.getErgebniss());
		}
	}
}

Die Ausgabe des WebServices ist wenig überraschend:

Results for Value a = 234, Value b = 567
a + b = 801
a - b = -333
a * b = 132678

FAZIT:
Wie man sieht, ist mit Hilfe der Jersey Klassen eine einfache Abfrage von REST WebServices möglich.

Ausführlichere Beispiele findet man auf den Enterprise Tech Tips Seiten von SUN, in welchem die Twitter Webservices benutzt werden. Dort gibt es dann auch Beispiele für das Benutzen der PUT, POST und DELETE Methoden.

Bookmark:
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • blogmarks
  • email
  • Furl
  • MisterWong
  • MisterWong.DE
  • MySpace
  • Spurl
  • StumbleUpon
  • Technorati
  • Yahoo! Buzz
  • YahooMyWeb
  • Yigg
  • LinkArena
Tagged as: client, java, jax-rc, jersey, rest, rest client, restful, restservice, web service, webservice, webservice client
Kommentare
  • Johny:

    nettes kleines beispiel, interessant das java anscheinend auch gut mit REST kann. Wobei ich immer noch nicht so der super REST fan bin.

    Antworten 19. Januar 2010 um 12:13
Hinterlasse einen Kommentar
Hier klicken, um die Antwort abzubrechen.

Please copy the string tNcM32 to the field below:

Social Links

TwitterTwitter XingXing TechnoratiTechnorati GithubGithub

Kategorien

  • Allgemein
  • datenbanken
  • hdr
  • java
    • sap
    • spring
    • struts2
    • hibernate
    • axis2
    • webservices
    • Struts jQuery Plugin
  • linux
  • projekte
  • sonstiges
  • witze
  • jQuery
  • php
  • piratenpartei

Schlagwörter

ajax Array bilder checksum client e-mail email gallerie hdr hdr bild hdr bilder hibernate integration java jax-rc jersey jpeg jqgrid jQuery leipzig linux mail openSUSE options Photo php plugin properties qtpfsgui resize rest showcase smtp spring struts2 versenden video web gallerie web service webservice wein weinfreund weingut widgets witze

Archiv

  • März 2010 (1)
  • Januar 2010 (4)
  • Dezember 2009 (1)
  • November 2009 (1)
  • Oktober 2009 (1)
  • September 2009 (1)
  • August 2009 (1)
  • Juli 2009 (2)
  • Juni 2009 (4)
  • Mai 2009 (5)
  • April 2009 (1)
  • März 2009 (2)
  • Februar 2009 (2)
  • Januar 2009 (1)
  • September 2008 (1)
  • Juli 2008 (22)

Meta

  • Anmelden
  • Artikel-Feed (RSS)
  • Kommentare als RSS
  • WordPress.org



Add to Technorati Favorites
Technorati Profile
Programming Blog Directory
Programming Blogs - Blog Catalog Blog Directory

blogoscoop
Blogverzeichnis - Blog Verzeichnis bloggerei.de
BlogPingR.de - Blog Ping-Dienst, Blogmonitor
Blog Verzeichnis Social Bookmarking, RSS-Verzeichnis
Blog Top Liste - by TopBlogs.de
http://www.wikio.de
Technology Blogs - Blog Rankings

RSS Neues aus der Weinwelt

  • Wein, Jazz & Oldtimer - das stimmungsvolle Weinfest im Grünen
  • Weinmesse München am 13. und 14. März 2010
  • saborondo Wintermenü - Die perfekte Harmonie von Speisen und Wein
  • XXV. Hamburger Wein-Salon
  • Weingut Kummer-Schuster jetzt NEU bei weinfreund.de
  • Konsumgöttinnen
  • HM4 - der Jungwein des Hauses ist da!
  • Es wei(h)nachtet sehr...
  • Auszeichnungen im Fallstaff Weinguide 2009/2010
  • Weingut Müller-Grossmann jetzt NEU bei weinfreund.de
Powered by WordPress | “Blend” from Spectacu.la WP Themes Club