Username and password authentication are not working with the WebServer class. An example is to extend PropertyHandlerMapping.AuthenticationHandler and implement (here is just an example) the following method:
public boolean isAuthorized(XmlRpcRequest pRequest)
{
if (pRequest.getConfig() instanceof RequestData)
{
RequestData data = (RequestData) pRequest.getConfig();
System.out.println("username = "+data.getBasicUserName());
System.out.println("password = "+data.getBasicPassword());
}
}
This class is then instantiated and set as the authentication handler in the WebServer's PropertyHandlerMapping when the WebServer is created and started. Then, on the client side, I set the username and password in the configuration as seen below:
XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl();
config.setServerUrl("
http://127.0.0.1:8080/xmlrpc");
config.setBasicUserName("adst-test");
config.setBasicPassword("adst-test#@!");
XmlRpcClient client = new XmlRpcClient();
client.setConfig(config);
Object[] params = new Object[]{new Integer(1), new HashMap()};
Map result = (Map) client.execute("AssignmentService.getAssignees", params);
The remote method call executes successfully, however, the System.out statements always reveals the following on the server:
username = null
password = null