I'm trying to write a java class named Sender.java that invoke a servlet. This is the code for Sender.java :
public class Sender {
public static void main(String args[]){
try{
URL gwtServlet = new URL("http://localhost/FileReceiver/Receiver");
HttpURLConnection servletConnection = (HttpURLConnection) gwtServlet.openConnection();
servletConnection.setRequestMethod("POST");
servletConnection.setDoOutput(true);
servletConnection.setDoInput(true);
servletConnection.setUseCaches(false);
servletConnection.setDefaultUseCaches (false);
OutputStream os = servletConnection.getOutputStream();
ObjectOutputStream out = new ObjectOutputStream(os);
out.writeInt(1);
out.flush();
out.close();
}
catch (Exception e) {
e.printStackTrace();
}
}
}
and here the code for the servlet Receiver.java :
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request,response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
try {
InputStream is = request.getInputStream();
//until here is ok
ObjectInputStream ois = new ObjectInputStream(is);
int p = ois.readInt();
writer.println("the number p is : " + p);
ois.close();
} catch (Exception exc) {
exc.printStackTrace();
}
}
When I try to run on server (WildFly 8.x) the servlet, I have this error:
14:52:20,193 ERROR [stderr] (default task-7) java.io.EOFException
14:52:20,193 ERROR [stderr] (default task-7) at java.io.ObjectInputStream$PeekInputStream.readFully(Unknown Source)
14:52:20,193 ERROR [stderr] (default task-7) at java.io.ObjectInputStream$BlockDataInputStream.readShort(Unknown Source)
14:52:20,193 ERROR [stderr] (default task-7) at java.io.ObjectInputStream.readStreamHeader(Unknown Source)
14:52:20,193 ERROR [stderr] (default task-7) at java.io.ObjectInputStream.<init>(Unknown Source)
14:52:20,193 ERROR [stderr] (default task-7) at fileServlet.servlet.Receiver.doPost(Receiver.java:67)
14:52:20,193 ERROR [stderr] (default task-7) at fileServlet.servlet.Receiver.doGet(Receiver.java:46)
14:52:20,193 ERROR [stderr] (default task-7) at javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
14:52:20,193 ERROR [stderr] (default task-7) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
14:52:20,193 ERROR [stderr] (default task-7) at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85)
14:52:20,193 ERROR [stderr] (default task-7) at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:61)
14:52:20,193 ERROR [stderr] (default task-7) at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
14:52:20,193 ERROR [stderr] (default task-7) at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
14:52:20,193 ERROR [stderr] (default task-7) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25)
14:52:20,193 ERROR [stderr] (default task-7) at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:113)
14:52:20,193 ERROR [stderr] (default task-7) at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:56)
14:52:20,193 ERROR [stderr] (default task-7) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25)
14:52:20,193 ERROR [stderr] (default task-7) at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:45)
14:52:20,193 ERROR [stderr] (default task-7) at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:61)
14:52:20,193 ERROR [stderr] (default task-7) at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:58)
14:52:20,193 ERROR [stderr] (default task-7) at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:70)
14:52:20,193 ERROR [stderr] (default task-7) at io.undertow.security.handlers.SecurityInitialHandler.handleRequest(SecurityInitialHandler.java:76)
14:52:20,193 ERROR [stderr] (default task-7) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25)
14:52:20,193 ERROR [stderr] (default task-7) at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
14:52:20,193 ERROR [stderr] (default task-7) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25)
14:52:20,193 ERROR [stderr] (default task-7) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25)
14:52:20,193 ERROR [stderr] (default task-7) at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:240)
14:52:20,193 ERROR [stderr] (default task-7) at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:227)
14:52:20,193 ERROR [stderr] (default task-7) at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:73)
14:52:20,193 ERROR [stderr] (default task-7) at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:146)
14:52:20,194 ERROR [stderr] (default task-7) at io.undertow.server.Connectors.executeRootHandler(Connectors.java:177)
14:52:20,194 ERROR [stderr] (default task-7) at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:727)
14:52:20,194 ERROR [stderr] (default task-7) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
14:52:20,194 ERROR [stderr] (default task-7) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
14:52:20,194 ERROR [stderr] (default task-7) at java.lang.Thread.run(Unknown Source)
I got that the problem is about InputStream is = request.getInputStream();
because I can see this from the debugger (is is null) but I don't know why this happens.
Can someone help me? thank you in advance.