2010-12-16 19 views
5

Chcę odczytać odpowiedź z wywołania usługi WWW niewysługiwanego przy użyciu JAXB. Wysyłam żądanie POST za pomocą HttpURLConnection i otrzymuję odpowiedź. Moje pytanie brzmi: czy mogę zrobić dokument xml ze strumienia odpowiedzi, a następnie użyć jaxb do utworzenia obiektów java? Lub, czy można używać jaxb w locie ze strumieniem odpowiedzi? To będzie aplikacja internetowa, a ja nie będę w stanie przechowywać wygenerowanego dokumentu xml w dowolnym miejscu, więc jeśli muszę zrobić dokument xml, w jaki sposób zapisać go dla jaxb, jeśli nie mogę zrobić jaxb na latać?Parsowanie odpowiedzi XML z JAXB

Odpowiedz

6

Oto przykład:

String uri = 
    "http://localhost:8080/CustomerService/rest/customers/1"; 
URL url = new URL(uri); 
HttpURLConnection connection = 
    (HttpURLConnection) url.openConnection(); 
connection.setRequestMethod("GET"); 
connection.setRequestProperty("Accept", "application/xml"); 

JAXBContext jc = JAXBContext.newInstance(Customer.class); 
InputStream xml = connection.getInputStream(); 
Customer customer = 
    (Customer) jc.createUnmarshaller().unmarshal(xml); 

connection.disconnect(); 

Aby uzyskać więcej informacji, patrz: