Vaadin lets you build secure, UX-first PWAs entirely in Java.
Free ebook & tutorial.
Problem while compiling Vaadin Charts widgetset behind a corporate proxy.
I am new to Vaadin and a first time poster here.
I have been trying to create an implementation of Vaadin Charts in my application. However when I run the application I get the following message in place of where the charts are supposed to be:
Widgetset does not contain implementation for com.vaadin.addon.charts.Chart. Check its component connector's @Connect 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.
Recompiling the widgetset does not fix the problem. When I analysed the output log for the same, I found the following line:
License for Vaadin Charts 2 has not been validated. Check your network connection.
Now I am working behind a corporate proxy and the same has been configured to run in Eclipse. Since I am able to download Jars and install other Eclipse plugins, I am sure that the connection is not an issue. I figured that perhaps the widgetset compiler operates in an environment separate from Eclipse. However I am at a complete loss as to how to proceed beyond this. Any help would be much appreciated.
BTW, I have registered for a Vaadin Charts trial key. The project is a Ivy project (default as created by Vaadin Plugin for Eclipse.)
Yeah, our Pro Tools require an internet connection to our license server when you compile the widgetset. At the bottom of the Installing CVAL license -page there's instructions on how to configure your JVM to take the proxy into account for the compilation, so that you'll still have access. Would that help you?
(And the obvious workaround is that you connect to another network which doesn't have a proxy for the time that you compile the widgetset and then go back to your normal network)
Thanks for the reply.
I had figured as much. However, the problem is why the chart API fails to validate when I already have a functional proxy configuration in Eclipse. My guess was that the widgetset compilation took place in an environment outside of Eclipse, but there is no way for me to know for sure.
Kindly let me know whether there is another method to validate the license.
Last week, about the time Desmond posted his problem, many members of my team had errors compiling Vaadin charts, where the error indicated license issues.
I suspect the license server at Vaadin was down for a few hours or so last week.
It is working OK today.
I was hoping to have confirmation from Vaadin that the license server was down.
Desmond, toi could also check if you could build it totally outside of Eclipse. Do you use maven? You could try adding a proxy rule to your pom and run
mvn clean package
from the command line.
Reuben, you are absolutely correct. We had a downtime on Friday around 5:30PM-7:45PM GMT+2. We tried to do some updates to our license database. The updates were small changes to the scheme and went through nicely to the database but the JDBC connected to the database started failing. We did a rollback of both database and associated software but it was still failing. Finally after a couple of tries of rollbacking and finally a hard boot of the entire server, the JDBC started responding again. We are investigating right now what happened and it seems like others who used the database we use have had similar issues. We are also looking into having two production databases always live and with updated data, as a failsafe to avoid situations like this. This way we could avoid rolling out updates to the database which serves the license checking and instead handle it in two steps: first update the database that doesn't serve the license checker and then turn it live with DNS routing.
We are still looking into all the details of what happened on Friday and drafting how to make it more robust. I am truly sorry for the inconveniences it caused you and we will do all in our power to avoid it from happening again.
Jens Jansson: Desmond, toi could also check if you could build it totally outside of Eclipse. Do you use maven? You could try adding a proxy rule to your pom and run
mvn clean package
from the command line.
I have already mentioned that I have created my project using the Vaadin plugin for Eclipse, which uses Ivy for dependency management. Any workaround for this?
Also, I have last checked about 12 hours ago and the charts license was still not getting validated on my end. I will check again in a few hours time and update here if I observe differently.
This is unrelated with the server issue that I mentioned, as you posted before the server had the issue. It seems like the proxy settings aren't in use while compiling. I'm not familiar with eclipse's proxy setting so I can't assist more specifically than the link. You shoul find "JVM setting" which are in use when compilation is run, and add the proxy info there.
I have refered the link that you had shared in one of your previous replies. It states that the proxy settings need to be passed to the JVM as an argument when running its program. In other words, I will need to find the script that is starting the Widgetset compiler and add those arguments to that. Since I am running the compiler from the plugin, I am unable to do so.
Therefore, I need to know if there is an alternative method to run the widgetset compiler, perhaps from the command line. That way I could add the proxy as an argument compile it separately.
I had a talk with some developers at the Vaadin office and discovered that the Vaadin Eclipse plugin has indeed a bug preventing this - it does not take the JVM parameters into account when running the . Usually it is not a problem but in the case of proxies it clearly is. This is a bug that we need to big in the plugin itself.
You are completely correct that you need an alternative way to compile the widgetset. Alternatives are Running the compiler Java class directly or calling it through a build tool like Ant. What the eclipse plugin "compile widgetset" button actually does is calls that Java class' main method with a bunch of arguments. Here is some rather old documentation (Maven and Eclipse plugin has made it quite obsolete) on how to compile the widgetset with ant.
I found this ticket that was opened 7 months ago: https://dev.vaadin.com/ticket/17835
Yup, that's the one.
I'll notify the product owner of the plugin to have a look at the discussion here as well.
I have got the same problem as Desmond David has described.