I think you forgot the implementation of your callback (maybe it is somewhere else in your code, in this case it would be usefull to post it in your question).
MethodCallback is an interface that needs to be implemented (anonymously if you want)
So you need to have something like
testService.connectedNames(cbcNames, new MethodCallback<String[]>(){
//onSuccess
//onFailure
);
Now when you say
This is the JSON data sent from the proxy I have setup: {"id": 1, "result": ["Planets", "Stars"], "error": null}
Do you mean it is the answer from the server when you post something or is it what you post to your server ?
In both cases this object does not look like String[]. In your restService you declared to send a String[] as a payload Names
and you declared that you will retrieve a String[] when the response returns.
You can have a look to this tutorial for more help : http://ronanquillevere.github.io/2014/03/16/gwt-rest-app.html