RE: Fail to use vaadin-maven-plugin behide corporate proxy

Hi, did you see this already:
https://maven.apache.org/guides/mini/guide-proxies.html

-Olli

Fail to use vaadin-maven-plugin behind corporate proxy . The followin error show:

Search took 32ms
[INFO]
0 addons found.
log4j:WARN No appenders could be found for logger (org.jboss.resteasy.plugins.providers.DocumentProvider).
log4j:WARN Please initialize the log4j system properly.
Sep 14, 2017 11:44:37 AM com.vaadin.wscdn.client.Connection queryRemoteWidgetSet
SEVERE: Failed to connect service https://wsc.vaadin.com/api/compiler/compile
javax.ws.rs.ProcessingException: Unable to invoke request
at org.jboss.resteasy.client.jaxrs.engines.ApacheHttpClient4Engine.invoke(ApacheHttpClient4Engine.java:287)
at org.jboss.resteasy.client.jaxrs.internal.ClientInvocation.invoke(ClientInvocation.java:407)
at org.jboss.resteasy.client.jaxrs.internal.ClientInvocation.invoke(ClientInvocation.java:442)
at org.jboss.resteasy.client.jaxrs.internal.ClientInvocationBuilder.post(ClientInvocationBuilder.java:201)
at com.vaadin.wscdn.client.Connection.queryRemoteWidgetSet(Connection.java:69)
at com.vaadin.integration.maven.UpdateWidgetsetMojo.triggerCdnBuild(UpdateWidgetsetMojo.java:168)
at com.vaadin.integration.maven.UpdateWidgetsetMojo.doExecute(UpdateWidgetsetMojo.java:86)
at org.codehaus.mojo.gwt.shell.AbstractGwtShellMojo.execute(AbstractGwtShellMojo.java:182)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:132)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:120)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:355)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:584)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:216)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:160)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.http.conn.HttpHostConnectException: Connection to https://wsc.vaadin.com refused
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:190)
at org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:294)
at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:643)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:479)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:805)
at org.jboss.resteasy.client.jaxrs.engines.ApacheHttpClient4Engine.invoke(ApacheHttpClient4Engine.java:283)
… 28 more
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:668)
at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:414)
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:180)
… 34 more

[INFO]

[INFO]
BUILD FAILURE
[INFO]

[INFO]
Total time: 15.137 s
[INFO]
Finished at: 2017-09-14T11:44:37+03:00
[INFO]
Final Memory: 26M/273M
[INFO]

[ERROR]
Failed to execute goal com.vaadin:vaadin-maven-plugin:8.1.0:update-widgetset (default) on project finrep: Remote widgetset compilation failed: (no response) → [Help 1]

[ERROR]

[ERROR]
To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR]
Re-run Maven using the -X switch to enable full debug logging.
[ERROR]

[ERROR]
For more information about the errors and possible solutions, please read the following articles:
[ERROR]
[Help 1]
http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
c:\projects\finrep_vaadin>Si art mai trebui ca fiecare dintre noi, asa, cu ce avem sa facem sistemul asta sa mearga
c:\projects\finrep_vaadin>

As a workaround try setting vaadin.widgetset.mode to local.

Did you set up maven to use your proxy?

Yes. Maven allready use proxy.
Thanks for your feedback. I only want to know if there is some settings for maven plugin to use a proxy server.

You can try setting the JVM proxy flags:
-Dhttp.proxyHost=proxy.lan -Dhttp.proxyPort=8080
but I’m afraid resteasy will ignore this. That would leave local compilation as the only option.

I allready try with this setting but is not working. S local comilaton is the only option.
Thank you !

Sorry - I want to write: So local compilation is the only option.

I opened a feature request: https://github.com/vaadin/framework/issues/10001

Hi, as a workaround try to set the lastest version of resteasy dependencies for vaadin maven plugin

<plugin> <groupId>com.vaadin</groupId> <artifactId>vaadin-maven-plugin</artifactId> <version>${vaadin.plugin.version}</version> <dependencies> <dependency> <groupId>org.jboss.resteasy</groupId> <artifactId>resteasy-client</artifactId> <version>3.1.4.Final</version> </dependency> <dependency> <groupId>org.jboss.resteasy</groupId> <artifactId>resteasy-jaxrs</artifactId> <version>3.1.4.Final</version> </dependency> <dependency> <groupId>org.jboss.resteasy</groupId> <artifactId>resteasy-jaxb-provider</artifactId> <version>3.1.4.Final</version> </dependency> <dependency> <groupId>org.jboss.resteasy</groupId> <artifactId>resteasy-jackson2-provider</artifactId> <version>3.1.4.Final</version> </dependency> </dependencies> </plugin> HTH
Marco

Please, forgive my suggestion. It doesn’t work. Seems like reasteasy does not use HttpClientBuilder.useSystemProperties() when building tha apache HttpClient instance.

Sorry

Hi,
got it working with a very very dirty workaround:

  • add jersey and jackson dependency to vaadin maven plugin
  • add a system scoped plugin dependecy to a jar containig only
    META-INF/services/javax.ws.rs.client.ClientBuilder
    pointing to jersey client builder implementation
  • tell maven to use system proxy:
    mvn vaadin:update-widgetset -Djava.net.useSystemProxies=true

As said, this is very dirty; I did it just for fun :smiley:

Best regards
Marco

That’s, like the germans say, directly from behind through the chest into the eye. Well done!

Hi,

Just wanted to check if there is a better solution to support widgetsetcompilation fetch behind a corporate proxy?

any idea?