This is my first question, so please bear with me.
I have a Swing application that receives XML data from a server through HttpURLConnection. Now I'm trying to create a permanent connection to the server for request and response, to check if there are any updates for the application (since the check should be performed regularly and often (every second or so).
In some interrogative comment, I read that it would be better to use Apache HttpClient instead of HttpURLConnection to maintain a live connection, but I can not find a good example of how to switch from my current code to using HttpClient. In particular, what to use instead of HttpURLConnection.setRequestProperty () and HttpURLConnection.getOutputStream ()?
Document request = new Document(xmlElement); Document response = new Document(); String server = getServerURL(datasetName); try { URL url = new URL(server); try { HttpURLConnection connection = (HttpURLConnection)url.openConnection(); connection.setRequestProperty("Content-Type","application/xml; charset=ISO-8859-1"); connection.setDoOutput(true); connection.setDoInput(true); connection.setRequestMethod("POST"); OutputStream output = connection.getOutputStream(); XMLOutputter serializer = new XMLOutputter(); serializer.output(request, output); output.flush(); output.close(); InputStream input = connection.getInputStream(); String tempString = ErrOut.printToString(input); SAXBuilder parser = new SAXBuilder(); try { response = parser.build(new StringReader(tempString)); } catch (JDOMException ex) { ... } input.close(); connection.disconnect(); } catch (IOException ex) { ... } } catch (MalformedURLException ex) { ... }
source share