You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by java naik <ja...@yahoo.com> on 2002/07/12 20:51:10 UTC
Help: Passing object through http from one jvm to another
I am trying to pass a java object from my perform method to a servlet running in different JVM .
My perform method returns Actionforward object redirecting to the same servlet. Here is what I have tried:
Perform method:
Object resultObj = getObj();
URL url= new URL("http://localhost:8080/CallbackServlet");
URLConnection uConn = url.openConnection();
uConn.setDoOutput(true);
uConn.setAllowUserInteraction(false);
uConn.setUseCaches(false);
uConn.setDefaultUseCaches(false);
ObjectOutputStream outputToHost = new ObjectOutputStream(uConn.getOutputStream());
outputToHost.writeObject(resultObj);
outputToHost.flush();
outputToHost.close();
String callbackClassName = (String) session.getAttribute(Constants.CALLBACK_CLASS);
String callbackClassInvokerURL = "http://localhost:8080/CallbackServlet?callbackClassName="+callbackClassName;
if(callbackClassInvokerURL != null) {
TxActionForward af = new TxActionForward( callbackClassInvokerURL );
af.setRedirect(true);
return af;
}
and the CallbackServlet: Service method
ServletInputStream si = request.getInputStream();
// get object to be viewed
ObjectInputStream inputFromClient = new ObjectInputStream((InputStream)si);
Object resultObj = null;
resultObj = (Object)inputFromClient.readObject();
inputFromClient.close();
This did not work. It never comes out of the following statement
// get object to be viewed ObjectInputStream inputFromClient = new ObjectInputStream((InputStream)si);
Could anyone explain what's wrong in the above program? or please suggest some other route?
Thanks
---------------------------------
Do You Yahoo!?
New! SBC Yahoo! Dial - 1st Month Free & unlimited access