Rufen Sie Web Service von https und Parse reagierte XML-Daten in Java
-
19-09-2019 - |
Frage
ich muss mit https-URL eine Verbindung zu bekommen, meine Anfrage Schema schicken und ich werde einige XML-Antwort von Web-Service erhalten.
Für https-URL-Verbindung Ich bin mit:
URL myurl = new URL(httpsURL);
HttpsURLConnection con = (HttpsURLConnection)myurl.openConnection();
con.setDoOutput(true);
con.setDoInput(true);
con.setUseCaches(false);
con.setRequestProperty("Content-type","text/xml");
Also, von oben Code erhalte ich reagierte XML vom Server. Nun meine Frage ist, welche am bester Parser für mich sein würde, um Parse XML-Daten auf mein einfachen Java-Objekt reagiert.
Ich habe eine Menge auf, dass glotzte und verschiedene Lösungen bekommen, aber ich habe confuse für geeignete Wahl.
, wenn jemand Vorschlag mit einigen Probe Beispiel haben, dann geben Sie bitte ..
Vielen Dank im Voraus ...
Bearbeiten : über https Antwort ist keine Seife
Lösung
Andere Tipps
Wenn dies ein SOAP-Dienst dann sollten Sie einen SOAP-Client-API statt wie Spring-WS oder JAX-WS werden.
Wir verwenden die Metro-Bibliothek für diese, die Java erfordert 1.5 und ist in Java 6 enthalten.
Sie dann einen DOM-Baum für das Ergebnis erhalten, die dann leicht nachbearbeitet werden.
Wir haben IntelliJ IDEA die WSDL zu Java-Quellcode zu konvertieren Metro mit.
Ich würde vorschlagen, einen Blick auf Castor mit ( http://www.castor.org/ xml-mapping.html ) - es ist eine extrem einfache Art und Weise XML POJOs abzubilden. Es erzeugt die Java-Klassen auf der Grundlage Ihres XML-Schema (in Ihrem Fall der WSDL-Datei).
Wenn Sie fertig sind Parsen der Antwort ist so einfach wie:
StringReader sr = new StringReader(inMessageString);
YourSoapResponse response = (YourSoapResponse)Unmarshaller.unmarshal(YourSoapResponse.class, sr);
Castor relativ schnell (wenn es erwärmt wird), aber wenn Ihre XML-Antwort „große“ ist, können Sie benötigen Stax zu überdenken und verwenden ( http://stax.codehaus.org/Home ) zum Beispiel.