package org.jfox.ejb.invoker.soap;
import java.io.IOException;
import java.io.OutputStream;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.xmlrpc.XmlRpcServer;
public class XMLRPCServlet extends HttpServlet {
private static XmlRpcServer xmlrpc;
public void init() throws ServletException {
xmlrpc = new XmlRpcServer();
try {
xmlrpc.addHandler("$default", new JRMPXmlRpcHandler());
}
catch (Exception e) {
throw new ServletException(e);
}
}
protected void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
res.setContentType("text/plain");
OutputStream out = res.getOutputStream();
out.write("xml rpc proxy servlet\n".getBytes());
out.close();
}
protected void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
byte[] result = xmlrpc.execute(req.getInputStream ());
res.setContentType("text/xml");
res.setContentLength(result.length);
OutputStream output = res.getOutputStream();
output.write(result);
output.flush();
output.close();
}
public static void main(String[] args) {
}
}