| 1 29 30 package echo2example.chatclient; 31 32 import java.io.IOException ; 33 import java.io.InputStream ; 34 import java.io.OutputStream ; 35 import java.net.HttpURLConnection ; 36 import java.net.URL ; 37 38 import javax.xml.parsers.DocumentBuilder ; 39 import javax.xml.parsers.DocumentBuilderFactory ; 40 import javax.xml.parsers.ParserConfigurationException ; 41 import javax.xml.transform.Transformer ; 42 import javax.xml.transform.TransformerException ; 43 import javax.xml.transform.TransformerFactory ; 44 import javax.xml.transform.dom.DOMSource ; 45 import javax.xml.transform.stream.StreamResult ; 46 47 import org.w3c.dom.Document ; 48 import org.xml.sax.SAXException ; 49 50 55 public class XmlHttpConnection { 56 57 64 public static Document send(String url, Document requestDocument) 65 throws IOException { 66 try { 67 URL u = new URL (url); 68 HttpURLConnection conn = (HttpURLConnection ) u.openConnection(); 69 conn.setRequestMethod("POST"); 70 conn.setDoOutput(true); 71 72 OutputStream out = conn.getOutputStream(); 74 TransformerFactory tFactory = TransformerFactory.newInstance(); 75 Transformer transformer = tFactory.newTransformer(); 76 DOMSource source = new DOMSource (requestDocument); 77 StreamResult result = new StreamResult (out); 78 transformer.transform(source, result); 79 out.close(); 80 81 conn.connect(); 82 83 InputStream in = conn.getInputStream(); 84 DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); 85 factory.setNamespaceAware(true); 86 DocumentBuilder builder = factory.newDocumentBuilder(); 87 return builder.parse(in); 88 } catch (ParserConfigurationException ex) { 89 throw new IOException ("Unable to parse response: " + ex.toString()); 90 } catch (SAXException ex) { 91 throw new IOException ("Unable to parse response: " + ex.toString()); 92 } catch (TransformerException ex) { 93 throw new IOException ("Unable to write document to OutputStream: " + ex.toString()); 94 } 95 } 96 97 } 98 | Popular Tags |