cancel
Showing results for 
Search instead for 
Did you mean: 

Exécution webscript post à partir d'un code java

viscere
Champ in-the-making
Champ in-the-making
Bonjour,

   Je souhaiterais exécuter un webscript (java back-bean) prenant un fichier xml en paramètre, à partir d'un bout de code java. J'ai réussi à partir d'un formulaire http tout simple (multipart/formdata) mais j'ai quelques difficultés à le faire en java.

Mon descripteur :

<webscript>
   <shortname>POST commande bean</shortname>
   <description>Permet de creer une demande</description>
   <url>/ui/bean/commande</url>
   <authentication>guest</authentication>
    <transaction>requiresnew</transaction>
</webscript>

Le bout de code java qui envoie le fichier xml au webscript (C'est ici que je dois me tromper) :


                       File fileConsigne = XmlDocumentParserImpl.saveXmlFile(messageRetour, true, "RETOUR_COMMANDE.xml");
                       URL url = new URL("http://localhost:8080/projet/service/ui/bean/commande");

                        URLConnection conn = url.openConnection();

                        FileInputStream in = new FileInputStream(fileConsigne);
                        byte[] data = new byte[(int) fileConsigne.length()];
                        in.read(data);
                        in.close();

                        conn.setDoInput(true);
                        conn.setDoOutput(true);
                        conn.setUseCaches(false);
                        conn.setRequestProperty("Content-Type", "text/xml");

                        DataOutputStream out = new DataOutputStream(conn.getOutputStream());
                        out.write(data, 0, data.length);
                        out.flush();
                        out.close();

Le code java s'exécute normalement et ne me retourne aucune erreur mais je m'attendais à recevoir dans ma page html exécutant  mon code java le retour ftl de mon webscript.

Merci d'avance pour vos conseils et réponse.
1 REPLY 1

rivarola
Champ on-the-rise
Champ on-the-rise
Bonjour,

Plutôt que de passer par du code Java "roots", je conseillerais de passer plutôt par une librairie comme Jakarta Commons HttpClient pour faire des requêtes POST en Java (voir http://hc.apache.org/httpclient-3.x/)