Win a copy of The Way of the Web Tester: A Beginner's Guide to Automating Tests this week in the Testing forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

help with posting data to server from servlet premature end of file error

Ray Smilgius
Ranch Hand
Posts: 120
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
import java.util.Date;
import javax.servlet.*;
import javax.servlet.http.*;
public class TestServlet extends HttpServlet {
String test = "This is a test";
byte[] b = new byte[100];
public void init() throws ServletException {
System.out.println("TestServlet : init");
public void destroy() {
System.out.println("TestServlet : destroy");

public void doGet(HttpServletRequest req, HttpServletResponse res)
throws IOException, ServletException {
PrintWriter out = res.getWriter();
// print content

out.println("<title>TestServlet ( by ");
out.println( test);
out.println(" )</title>");
out.println("<style>body, p { font-family:tahoma;");
out.println(" font-size:12pt; }</style>");
out.println("<p>TestServlet (");
out.println(b);// print contents of response from remote server
out.println(" ) :</p>");
public void doPost(HttpServletRequest req, HttpServletResponse res)
throws IOException, ServletException {
URL url;
URLConnection urlConn;
DataOutputStream printout;
DataInputStream input;
// URL of CGI-Bin script.
url = new URL ("http://rsmilgius:5000/InScope.xml");

// URL connection channel.
urlConn = url.openConnection();
// Let the run-time system (RTS) know that we want input.
urlConn.setDoInput (true);
// Let the RTS know that we want to do output.
urlConn.setDoOutput (true);
// No caching, we want the real thing.
urlConn.setUseCaches (false);
// Specify the content type.
urlConn.setRequestProperty("Content-Type", "text/html");
// Send POST output.
printout = new DataOutputStream (urlConn.getOutputStream ());
printout.flush ();
// printout.close ();// commented this out to make sure i get all file
// Get response data. //*******this is where it is bombing****
input = new DataInputStream (urlConn.getInputStream ());
while( > 0) {}
printout.write(b); //send the original content back
System.out.println (b);
doGet(req, res);
catch (IOException e)
doGet(req, res);

Thanks in advance
When I post to the server no data is getting there from the post I even tested it on a simple asp page that returns the results sent..Niether the ASP nor the echo web server is recieving the posted data. Funny enough the echo web server is getting the correct content-length of the data but not the data itself. I have been struggling on this for a week. Any help will be greatly appreciated.
Ray Smilgius
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic