Bonjour,

Je faias actuellement face à un problème concernant une requête HTTP vers une servlet distante.
La servlet en question récupère un message et le stocke pour affichage, un genre de chat en fait.


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 
public void sendAnswer (String answer){
        try {
            URL chat_url;
            HttpURLConnection urlCon;
 
            String chat_str = CHAT_URL
                    + "?MODE=REGIST&VP_NO=" +
                    relatedChat.getVp_no() +
                    "&PLAYER=" +
                    relatedChat.getRole() +
                    "&MESSAGE=" +
                    answer;
            chat_url = new URL(chat_str);
            urlCon = (HttpURLConnection) chat_url.openConnection();
            urlCon.setRequestMethod("GET");
/*POST PARAMETERS*/
//            urlCon.setRequestProperty("MODE", "REGIST");
//            urlCon.setRequestProperty("VP_NO", String.valueOf(relatedChat.getVp_no()));
//            urlCon.setRequestProperty("PLAYER", relatedChat.getRole());
//            urlCon.setRequestProperty("MESSAGE", answer);
            urlCon.setDoOutput(true);
            urlCon.connect();
            int ret_code = urlCon.getResponseCode();
            String ret_msg = urlCon.getResponseMessage();
            urlCon.disconnect();
        } 
        catch (MalformedURLException mex) {
            System.out.println(mex.getMessage());
        }
        catch (IOException ex) {
            System.out.println(ex.getMessage());
        }
    }
L'appel fonctionne bien, sauf dans le cas ou un des paramètres de la requète possède des caractères spéciaux, problème ! Code de retour 505, Version Not Supported...
Aucune différence que ce soit en GET ou en POST, la servlet "Chat" fonctionne correctement.

Par exemple si answer ="Hello", pas de problème. Si par contre c'est "How do you do" ou "How are you ?" => code 505.

Ca doit etre tout con à résoudre mais je n'ai pas trouvé comment faire