2010-12-16 10 views
5

Ich möchte eine Antwort von einem Nicht-WSDL Web Service-Aufruf mit JAXB lesen. Ich sende eine POST-Anfrage mit HttpURLConnection, und bekomme eine Antwort. Meine Frage ist, mache ich ein XML-Dokument aus dem Antwort-Stream, dann verwenden Sie Jaxb, um die Java-Objekte zu machen? Oder ist es möglich, jaxb on the fly mit dem Antwort-Stream zu verwenden? Dies wird eine Webanwendung sein, und ich werde nicht in der Lage sein, ein generiertes xml doc irgendwo zu speichern, also wenn ich ein xml doc machen muss, wie kann ich es für jaxb verwenden, wenn ich das jaxb nicht machen kann Fliege?Parsen von Antwort-XML mit JAXB

Antwort

3

Die Unmarshaller.unmarshal kann einen InputStream nehmen, was die Notwendigkeit, es zu einem XML-Dokument zu analysieren, eliminiert hätte. Hier

6

ein Beispiel:

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(); 

Weitere Informationen finden Sie unter: