VerifyCreditCardServlet-comment renvoyer le nouveau document xml

Modérateurs : graffion, jmdouin, agoncal, mlebihan

sophie2017
Messages : 15
Inscription : 26 nov. 2017 23:54

VerifyCreditCardServlet-comment renvoyer le nouveau document xml

Message par sophie2017 » 27 nov. 2017 22:59

Bonsoir,

Dans la classe VerifyCreditCardServlet.java, j'ai récupéré les données avec XPath (le numéro de la carte, son type et son année et mois d'expiration) et appliqué l'algorithme de vérification en appelant la méthode verify. Et j'ai rajouté le statut dans le document XML avec ma méthode createResult(Document doc, string status): Document.
Mais comment on renvoie le nouveau document xml dans la méthode service à HttpSender ? Comment la classe HttpSender le récupère?
Je suis vraiment perdue sur ce point là.

Merci pour vos aides!

PhilG
Messages : 21
Inscription : 12 nov. 2017 10:25

Re: VerifyCreditCardServlet-comment renvoyer le nouveau document xml

Message par PhilG » 28 nov. 2017 8:42

Code : Tout sélectionner

try (PrintWriter pw = resp.getWriter()) {
.....
pw.println(document.asXML());


sophie2017
Messages : 15
Inscription : 26 nov. 2017 23:54

Re: VerifyCreditCardServlet-comment renvoyer le nouveau document xml

Message par sophie2017 » 28 nov. 2017 10:47

Merci PhilG,

On peut utiliser ServletOutputStream au lieu de PrintWriter aussi non?

response.setContentType("application/xml");
ServletOutputStream out = response.getOutputStream() ;
Document docretour = DocumentHelper.createDocument();
String xmlencoded="";
xmlencoded = request.getParameter("param"); //La servlet de la BarkBank intercepte le flux en entrée
if ((xmlencoded != null) && (!"".equals(xmlencoded))) { /*traitement si il y a quelque chose */ }
out.print(docretour.asXML());

PhilG
Messages : 21
Inscription : 12 nov. 2017 10:25

Re: VerifyCreditCardServlet-comment renvoyer le nouveau document xml

Message par PhilG » 28 nov. 2017 11:14

Si ça marche, pourquoi pas.

Il ne faut pas, par principe, oublier de fermer le flux (ici ServletOutputStream), avec un try ressources, par exemple.

sophie2017
Messages : 15
Inscription : 26 nov. 2017 23:54

Re: VerifyCreditCardServlet-comment renvoyer le nouveau document xml

Message par sophie2017 » 28 nov. 2017 11:53

Merci!

En cas d'erreur , on fait quoi dans le catch?

PhilG
Messages : 21
Inscription : 12 nov. 2017 10:25

Re: VerifyCreditCardServlet-comment renvoyer le nouveau document xml

Message par PhilG » 28 nov. 2017 12:09

Avec un try-ressource, le catch n'est pas obligatoire.
On peut juste jeter l'exception.

Le try-ressource est juste là pour s'assurer que l'on ferme les ressources.

Autrement, tu peux aussi imaginer un traitement d'erreur :-)

Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité