try using the code for the 2 servlets :
Client Servlet:
package cmanager;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import java.io.File;
/*import com.sun.xml.parser.Resolver;
import com.sun.xml.tree.XmlDocument; */
import com.sun.xml.tree.ElementNode ;
import org.xml.sax.InputSource;
import org.w3c.dom.*;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;
import org.apache.crimson.parser.Resolver ;
import org.apache.crimson.tree.XmlDocument;
//import org.w3c.dom.Document ;
import java.net.*;
public class ClientServlet extends HttpServlet {
//Initialize global variables
public void init(ServletConfig config) throws ServletException {
super.init(config);
}
//Process the HTTP Post request
public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
InputSource input1,input2,output1;
XmlDocument doc1,doc2,doc3;
byte[] bytessent = new byte[10000];
byte[] bytesread = new byte[10000];
response.setContentType("text/xml");
PrintWriter out = new PrintWriter (response.getOutputStream());
try
{
input1 = Resolver.createInputSource (new File("e:/weblogic/myserver/servletclasses/pizza.xml"));
doc1 = XmlDocument.createXmlDocument (input1, false);
doc1.getDocumentElement().normalize();
String xmldoc =doc1.getDocumentElement().toString ();
URL serverurl = new URL("http://kpraveen:7001/sservlet");
URLConnection srvconnect = serverurl.openConnection ();
srvconnect.setDoOutput (true);
srvconnect.setDefaultUseCaches (false);
OutputStream os = srvconnect.getOutputStream ();
//out.println("Bytes sent to server servlet");
for(int k=0;k < xmldoc.length () ;k++)
{
bytessent[k]= (byte)xmldoc.charAt (k);
// out.print((char)bytessent[k]);
}
os.write (bytessent);
os.flush();
// srvconnect.wait (2);
os.close ();
InputStream is =srvconnect.getInputStream ();
is.read(bytesread);
// out.println("Bytes sent back from server servlet");
for(int j=0;j<bytesread.length ;j++)
{
out.println((char)bytesread[j]);
}
} catch (SAXParseException err)
{
out.println ("** Parsing error" + ", line " +
err.getLineNumber () +
", uri " + err.getSystemId ());
out.println(" " + err.getMessage ());
}
catch (SAXException e)
{
e.printStackTrace();
}
catch (Throwable t)
{
t.printStackTrace();
}
out.close();
}
//Get Servlet information
public String getServletInfo() {
return "xmlstuff.ClientServlet Information";
}
}
ServerServlet:
package cmanager;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import java.io.File;
import com.sun.xml.parser.Resolver;
import com.sun.xml.tree.XmlDocument;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;
import com.sun.xml.tree.*;
import org.w3c.dom.*;
import org.w3c.dom.Document ;
import java.net.*;
public class ServerServlet extends HttpServlet {
byte[] bytessent = new byte[10000];
byte[] bytesread = new byte[10000];
//Initialize global variables
public void init(ServletConfig config) throws ServletException {
super.init(config);
}
//Service the request
public void service( ServletRequest request, ServletResponse response) throws ServletException, IOException {
response.setContentType("text/plain");
PrintWriter out = response.getWriter ();
try{
System.out.println("trying to read input stream in server servlet");
ServletInputStream sis = request.getInputStream ();
sis.read(bytesread);
sis.close ();
System.out.println("trying to read input stream in server servlet"+(char)bytesread[0]+bytesread.length);
System.out.println("Bytes read from client servlet::");
// for(int j=0;j<=1000 ;j++)
// {
//
// System.out.print ((char)bytesread[j]);
// }
String buildtosend = new String(bytesread,0,bytesread.length-1);
System.out.print (buildtosend);
ServletOutputStream os = response.getOutputStream();
for(int k=0;k < buildtosend.length () ;k++)
{
bytessent[k]= (byte)buildtosend.charAt (k);
out.print((char)bytessent[k]);
}
os.write (bytessent);
os.flush();
// srvconnect.wait (2);
os.close ();
}catch(Exception ee){
System.out.println("Error reading stream");
}
}
//Get Servlet information
public String getServletInfo() {
return "xmlstuff.ServerServlet Information";
}
}