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


Reply via email to