Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Invalid
-
3.1.2
-
None
-
None
-
Windows Server 2003
Description
I have a fairly simple client server application. One of my exposed server methods returns a String[]. I am getting a ClassCastException on the client side when getting the result. The class cast exception occurs in ClientFactory.class in the newInstance function. I am stepping through the code, and it happens on the line "return typeConverter.convert(result);". Stepping into this function hasn't really helped as it causes the ClassCastException. I am not sure what the problem is, on the server side I have debugged and determined that my function is indeed returning a String[] as it should be, but for some reason when it comes over to the client side there is a problem. I can post you the stack trace:
Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.String;
at $Proxy1.getInstances(Unknown Source)
at com.rsa.grinderbot.controller.perfmon.WindowsProxy.getInstances(WindowsProxy.java:46) -> this is the proxy object calling my server's function
at com.rsa.grinderbot.controller.perfmon.WindowsStats.<init>(WindowsStats.java:37)
at com.rsa.grinderbot.controller.perfmon.PerformanceMonitor.<init>(PerformanceMonitor.java:33)
at com.rsa.grinderbot.controller.Controller.run(Controller.java:268)
at com.rsa.grinderbot.controller.Controller.main(Controller.java:333)
Here is my constructor that creates the proxy object using the client factory.
public WindowsProxy(Server server) {
this.server = server;
XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl();
try
catch (MalformedURLException e)
{ //TODO log4j e.printStackTrace(); }}