As suggested, I've used AutobeanCodex to convert my proxy to json. And upon receiving it on the server side, I could re-create the Proxy using AutoBeanFactorySource.
AppAutobeanFactory autobeanFactory = AutoBeanFactorySource.create(AppAutobeanFactory.class);
CampaignSearchCriteriaProxy proxy = AutoBeanCodex.decode(autobeanFactory,
CampaignSearchCriteriaProxy.class, json).as();
logger.info("@autobean @clientId " + proxy.getClientId());
// I tried this, but this fails (just got ValueCodex this by tracing RF Servlet)
SearchCampaignRequest searchCampaign = ValueCodex.decode(SearchCampaignRequest.class, AutoBeanCodex.encode(AutoBeanCodex.decode(autobeanFactory,
CampaignSearchCriteriaProxy.class, json)));
logger.info("@valuecodex @clientId " + searchCampaign.getClientId());
As a last piece of the solution I've got the following questions:
- How does GWT RF maps Proxy to Concrete Types on the server-side?
- Is it possible to use the class directly?
Thanks,