Tuesday, May 10, 2016

Re: GWT error "no instantiable subtypes" with interface in RPC method with 1 known concrete class?

If you have a class that you are using to transport RPC params then it needs to implement IsSerializable, right.
So then if your IsSerializable class does not have a default empty constructor (i.e. no params) you will see this message.

On Wednesday, December 17, 2014 at 8:34:35 PM UTC+11, Ed wrote:
I have added the following async remote service method (using 2.7.0.):
TransportTokenResponse<ProductDto> findActiveDeclarationsOfActiveMember(TransportTokenRequest<Void> request);

TransportTokenResponse, just like TransportTokenRequest are interfaces with both an abstract subclass and one concrete class.
The GWT console shows the following error:
   ERROR] 'com.ited.lang.transporttoken.TransportTokenResponse' has no instantiable subtypes 

I am aware that using interfaces in RPC methods is tricky and can result in bloat code, but in this case, I only have one concrete class, so why does GWT complain and can't use the concrete class (it's in the same package as the interface) ?
I noticed this is a new 2.7.0. warning, maybe it has something to do with this


The details of TransportTokenResponse,:

public abstract class TransportTokenResponseBase<T> implements TransportTokenResponse<T> {
 
private static final long serialVersionUID = 1L;

 
protected TransportTokenResponseBase() {
 
}
}


public final class SimpleTransportTokenResponse<T> extends TransportTokenResponseBase<T> {
 
private static final long serialVersionUID = 1L;
   
SimpleTransportTokenResponse() {
 
}
}






--
You received this message because you are subscribed to the Google Groups "GWT Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscribe@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment