Question

Je dois me connecter avec url https, envoyer mon schéma de demande et je vais obtenir une réponse XML du service Web.

Pour la connexion https url J'utilise:

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

Donc, à partir du code ci-dessus, je reçois répondu XML du serveur. Maintenant, ma question est ce qui serait le mieux pour moi analyseur pour analyser les données xml répondu à mon objet Java simple.

Je goggled beaucoup là-dessus, et d'obtenir diverses solutions, mais je confondez pour choisir celui qui convient.

si quelqu'un a suggéré avec quelques exemples échantillon, alors s'il vous plaît fournir ..

Merci d'avance ...

EDIT : Au-dessus de réponse https n'est pas un savon

Était-ce utile?

Autres conseils

Si cela est un service SOAP vous devez utiliser une API client SOAP à la place comme Spring-WS ou JAX-WS.

Nous utilisons la bibliothèque Metro pour cela, ce qui nécessite Java 1.5 et est inclus dans Java 6.

Vous obtenez alors un arbre DOM pour le résultat, qui peut ensuite être facilement post-traitement.

Nous avons utilisé IntelliJ IDEA pour convertir le WSDL à la source Java en utilisant Metro.

Je suggère d'avoir un regard à Castor ( http://www.castor.org/ xml-mapping.html) - c'est un moyen extrêmement simple à la carte XML à POJO. Il génère les classes Java en fonction de votre schéma XML (dans votre cas le fichier WSDL).

Lorsque vous avez terminé analyse de la réponse est aussi simple que:

StringReader sr = new StringReader(inMessageString);
YourSoapResponse response = (YourSoapResponse)Unmarshaller.unmarshal(YourSoapResponse.class, sr);

Castor est relativement rapide (une fois qu'il est réchauffé) mais si votre réponse XML sont « énormes » vous pourriez avoir besoin de reconsidérer et utiliser Stax ( http://stax.codehaus.org/Home ) par exemple.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top