G
Guest
Gast
Habe eine Exception bei dem Aufruf meines XML-RPC Clients, deren Ursache ich nicht finden kann.
Hier erstmal ein Teil der Exception:
Mein PackageStruktur:
Mein Server:
Mein Client:
EchoImpl:
Mein Interface:
Der Server läuft. Vielleicht könnt Ihr mir nochmal unter die Arme greifen.
Im Voraus vielen Dank.
Conrad
Hier erstmal ein Teil der Exception:
Exception in thread "main" java.lang.reflect.UndeclaredThrowableException
at $Proxy0.getEcho(Unknown Source)
at client.Client.<init>(Client.java:27)
at client.Main.main(Main.java:16)
Caused by: org.apache.xmlrpc.XmlRpcException: No such handler: interfaces.Echo.getEcho ...
Mein PackageStruktur:
Package server: Bank
Package server: EchoImpl
Package server: Main
Package client: Client
Package client: Main
Package interfaces: Echo
Mein Server:
Code:
package server;
import java.io.IOException;
import org.apache.xmlrpc.XmlRpcException;
import org.apache.xmlrpc.server.*;
import org.apache.xmlrpc.webserver.*;
public class Bank {
private static final int PORT = 4445;
public Bank() throws IOException, XmlRpcException {
PropertyHandlerMapping phm = new PropertyHandlerMapping();
phm.addHandler("Echo", server.EchoImpl.class);
WebServer webServer = new WebServer(Bank.PORT);
XmlRpcServer server = webServer.getXmlRpcServer();
server.setHandlerMapping(phm);
webServer.start();
System.out.println("Webserver started!");
}
}
Mein Client:
Code:
package client;
import interfaces.Echo;
import java.net.*;
import org.apache.xmlrpc.XmlRpcException;
import org.apache.xmlrpc.client.*;
import org.apache.xmlrpc.client.util.ClientFactory;
public class Client {
private static final String SERVER_URL = "http://localhost:4445";
public Client() throws MalformedURLException, XmlRpcException {
URL url = new URL(Client.SERVER_URL);
XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl();
config.setServerURL(url);
XmlRpcClient client = new XmlRpcClient();
client.setConfig(config);
ClientFactory factory = new ClientFactory(client);
Echo echo = (Echo)factory.newInstance(interfaces.Echo.class);
String s = echo.getEcho("Hallo");
System.out.println(s);
String t = echo.getEchoWithDate("Hallo");
System.out.println(t);
}
}
EchoImpl:
Code:
package server;
import interfaces.Echo;
import java.text.SimpleDateFormat;
import java.util.Date;
public class EchoImpl implements Echo {
public String getEcho(String s) {
return s;
}
public String getEchoWithDate(String s) {
SimpleDateFormat f = new SimpleDateFormat("ss.MM.yyyy HH:mm:ss");
return "["+f.format(new Date())+"] "+s;
}
}
Mein Interface:
Code:
package interfaces;
public interface Echo {
public String getEcho(String s);
public String getEchoWithDate(String s);
}
Der Server läuft. Vielleicht könnt Ihr mir nochmal unter die Arme greifen.
Im Voraus vielen Dank.
Conrad