ERLEDIGT
NEIN
NEIN
ANTWORTEN
1
1
ZUGRIFFE
506
506
EMPFEHLEN
-
Hi,
ich versuche gerade, zwei Komponenten meines Programms mittels REST (verwende dazu Jersey) kommunizieren zu lassen. Mittlerweile kann ich den Server auch schon ansprechen.
Wenn ich eine "Klasse" übertragen will (soll sich ja angeblich selbst in XML verpacken, wenn man @XmlRootElement einfügt) , bekomme ich aber Probleme: Es kommt nur ein " <?xml version="1.0" encoding="UTF-8" standalone="yes"?><userTicket/> " an.
Der Code, den ich verwende sieht so aus:
Code :1 2 3 4 5 6 7 8 9 10 11 12
// Fragt beim Server an public class RemoteAuth { private static void test(){ WebResource service = Client.create().resource( "http://localhost:8080/auth" ); System.out.println(service.path("login").path("user").path("admin").path("pass").path("login").accept( MediaType.APPLICATION_XML).get(String.class)); } public static void main(String[] args) { test(); } }Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
// Die Resource @Path("login") public class RightsManagement { @GET @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) @Path("user/{user}/pass/{pass}") public UserTicket message(@PathParam("user") String user, @PathParam("pass") String pass){ if(user.equals("admin") && pass.equals("login")){ UserTicket ticket = new UserTicket(user, pass); return ticket; } else if(user.equals("eltern") && pass.equals("login2")) { UserTicket ticket = new UserTicket(user, pass); return ticket; } else { return new UserTicket(); } } }Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
// Die Klasse, die verpackt und verschickt werden soll import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement public class UserTicket{ private String group; private String user; private String password; public UserTicket(String user, String password) { this.user = user; this.password = password; if(user.equals("admin")){ this.group = "admin"; } else { this.group = "eltern"; } } public UserTicket() { this.user = null; this.password = null; this.group = null; } // .... getter, setter, toString....Ist da noch irgendwas falsch?Code :1 2 3 4 5 6 7 8 9 10 11 12
// Der "Server" ^^ public static void main(String[] args) { HttpServer server; try { server = HttpServerFactory.create("http://localhost:8080/auth"); server.start(); } catch (IllegalArgumentException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }
Da fällt mir nebenbei noch ein: Wie kann ich das später wieder als UserTicket entgegennehmen? Im Moment wird ja nur der String ausgegeben.
-
Ok... ich hab eine Lösung gefunden. Ich habe vor jeder Variable in UserTicket @XmlElement eingefügt. Aber angeblich soll das ja auch von selbst gehen, das verwirrt mich noch.
Ähnliche Themen
-
Upload Form Feld darf leer bleiben?
Von sugar im Forum PHPAntworten: 6Letzter Beitrag: 27.11.09, 16:50 -
VS2008 Problem - Events und Methoden bleiben leer
Von derpfaff im Forum Coders TalkAntworten: 0Letzter Beitrag: 19.08.09, 12:21 -
MyEclipse Visual JSF Designer - Palette fast leer
Von Goosefraba im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 0Letzter Beitrag: 03.07.08, 13:27 -
XML-Validierung mit VB6 - manche Mitglieder von IXMLDOMParseError bleiben leer
Von odCaplan im Forum Visual Basic 6.0Antworten: 0Letzter Beitrag: 31.08.07, 10:29 -
Variablen werden nicht übergeben - bleiben leer
Von than im Forum PHPAntworten: 7Letzter Beitrag: 14.12.04, 22:08





Zitieren
Login





