http://code.google.com/webtoolkit/doc/trunk/DevGuideServerCommunication.html#DevGuideSerializableTypes
2011/5/25 Adolfo Panizo Touzon <[email protected]> > I don´t understand. ¿What´s the problem? > > Maybe you can declarate HashMap in the client side and can´t transport by > rpc. > > I´m not sure, but, what´s the problem? > > 2011/5/25 MaximeMularz <[email protected]> > >> The implementation (http://code.google.com/p/google-web-toolkit/source/ >> browse/trunk/samples/validation/src/com/google/gwt/sample/validation<http://code.google.com/p/google-web-toolkit/source/browse/trunk/samples/validation/src/com/google/gwt/sample/validation> >> ): >> >> public class GreetingServiceImpl extends RpcServlet implements >> GreetingService { >> >> private final Validator validator = >> Validation.buildDefaultValidatorFactory().getValidator(); >> >> public SafeHtml greetServer(Person person) throws >> IllegalArgumentException, >> ConstraintViolationException { >> // Verify that the input is valid. >> Set<ConstraintViolation<Person>> violations = >> validator.validate(person, >> Default.class, ServerGroup.class); >> if (!violations.isEmpty()) { >> Set<ConstraintViolation<?>> temp = new >> HashSet<ConstraintViolation<?>>( >> violations); >> throw new ConstraintViolationException(temp); >> } >> >> String serverInfo = getServletContext().getServerInfo(); >> String userAgent = getThreadLocalRequest().getHeader("User- >> Agent"); >> >> // Escape data from the client to avoid cross-site script >> vulnerabilities. >> SafeHtmlBuilder builder = new SafeHtmlBuilder(); >> >> SafeHtml safeHtml = builder// >> .appendEscapedLines("Hello, " + person.getName() + "!")// >> .appendHtmlConstant("<br>")// >> .appendEscaped("I am running " + serverInfo + ".")// >> .appendHtmlConstant("<br><br>")// >> .appendEscaped("It looks like you are using: ")// >> .appendEscaped(userAgent)// >> .toSafeHtml(); >> return safeHtml; >> } >> >> On 25 mai, 11:30, Adolfo Panizo Touzon <[email protected]> >> wrote: >> > You can save the errors strings in an arrayList<String> and transpor by >> rpc >> > to the client side. >> > >> > 2011/5/25 MaximeMularz <[email protected]> >> > >> > > Hi, >> > >> > > Client Side no probem it works, but ServerSide I can't catch the >> > > excepetion becasue HashSet is not supported by RPCService : >> > >> > > [ERROR] javax.servlet.ServletContext log: Exception while dispatching >> > > incoming RPC call >> > > com.google.gwt.user.client.rpc.SerializationException: Type >> > > 'java.util.HashSet' was not included in the set of types which can be >> > > serialized by this SerializationPolicy or its Class object could not >> > > be loaded. For security purposes, this type will not be serialized.: >> > > instance = >> > > >> [ConstraintViolationImpl{interpolatedMessage='{custom.name.size.message}', >> > > propertyPath=name, rootBeanClass=class myvalidator.shared.Person, >> > > messageTemplate='{custom.name.size.message}'}] >> > > at >> > >> > > >> com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serialize(ServerSerializationStreamWriter.java: >> > > 619) >> > > at >> > >> > > >> com.google.gwt.user.client.rpc.impl.AbstractSerializationStreamWriter.writeObject(AbstractSerializationStreamWriter.java: >> > > 126) >> > > at >> > >> > > >> javax.validation.ConstraintViolationException_CustomFieldSerializer.serialize(ConstraintViolationException_CustomFieldSerializer.java: >> > > 49) >> > > at >> > >> > > >> javax.validation.ConstraintViolationException_CustomFieldSerializer.serializeInstance(ConstraintViolationException_CustomFieldSerializer.java: >> > > 72) >> > > at >> > >> > > >> javax.validation.ConstraintViolationException_CustomFieldSerializer.serializeInstance(ConstraintViolationException_CustomFieldSerializer.java: >> > > 28) >> > > at >> > >> > > >> com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serializeImpl(ServerSerializationStreamWriter.java: >> > > 740) >> > > at >> > >> > > >> com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serialize(ServerSerializationStreamWriter.java: >> > > 621) >> > > at >> > >> > > >> com.google.gwt.user.client.rpc.impl.AbstractSerializationStreamWriter.writeObject(AbstractSerializationStreamWriter.java: >> > > 126) >> > > at >> > > com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter >> > > $ValueWriter$8.write(ServerSerializationStreamWriter.java:153) >> > > at >> > >> > > >> com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serializeValue(ServerSerializationStreamWriter.java: >> > > 539) >> > > at >> com.google.gwt.user.server.rpc.RPC.encodeResponse(RPC.java:616) >> > > at >> > > com.google.gwt.user.server.rpc.RPC.encodeResponseForFailure(RPC.java: >> > > 390) >> > > at >> > > com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java: >> > > 588) >> > > at >> > >> > > >> com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java: >> > > 208) >> > > at >> > >> > > >> com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java: >> > > 248) >> > > at >> > >> > > >> com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java: >> > > 62) >> > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) >> > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) >> > > at >> > > org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java: >> > > 511) >> > > at org.mortbay.jetty.servlet.ServletHandler >> > > $CachedChain.doFilter(ServletHandler.java:1166) >> > > at >> > >> > > >> com.google.appengine.tools.development.HeaderVerificationFilter.doFilter(HeaderVerificationFilter.java: >> > > 35) >> > > at org.mortbay.jetty.servlet.ServletHandler >> > > $CachedChain.doFilter(ServletHandler.java:1157) >> > > at >> > >> > > >> com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java: >> > > 58) >> > > at org.mortbay.jetty.servlet.ServletHandler >> > > $CachedChain.doFilter(ServletHandler.java:1157) >> > > at >> > >> > > >> com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java: >> > > 43) >> > > at org.mortbay.jetty.servlet.ServletHandler >> > > $CachedChain.doFilter(ServletHandler.java:1157) >> > > at >> > >> > > >> com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java: >> > > 122) >> > > at org.mortbay.jetty.servlet.ServletHandler >> > > $CachedChain.doFilter(ServletHandler.java:1157) >> > > at >> > >> > > >> com.google.appengine.tools.development.BackendServersFilter.doFilter(BackendServersFilter.java: >> > > 94) >> > > at org.mortbay.jetty.servlet.ServletHandler >> > > $CachedChain.doFilter(ServletHandler.java:1157) >> > > at >> > > org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java: >> > > 388) >> > > at >> > > >> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java: >> > > 216) >> > > at >> > > org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java: >> > > 182) >> > > at >> > > org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java: >> > > 765) >> > > at >> org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java: >> > > 418) >> > > at >> > >> > > >> com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java: >> > > 70) >> > > at >> > > org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java: >> > > 152) >> > > at com.google.appengine.tools.development.JettyContainerService >> > > $ApiProxyHandler.handle(JettyContainerService.java:351) >> > > at >> > > org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java: >> > > 152) >> > > at org.mortbay.jetty.Server.handle(Server.java:326) >> > > at >> > > org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java: >> > > 542) >> > > at org.mortbay.jetty.HttpConnection >> > > $RequestHandler.content(HttpConnection.java:938) >> > > at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755) >> > > at >> org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218) >> > > at >> org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) >> > > at >> > > >> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java: >> > > 409) >> > > at org.mortbay.thread.QueuedThreadPool >> > > $PoolThread.run(QueuedThreadPool.java:582) >> > >> > > Thanks for your help >> > >> > > Maxime >> > >> > > On 23 mai, 18:34, Nick Chalko <[email protected]> wrote: >> > > > Glad you got it working. >> > >> > > > On Mon, May 23, 2011 at 9:31 AM, Adolfo Panizo Touzon < >> > >> > > > [email protected]> wrote: >> > > > > Hi Maxim!!! >> > >> > > > > It works!!! >> > >> > > > > I have made a very simple example based on Google (because if you >> have >> > > a >> > > > > problemthat I do not solve, sure there are people that if you >> could >> > > lend a >> > > > > hand.) >> > > > > The steps you follow are the following: >> > >> > > > > -Add the project (which I attached) to your workspace. >> > > > > -Select your gwt sdk 0.0.0.0 >> > > > > -Add the libraries to your classpath you in the picture attached. >> > > > > -Run it. >> > >> > > > > If you have any questions or comment on it is a problem here that >> I >> > > miss >> > > > > you a hand with any thing. >> > >> > > > > Greetings! >> > >> > > > > Now I work as an example to finally understand itself completely. >> > >> > > > > Adolfo Panizo. >> > >> > > > > 2011/5/23 Adolfo Panizo Touzon <[email protected]> >> > >> > > > >> You've read the email you send to another address? Is there a >> problem >> > > that >> > > > >> prevents theapplication run. >> > > > >> I need all the sdk result of the compilation not only gwt-user. >> > >> > > > >> I copied the email you send: >> > >> > > > >> *Listen*, now there is another problem, when I substitute the >> > > "gwt-user >> > > > >> "original, foryours in the GWT SDK and run the project. There's >> > > something >> > > > >> I do not like eclipse. >> > > > >> *[*I have no choice but to do this because if I include your lib >> in >> > > the >> > > > >> classpath when the module of my project runs collides thw sdk of >> > > google >> > > > >> and your library compiled] >> > > > >> *I enclose* a picture. >> > > > >> * >> > > > >> * >> > > > >> *Would you know* how to fix? I believe that through a compilation >> > > entire >> > > > >> google sdk(which if you look very similar to what you've done >> just >> > > that by >> > > > >> running the ant.xmlgeneral) would end the problems. >> > >> > > > >> 2011/5/23 MaximeMularz <[email protected]> >> > >> > > > >>> Hi, >> > >> > > > >>> I'm waiting your sample because, I don't know how to play with >> !!! >> > >> > > > >>> Maxime >> > >> > > > >>> On 23 mai, 14:17, Adolfo Panizo Touzon <[email protected] >> > >> > > > >>> wrote: >> > > > >>> > Hi, >> > >> > > > >>> > [I feel like a complete idiot right now. XD. There is a >> tutorial on >> > > > >>> google!] >> > >> > > > >>> > Ok. I'm putting to work to try to compile everything on my own >> in >> > > the >> > > > >>> > meantime, if youmanage what you put in the mail to compile all >> the >> > > SDK >> > > > >>> and >> > > > >>> > get it, accelerate the whole process and so I can create the >> > > complete >> > > > >>> sample >> > > > >>> > validation . >> > >> > > > >>> > We are in touch, thank you very much for everything. >> > >> > > > >>> > 2011/5/23 MaximeMularz <[email protected]> >> > >> > > > >>> > > Hi, >> > >> > > > >>> > > 1/ I did the tuto : >> > >> > >http://code.google.com/webtoolkit/makinggwtbetter.html#workingoncode. >> > > > >>> > > 2/ I visited this page " >> > >http://subversion.apache.org/packages.html" >> > > > >>> > > 3/ I downloaded and Installed : Win32Svn (32-bit client, >> server >> > > and >> > > > >>> > > bindings, MSI and ZIPs; maintained by David Darj) >> > > > >>> > > 4/ I added SVN.exe to the PATH >> > > > >>> > > 5/ and the command ant !!! >> > >> > > > >>> > > Regards >> > >> > > > >>> > > Maxime >> > >> > > > >>> > > On 23 mai, 10:56, Adolfo Panizo Touzon < >> [email protected]> >> > > > >>> > > wrote: >> > > > >>> > > > Another thing I forgot, you could specify the steps you >> have >> > > done >> > > > >>> to >> > > > >>> > > compile >> > > > >>> > > > the gwt-user project? >> > >> > > > >>> > > > Thanks in advance. >> > >> > > > >>> > > > 2011/5/23 Adolfo Panizo Touzon <[email protected]> >> > >> > > > >>> > > > > Try it with: >> > > > >>> > > > > Validator validator = GWT.create(SampleValidator.class); >> > >> > > > >>> > > > > Other thing, send us the modules that you are inhertir >> in >> > > your >> > > > >>> project. >> > >> > > > >>> > > > > If you use your form, you must specify in your >> xxx.gwt.xml >> > > the >> > > > >>> change >> > > > >>> > > of >> > > > >>> > > > > the class (remember, you must use the gwt class and not >> the >> > > > >>> standar >> > > > >>> > > class), >> > > > >>> > > > > like this: >> > >> > > > >>> > > > > <generate-with class= >> > >> > ... >> > >> > plus de détails » >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Google Web Toolkit" group. >> To post to this group, send email to [email protected]. >> To unsubscribe from this group, send email to >> [email protected]. >> For more options, visit this group at >> http://groups.google.com/group/google-web-toolkit?hl=en. >> >> > > > -- > El precio es lo que pagas. El valor es lo que recibes. > Warren Buffet > -- El precio es lo que pagas. El valor es lo que recibes. Warren Buffet -- You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
