plusone

31. Juli 2011

Android und WebService - Part 1

Einen sonnigen Sonntag wünsch ich euch,

nun sind wir soweit, dass ich um einen WebService nicht rumkomme.
Und das werde ich von Heute in mehrteiligen Tutorial beschreiben, wie wir zu dieser Kommunikation kommen.

Als erstes fangen wir beim WebService an. Da ich ein "Java Spezialist" bin, mit anderen Worten nur Java beherrsche, wird mein WebService auf Java basieren!

Part 1: Java WebService

Als erstes bauchen wir eine Klasse, die für uns Arbeit erledigt und das Resultat überlässt.

Meine Klasse heißt Friends, deren Funktion besteht darin eine Liste/Array mit Freunden zurückzugeben.
simples Beispiel:


import javax.jws.WebService;

import javax.jws.soap.SOAPBinding;
import javax.jws.soap.SOAPBinding.Style;

public class Friends {


@WebService
@SOAPBinding(style = Style.RPC)

public Friend[] getFriends(int myID){

Friend f1 = new Friend();
f1.id="001";
f1.name="Lex";


Friend[] list = new Friend[]{ f1 };


return list;
}
}





Wie ihr seht, habe ich schon die Annotation für den WebService eingebunden.
  • @WebServie: erklärt sich von selbst, da es um WebServices geht *g.
  • @SOAPBindung(syle = Style.RPC): Damit geben wir an, dass hier eine Bindung durch das SOAP stat findet und der Style RPC (Remote Procedure Call) ist.
Mehr benötig die Klasse für WebService nicht.
Nun kommen wir zum Veröffentlichen unseres WebServices. Dies geschiet durch Endpoint aus dem Package javax.xml.ws.Endpoint.


public class FriendsServer {



public static void main (String[] args){
Friends friendsService = new Friends();
Endpoint.publish("http://localhost:8080/friends", friendsService);
}
}


Startet das Programm als normale Application. Startklasse ist FriendsServer.
Wenn ihr nun bei euch im Browser "http://localhost:8080/friends?wsdl" eingebt, wird eine xml-Datei erscheinen.
Das ist ein Zeichen, dass der WebService läuft.



Mit localhost, ist er natürlich nun nur von dort erreichbar, wo er gestartet wurde.
localhost mit IP-Adresse des Servers ersetzten!
namespace entspricht dem umgedrehten Packagenamen, also mein Package lautet de.alexroid.webservice.

Damit haben wir den ersten Part erledigt.

regards


HIER finde ihr Part 2a - Java WebService Client
HIER finde ihr Part 2b - Android WebService Client

Keine Kommentare:

Kommentar veröffentlichen