NO CLIENT IMPLEMENTATION FOUND

I am using Vaadin 6.6 and getting the following error.
(I’ve already recompiled the client-side widget set.)

Widgetset does not contain implementation for org.vaadin.browsercookies.BrowserCookies. Check its @ClientWidget mapping, widgetsets GWT module description file and re-compile your widgetset. In case you have downloaded a vaadin add-on package, you might want to refer to add-on instructions. Unrendered UIDL:

org.vaadin.browsercookies.BrowserCookies(NO CLIENT IMPLEMENTATION FOUND)

How do I fix this error?

Thank You

I am also encountering this error.

What I was doing was, I tried/attempted running the GoogleMapWidget with GAE and modified some of its classes/interfaces to implement the Serializable class because GAE requires this. The first error I got was that the GoogleMapWidget wasn’t serializable that caused GAEApplicationServlet to throw an exception. Luckily, this was fixed (I think) after making all classes in GoogleMapWidget serializable. But when I open the browser, after running GoogleMapWidgetApp, similar error was thrown.

I tried deleting the “widgetset” directory and rebuild the widgetset using vaadin eclipse plugin. However, this didn’t fix the problem. Please help, I’m lost.

Cheers!

EDIT: I’ve attached a screenshot of the error.
11696.jpg

Enable verbose widgetset compilation in “Project Properties… → Vaadin” and then recompile the widgetset. Check what the compilation says about the Google Maps component. Is it included in the widgetset? Are there warnings or errors about it?

If it is included without problems, then your application is not using the correct widgetset - check how it is deployed and how you “activate” it. If it is not included, check the messages from widgetset compilation.

Hi Henri, :grin:

Thanks very much for your reply. I’ve actually tried compiling the widgetset many times with verbose output. I’ve verified from the output that the widgetset was compiled successfully. However, when I ran the vaadin application as google web app, it displays the page above I’ve specified. I believe the server-side code didn’t have any problems. And after so many hours of researching in this forum, I’ve learned that I was missing something :*).

There are at least 2 common troubleshooting methods to identify this kind of issue and I think you have mentioned it above implicitly. The post http://vaadin.com/forum/-/message_boards/view_message/308343 helped me fix this issue. I found out that Vaadin eclipse plugin isn’t adding the widgetset declaration in web.xml. I really thought this is automatic after creating a Vaadin project to be deployed in GAE.

At first I was kinda puzzled why there is a widgetset declaration in web.xml (based on other’s posts) so I have ignored this clue. When I’ve added this declaration, the GoogleMapWidget appeared magically.

By the way, I’ve made custom classes for Point2d.Double and made all interfaces/classes Serializable to fix GAE issues.

With regards to GoogleMapWidget licensing, will it be alright to use GoogleMapWidget with my local modifications or do I need to publish this somewhere?

Thanks,
Pepe

I am using Eclipse Indigo (3.7) , Vaadin 6.7.5 and JBOSS 7.0-1 final to develope and deploy my application and whenever I tried to use any external addon which uses client side .JS using GWT I am getting NO CLIENT IMPLEMENTATION FOUND method in the browser.

For eg.,
I have downloaded CodeMirror2 Plugin and copied into webcontent/lib directory. Also copied Vaadin-6.7.5.jar & gwt-user.jar inide WebContent/Lib directory. Created War file of the project and deployed it in Jboss and ends up in error NO CLIENT IMPLEMENTATION FOUND

My Web.xml contains

AdminWebApplicationServlet com.wsl.adminweb.AdminWebApplicationServlet Vaadin application class to start application com.wsl.adminweb.AdminwebApplication
   <init-param>
        <param-name>widgetset</param-name>
        <param-value>com.wsl.adminweb.widgetset.AdminwebWidgetset.gwt.xml</param-value>
    </init-param>

and I have file AdminwebWidgetset.gwt.xml in the package com.wsl.adminweb.widgetset

Content of AdminwebWidgetset.gwt.xml

<?xml version="1.0" encoding="UTF-8"?>
<inherits name="org.vaadin.codemirror2.CodeMirror2Widgetset" />

What I am doing Wrong ?

You have to compile the widgetset separately from your application.
See
this chapter of the book
.

I tried compiling tthe widget in my application and problem still persist.

SInce I am using EJB in my project I have used CDI and If I remove CDI support in my project then the addon works as expected. To enable CDI I have created a servlet as mentioned described in option 2:

https://vaadin.com/wiki/-/wiki/Main/Creating+JEE6+Vaadin+Applications#section-Creating+JEE6+Vaadin+Applications-Option2UseContextAndDependencyInjectionCDI

package com.wsl.easyfeeeadminweb;

import javax.inject.Inject;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServletRequest;

import com.vaadin.Application;
import com.vaadin.terminal.gwt.server.AbstractApplicationServlet;

@WebServlet(urlPatterns = “/*”)
public class VaadinAppServlet extends AbstractApplicationServlet {

@Inject
AdminwebApplication application;

@Override
protected Class<? extends Application> getApplicationClass() throws ClassNotFoundException {
    return AdminwebApplication.class;
}

@Override
protected Application getNewApplication(HttpServletRequest request) throws ServletException {
    return application;
}

}

Using above Custom servlet, I am able to use EJB using annotation (@EJB), but addons which uses client side java scripts are not working. I have also tried using FireBug and If I use CDI with custom Applicationservlet then I could not see any of the .js in the VAADIN/widgetsets are loading during application load , but if I remove custom application servelt then I can see all the .JS files loaded from VAADIN/widgetsets. Is there any classloader issue?.

Hi!

I think you should change @WebServlet annotation to something like:


@WebServlet(urlPatterns={"/*", "/VAADIN/*"}, initParams = {@WebInitParam(name = "widgetset", value = "org.mycompany.MyAppWidgetSet")})

Hi Andris Lapinsh,

great. It worked.

Thanks a lot. I was struggling for last 3 days.