У меня есть этот код для создания пользователя, вдохновленный this .
После выполнения у меня появляется эта ошибка:
Произошла ошибка при попытке создать нового пользователя
Поле имени пользователя обязательно.
Поле адреса электронной почты обязательно для заполнения.
Поле пароля обязательно для заполнения.
Исключение в потоке "main" org.apache.xmlrpc.XmlRpcException: поле имени пользователя обязательно.
Поле адреса электронной почты обязательно для заполнения.
Вот мой код:
public boolean createUser(DrupalAccount account) throws Exception
{
Vector<Object> params = generateDefaultParams(MethodUserCreate);
// code can be re-factored to use ArrayList<Object>
//ArrayList<Object> params = generateDefaultParams(MethodUserCreate);
// must also re-factor generateDefaultParams method
// currently objects don't work for submitting parameters to the
// user.save service. Use an array instead
params.add(account);
try
{
Object o = xmlRpcClient.execute(MethodUserCreate, params);
if (log.isLoggable(Level.FINEST))
{
log.finest(MethodUserCreate + " returned " + o.toString());
System.out.println(o.toString());
}
}
catch(Exception e)
{
System.err.println("An error occurred when attempting to create a user");
System.err.println(e.getMessage());
throw e;
}
//TODO add code to inform if user successfully created
return true;
}
Редактировать: Я попробовал предложение MathRo, и оно по-прежнему выдает ошибку:
<b>Exception in thread "main" org.apache.xmlrpc.XmlRpcException:
Server error. Requested method user.create not specified.</b>
at org.apache.xmlrpc.client.XmlRpcStreamTransport.readResponse(XmlRpcStreamTransport.java:197)
at org.apache.xmlrpc.client.XmlRpcStreamTransport.sendRequest(XmlRpcStreamTransport.java:156)
at org.apache.xmlrpc.client.XmlRpcHttpTransport.sendRequest(XmlRpcHttpTransport.java:143)
at org.apache.xmlrpc.client.XmlRpcSunHttpTransport.sendRequest(XmlRpcSunHttpTransport.java:69)
at org.apache.xmlrpc.client.XmlRpcClientWorker.execute(XmlRpcClientWorker.java:56)
at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:167)
at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:137)
at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:126)
at DrupalService.userCreate(DrupalService.java:284)
at Main.main(Main.java:29)
хотя я добавил в свой класс обслуживания это:
<code>public HashMap userCreate(String name, String mail, String pass)
throws XmlRpcException {
HashMap paramUser = new HashMap();
paramUser.put("name", name);
paramUser.put("mail",mail);
paramUser.put("pass",pass);
Object[] param = {paramUser};
<b>HashMap ret_createUser = (HashMap)xmlRpcClient.execute("user.create", param);</b>
return ret_createUser;
}
и в моем основном классе это:
service.userCreate("myname", "me@mydomain.com", "mypass");