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 du servlet :
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();
Ensuite je veux parser la string mais le seul paramétre string accepté par parse et une URI, donc forcément ca marche pas.
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); }
Que dois je faire, modifier ma socket ou faire une opération bizarre sur ma string pour su'elle soit reconue en flux?
Partager