I want to call a Servlet from a Java application. The problem is, that the call seems not to reach the Servlet. I do not get any error, but do not reach the first output \"d
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
try {
System.out.println("doPost");
ObjectInputStream objIn = new ObjectInputStream(request.getInputStream());
ActionPackage p = null;
p = (ActionPackage) objIn.readObject();
System.out.println("Servlet rece p: "+p);
} catch (Throwable e) {
e.printStackTrace(System.out);
}
}
URLConnection
is only lazily executed whenever you call any of the get
methods.
Add the following to your code to actually execute the HTTP request and obtain the servlet response body.
InputStream response = servletConnection.getInputStream();
Try wrapping the entire body of the doPost in a try/catch block:
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
try {
System.out.println("doPost");
ObjectInputStream objIn = new ObjectInputStream(request.getInputStream());
ActionPackage p = null;
p = (ActionPackage) objIn.readObject();
System.out.println("Servlet received p: "+p);
} catch (Throwable e) {
e.printStackTrace(System.out);
}
}
Then look again at your Servlet output log file or window for a new Exception which may help.