Bonjour

Je veux envoyer un xml à une socket je passe donc une string contenant le XML en paramétre post de mon url. Code de mon client :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
String data = URLEncoder.encode("xml", "UTF-8") + "="
                    + URLEncoder.encode("<?xml version=\"1.0\" encoding=\"UTF-8\"?><hop><plop>truc</plop></hop>", "UTF-8");
            data += "&" + URLEncoder.encode("action", "UTF-8") + "="
            + URLEncoder.encode("init", "UTF-8");
 
            // Send data
            URL url = new URL(
                    "http://localhost:8080/MyServlet/MyServlet");
            URLConnection conn = url.openConnection();
            conn.setDoOutput(true);
            OutputStreamWriter wr = new OutputStreamWriter(conn
                    .getOutputStream());
            wr.write(data);
            wr.flush();
Code du servlet :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
public void doPost(HttpServletRequest req, HttpServletResponse res) {
        String xml=req.getParameter("xml");
        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        DocumentBuilder builder=null;
        Document doc=null;
        try {
            builder = factory.newDocumentBuilder();
            doc = builder.parse(xml);
        }
Ensuite je veux parser la string mais le seul paramétre string accepté par parse et une URI, donc forcément ca marche pas.

Que dois je faire, modifier ma socket ou faire une opération bizarre sur ma string pour su'elle soit reconue en flux?