<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DZone Snippets: server code</title>
    <link>http://snippets.dzone.com/posts</link>
    <pubDate>Mon, 06 Oct 2008 12:13:35 GMT</pubDate>
    <description>DZone Snippets: server code</description>
    <item>
      <title>An XML-RPC Servlet</title>
      <link>http://snippets.dzone.com/posts/show/1635</link>
      <description>// This depends upon the Apache XML-RPC library.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;import java.io.IOException;&lt;br /&gt;import java.io.OutputStream;&lt;br /&gt;&lt;br /&gt;import javax.servlet.ServletConfig;&lt;br /&gt;import javax.servlet.ServletException;&lt;br /&gt;import javax.servlet.http.HttpServlet;&lt;br /&gt;import javax.servlet.http.HttpServletRequest;&lt;br /&gt;import javax.servlet.http.HttpServletResponse;&lt;br /&gt;&lt;br /&gt;import org.apache.commons.logging.Log;&lt;br /&gt;import org.apache.commons.logging.LogFactory;&lt;br /&gt;import org.apache.xmlrpc.XmlRpcServer;&lt;br /&gt;&lt;br /&gt;public class XmlRpcServlet extends HttpServlet {&lt;br /&gt;    public class EchoHandler {&lt;br /&gt;        public String echo(String input) {&lt;br /&gt;            return input;&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;	&lt;br /&gt;    private XmlRpcServer server = new XmlRpcServer();&lt;br /&gt;&lt;br /&gt;    private static Log log = LogFactory.getLog(XmlRpcServlet.class);&lt;br /&gt;&lt;br /&gt;	@Override&lt;br /&gt;	public void init(ServletConfig config) throws ServletException {&lt;br /&gt;        server.addHandler("echo", new EchoHandler());&lt;br /&gt;	}&lt;br /&gt;&lt;br /&gt;	@Override&lt;br /&gt;	protected void doGet(HttpServletRequest request, &lt;br /&gt;			HttpServletResponse response) throws ServletException, IOException {&lt;br /&gt;        doPost(request, response);&lt;br /&gt;	}&lt;br /&gt;&lt;br /&gt;	@Override&lt;br /&gt;	protected void doPost(HttpServletRequest request, &lt;br /&gt;			HttpServletResponse response) throws ServletException, IOException {&lt;br /&gt;        byte[] result = server.execute(request.getInputStream());&lt;br /&gt;        &lt;br /&gt;        response.setContentType("text/xml");&lt;br /&gt;        response.setContentLength(result.length);&lt;br /&gt;        &lt;br /&gt;        OutputStream output = response.getOutputStream();&lt;br /&gt;        output.write(result);&lt;br /&gt;        output.flush();&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;// The following needs to be added to your web.xml file to&lt;br /&gt;// expose the servlet so it may be called remotely.&lt;br /&gt;&lt;code&gt;&lt;br /&gt;  &lt;servlet&gt;&lt;br /&gt;    &lt;servlet-name&gt;XmlRpcServlet&lt;/servlet-name&gt;&lt;br /&gt;    &lt;servlet-class&gt;XmlRpcServlet&lt;/servlet-class&gt;&lt;br /&gt;  &lt;/servlet&gt;&lt;br /&gt;&lt;br /&gt;  &lt;servlet-mapping&gt;&lt;br /&gt;    &lt;servlet-name&gt;XmlRpcServlet&lt;/servlet-name&gt;&lt;br /&gt;    &lt;url-pattern&gt;/remoteapi&lt;/url-pattern&gt;        &lt;br /&gt;  &lt;/servlet-mapping&gt;    &lt;br /&gt;&lt;/code&gt;&lt;br /&gt;</description>
      <pubDate>Mon, 06 Mar 2006 01:47:26 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/1635</guid>
      <author>JohnMunsch (John Munsch)</author>
    </item>
  </channel>
</rss>
