実際にXML-RPCに取り組んでいます。オブジェクトの配列を返すクライアントクラスのメソッドを実行しようとしています。これがクライアントクラスでそれを実行しようとしている方法です。
Object[] result = (Object[]) client.execute("getNames" , vector);
一方、vectorは文字列型のベクトルの配列を表し、「getNames」はデフォルトのハンドラークラスのメソッド名を表します。
public Object[] getNames(String a, String b, String c) {
Vector<String> strings = new Vector<String>();
strings.add(a);
strings.add(b);
strings.add(c);
String [] arrOfString = strings.toArray(new String[strings.size()]);
return arrOfString ;
}
実行中に、次の例外が発生しました。
java.lang.ClassCastException: java.util.Vector cannot be cast to [Ljava.lang.Object;
at org.apache.xmlrpc.demo.SimpleClient.<init>(SimpleClient.java:37)
at org.apache.xmlrpc.demo.SimpleClient.main(SimpleClient.java:65)
このキャストの問題を解決するにはどうすればよいですか?