Ich muss eine Java-Webanwendung erstellen, die auf eingehende HTTP-POST-Anforderungen wartet und dann das im Anfragetext enthaltene XML abruft, um es zu verarbeiten. Ich benutze Maven 4, Hibernate 3 und XML-RPC Server. Ich habe erfolgreich XML-RPC-JAR-Dateien mit Maven importiert.Ein Java XML-RPC-Servlet einrichten
Obwohl jeder zu sagen scheint, dass XML-RPC das einfachste auf der Welt ist, fällt es mir schwer, es zu implementieren. Ich bin ziemlich neu bei Webapps. Mit Blick auf Apache XML-RPC-Tutorial Ich verstehe, ich brauche eine Klasse wie zu erstellen:
public class MyServer extends XmlRpcServlet {
private XmlRpcServer server = new XmlRpcServer();
@Override
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
server.addHandler("myProcess", new MyProcessHandler);
byte[] result = server.execute (request.getInputStream());
response.setContentType ("text/xml");
response.setContentLength (result.length());
OutputStream out = response.getOutputStream();
out.write (result);
out.flush();
}
}
Aber das wird nicht kompiliert, da das „execute“ -Methode einen XmlRpcRequest Parameter erwartet. Irgendein Hinweis darauf, was ich falsch mache?
Abgesehen davon verstehe ich nicht, wie ich den Körper der Anfrage von meiner Funktion myProcess() bekommen werde. Ich habe eine MyProcessHandler-Klasse (die keine Klasse erweitert), die eine myProcess() - Funktion implementiert. Muss ich einen Parameter in dieser Funktion hinzufügen? Ist das denn dann welcher Typ wäre es?