Как получить массив String из возвращенного объекта XML-RPC? - PullRequest
1 голос
/ 19 октября 2010

Я использую Apache java XML-RPC последней версии.

Код для отправки массива на сервере следующий:

LinkedList<String> messages = new LinkedList<String>();

public String[] getMessages() {
    System.out.println("Sent messages");
    return messages.toArray(new String[messages.size()]);
}

Чтобы получить на клиенте, я пытался что-токак это:

String[] result = (String[]) client.execute("Message.getMessages", new Object[] {});

Это должно привести объект, который я получаю, к нужному типу (String []).К сожалению, этого не происходит, и я получаю следующую ошибку: [Ljava.lang.Object;нельзя привести к [Ljava.lang.String;

. Поэтому мне интересно, знает ли кто-нибудь, как правильно отправлять и получать массивы в XML-RPC java?

1 Ответ

1 голос
/ 19 октября 2010

На основе http://ws.apache.org/xmlrpc/types.html клиентский API всегда будет возвращать Object[], даже если сервер возвращает String[]

. Я бы предложил зацикливать результат и вызывать toString() для каждого члена.некрасиво, но работает.

...