tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
1
ZUGRIFFE
506
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von DeRal
    DeRal DeRal ist offline Rookie
    Registriert seit
    Oct 2010
    Beiträge
    7
    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....
    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();
            }
        }
    Ist da noch irgendwas falsch?

    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.
     

  2. #2
    Avatar von DeRal
    DeRal DeRal ist offline Rookie
    Registriert seit
    Oct 2010
    Beiträge
    7
    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

  1. Upload Form Feld darf leer bleiben?
    Von sugar im Forum PHP
    Antworten: 6
    Letzter Beitrag: 27.11.09, 16:50
  2. VS2008 Problem - Events und Methoden bleiben leer
    Von derpfaff im Forum Coders Talk
    Antworten: 0
    Letzter Beitrag: 19.08.09, 12:21
  3. MyEclipse Visual JSF Designer - Palette fast leer
    Von Goosefraba im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 0
    Letzter Beitrag: 03.07.08, 13:27
  4. Antworten: 0
    Letzter Beitrag: 31.08.07, 10:29
  5. Antworten: 7
    Letzter Beitrag: 14.12.04, 22:08

Stichworte