
I want to parser XML (sended by Apache SOAP and tomcat),tomcat Receive by " C:\Program Files\Apache Tomcat 4.0\webapps\examples\WEB-INF\classes\HTTPReceive",but i don't how write completely? please give directions!thanks !
import java.io.*;
import java.text.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.IOException;
import org.xml.sax.SAXException;
import org.xml.sax.XMLReader;
import org.xml.sax.ContentHandler;
import org.xml.sax.helpers.XMLReaderFactory;
import java.io.FileInputStream;
import java.util.Properties;
import org.xml.sax.Attributes;
import org.xml.sax.ErrorHandler;
import org.xml.sax.Locator;
import org.xml.sax.SAXParseException;
public class HTTPReceive extends HttpServlet
{
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
System.out.println("Received GET request");
response.setStatus(HttpServletResponse.SC_BAD_REQU EST);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
System.out.println("____________________________") ;
System.out.println("Received request.");
System.out.println("-----------------------");
// Traverse the HTTP headers and show them on the screen
for(Enumeration enum = request.getHeaderNames();
enum.hasMoreElements(); ){
String header = (String)enum.nextElement();
String value = request.getHeader(header);
System.out.println(" " + header + " = " + value);
}
System.out.println("-----------------------");
if(request.getContentLength() > 0)
{
try
{
java.io.BufferedReader reader = request.getReader();
XMLReader parser=XMLReaderFactory.createXMLReader(
"org.apache.xerces.parsers.SAXParser");
//·ÖÎöÎļþ
parser.parse(new org.xml.sax.InputSource (reader));
}
catch(IOException ioe)
{
System.out.println(ioe.getMessage());
}
catch(SAXException saxe)
{
System.out.println(saxe.getMessage());
}
}
System.out.println("____________________________") ;
response.setContentType("text/xml"); // Need this to prevent Apache SOAP from gacking
}