Page 1 sur 1

VerifyCreditCardServlet-comment renvoyer le nouveau document xml

Publié : 27 nov. 2017 22:59
par sophie2017
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!

Re: VerifyCreditCardServlet-comment renvoyer le nouveau document xml

Publié : 28 nov. 2017 8:42
par PhilG

Code : Tout sélectionner

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


Re: VerifyCreditCardServlet-comment renvoyer le nouveau document xml

Publié : 28 nov. 2017 10:47
par sophie2017
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());

Re: VerifyCreditCardServlet-comment renvoyer le nouveau document xml

Publié : 28 nov. 2017 11:14
par PhilG
Si ça marche, pourquoi pas.

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

Re: VerifyCreditCardServlet-comment renvoyer le nouveau document xml

Publié : 28 nov. 2017 11:53
par sophie2017
Merci!

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

Re: VerifyCreditCardServlet-comment renvoyer le nouveau document xml

Publié : 28 nov. 2017 12:09
par PhilG
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 :-)