Did you try URLConnection.setDoOutput(true)? Ronald.
On Wed Aug 03 23:52:45 CEST 2005 Tomcat Users List <[email protected]> wrote:
PROBLEM: Trying to write to URL via URLConnection.getOutputStream().write() fails. In the main method below, the code attempts to write some bytes to HYPERLINK "http://localhost:8080/temp/sample.txt"http://localhost:8080/temp/sample.txt . "http://localhost:8080/temp/sample.txt" is resolvable in a web browser and actually points to: ${tomcat.home}/server/webapps/ROOT/temp/samples.txt Executing main does not result in any bytes being written. Any input appreciated, thanks :-) SERVER: Apache Tomcat/4.0.1 Windows XP using Java 1.4.2_06 CLIENT CODE: Windows XP using Java 1.4.2_06 public static void main(String[] args) { OutputStream os = null; try { final String string = "http://localhost:8080/temp/sample.txt"; URL url = new URL(string); final URLConnection conn = url.openConnection(); System.out.println("openConnection="+conn); boolean doOutput = conn.getDoOutput(); conn.setDoOutput(true); conn.setDoInput(true); conn.setUseCaches(false); conn.setAllowUserInteraction(true); doOutput = conn.getDoOutput(); System.out.println("doOutput is enabled:"+doOutput); final String data = "Hello World"; conn.setRequestProperty("Content-length", String.valueOf(data.length())); os = conn.getOutputStream(); final BufferedOutputStream bos = new BufferedOutputStream(os); System.out.println("bos='"+bos+"'"); //now write some bytes final byte[] bytes = data.getBytes(); bos.write(bytes); } catch (Exception e) { e.printStackTrace(); } finally { if(os != null) { try { os.flush(); os.close(); } catch (IOException e) { e.printStackTrace(); } } } } CLIENT-OUTPUT: openConnection=sun.net.www.protocol.http.HttpURLConnection:http://localhost: 8080/temp/sample.txt doOutput is enabled:true bos='[EMAIL PROTECTED]' -- No virus found in this outgoing message. Checked by AVG Anti-Virus. Version: 7.0.338 / Virus Database: 267.9.9/62 - Release Date: 8/2/2005
