Hi Igor, Thanks for the reply.
*> [...] kind of proxy is this? [...] http/https proxies are expected to work.* Humm ... I hope network team will not see my post so I quote : - Some two headers in 401 response is "WWW-Authenticate: BASIC realm="Unspecified"" and "Server: BigIP" - Detail : the main product of this company, same name as the key of keyboard used in a browser for reload the page ^^ => Standard *> Can you confirm you get auth popup with recent m2e 1.6 build?* *No* :-(. No authentication popup with v1.6.0.20150203-1921. In my "home" use case : internet -> reverse-proxy -> maven repository (settings.xml contains only "server" configuration) In my today "job" use case for test : intranet -> proxy (iron port) -> [internet] -> reverse-proxy -> maven repository (settings.xml contains only "server" & "proxy" configuration) In this case I have the error message : "Failed to authenticate with proxy" The wireshark analysis shows : 1) Https URL connect through proxy : --- CONNECT repository.company.com:443 HTTP/1.1 Host: repository.company.com Proxy-Connection: Keep-Alive User-Agent: m2e/3.10.1.v20140909-1633/1.6.0.20150203-1921/1.7.0_71 --- 2) Proxy answer : --- HTTP/1.1 407 Proxy Authentication Required Proxy-Authenticate: Basic realm="[The name of] Security Appliance" ... --- ... and nothing else. => *m2e is supposed to open an authentication popup even if user/password is defined in settings.xml ?* If yes ... perhaps this is the root cause : There is no (logically) preemptive authentication (=> basic auth not in first call) ... but 401/407 doesn't provide popup. *> [...] Can you confirm your configuration uses protocol https?* Yes, I check the bug link : active=true / protocol=https *> [...] need to run m2e through debugger [...]* Humm ... ok. I will try to load m2e source and write unit test in my real case. Thanks. Best regards. 2015-02-13 1:28 GMT+01:00 Igor Fedorenko <[email protected]>: > What kind of proxy is this? m2e does not support ntlm, but standard > http/https proxies are expected to work. > > Can you confirm you get auth popup with recent m2e 1.6 build? > > m2e and command line maven appear to disagree how to handle https proxy > configuration. More specifically, m2e expects proxy configuration > protocol https, while command line maven accepts http. This is tracked > as bug 459638 [1]. Can you confirm your configuration uses protocol https? > > Beyond that, you'll need to run m2e through debugger and see what > happens. I usually just change m2e http transport library (okhttp) to > print dump all traffic to console. > > [1] https://bugs.eclipse.org/bugs/show_bug.cgi?id=459638 > > -- > Regards, > Igor > > On 2015-02-12 17:19, Alix Lourme wrote: > >> Hi, >> >> I'm faced to a infrastructure/network problem ... and I can't determine >> if it's a feature not supported, a bug, or other (configuration ?). >> >> _Environment_ : >> - Eclipse Kepler SR2 & m2e 1.4.0 or Luna SR1 & m2e 1.6.0 >> - External Maven v3.2.3 configured as "Installation" >> - A settings.xml configured as global/user "User Settings" (and used >> with previous Maven) >> - settings.xml defines a master https company repository (repository & >> pluginRepository) >> - settings.xml defines "server" credendials with password encryption >> (settings-security.xml usage) >> - id of server/repository/pluginRepository is the same in settings.xml >> >> _Use case_ : >> - My company provides a Maven repository for internal developments >> - This repository can be accessed from internet (https) for external >> developments (at home ^^, no VPN configured, ...) via an infrastructure >> reverse proxy >> >> _Problem_ : >> - The dependencies resolution works in Maven command line, but not >> through m2e plugin (only when dependency doesn't exist in local >> repository, classpath configuration works perfectly when dependency >> exists in local repository) >> - Error is : Access denied to >> https://repository.my-company.com/repository/virtual/com/my- >> company/my-artifact/1.0.0-SNAPSHOT/maven-metadata.xml. >> Error code 401, Unauthorized >> >> It is minor, but with m2e, I have lost the practice to use maven command >> line ^^. >> >> The error seems to be the same as the direct url access via a browser. >> This direct http call contains the (logically) response header >> 'WWW-Authenticate: "BASIC realm="Unspecified""', and authentication >> popup appears. >> (I can't simply catch m2e http call, wireshark analysis on https is not >> trivial). >> >> => _Hypothesis_ : >> >> - m2e doesn't use server credentials defined in settings.xml >> - m2e doesn't know re-send the http call with credentials when reverse >> proxy answers 401 >> >> I note that in the m2e plugin configuration, the maven embedded is used >> for dependencies resolution ... but if settings.xml used, it "should" >> work ... >> >> Plugin seems to configure server credentials >> (org.eclipse.m2e.core.internal.repository.RepositoryRegistry), so some >> java properties about native proxy configuration in addition to >> settings.xml are not 'required' (i'm not facing to an outgoing proxy). >> So ... I'm a little lost :-) >> >> This feature is supposed to be supported ? Or I'm wrong in somewhere ? >> Any idea are welcome. >> >> Thank you in advance (and globally for your work, m2e is simply magic >> and wonderful). >> >> Complete stack for information (with m2e 1.6.0) : >> org.eclipse.aether.transfer.MetadataTransferException: [previous error] >> at >> org.eclipse.aether.internal.impl.DefaultUpdateCheckManager.newException( >> DefaultUpdateCheckManager.java:363) >> at >> org.eclipse.aether.internal.impl.DefaultUpdateCheckManager.checkMetadata( >> DefaultUpdateCheckManager.java:320) >> at >> org.eclipse.aether.internal.impl.DefaultMetadataResolver.resolve( >> DefaultMetadataResolver.java:332) >> at >> org.eclipse.aether.internal.impl.DefaultMetadataResolver.resolveMetadata( >> DefaultMetadataResolver.java:205) >> at >> org.apache.maven.repository.internal.DefaultVersionResolver. >> resolveVersion(DefaultVersionResolver.java:250) >> at >> org.apache.maven.repository.internal.DefaultArtifactDescriptorReade >> r.loadPom(DefaultArtifactDescriptorReader.java:258) >> at >> org.apache.maven.repository.internal.DefaultArtifactDescriptorReade >> r.readArtifactDescriptor(DefaultArtifactDescriptorReader.java:217) >> at >> org.eclipse.aether.internal.impl.DefaultDependencyCollector. >> resolveCachedArtifactDescriptor(DefaultDependencyCollector.java:525) >> at >> org.eclipse.aether.internal.impl.DefaultDependencyCollector. >> getArtifactDescriptorResult(DefaultDependencyCollector.java:509) >> at >> org.eclipse.aether.internal.impl.DefaultDependencyCollector. >> processDependency(DefaultDependencyCollector.java:409) >> at >> org.eclipse.aether.internal.impl.DefaultDependencyCollector. >> processDependency(DefaultDependencyCollector.java:363) >> at >> org.eclipse.aether.internal.impl.DefaultDependencyCollector.process( >> DefaultDependencyCollector.java:351) >> at >> org.eclipse.aether.internal.impl.DefaultDependencyCollector.doRecurse( >> DefaultDependencyCollector.java:494) >> at >> org.eclipse.aether.internal.impl.DefaultDependencyCollector. >> processDependency(DefaultDependencyCollector.java:458) >> at >> org.eclipse.aether.internal.impl.DefaultDependencyCollector. >> processDependency(DefaultDependencyCollector.java:363) >> at >> org.eclipse.aether.internal.impl.DefaultDependencyCollector.process( >> DefaultDependencyCollector.java:351) >> at >> org.eclipse.aether.internal.impl.DefaultDependencyCollector. >> collectDependencies(DefaultDependencyCollector.java:254) >> at >> org.eclipse.aether.internal.impl.DefaultRepositorySystem. >> collectDependencies(DefaultRepositorySystem.java:316) >> at >> org.apache.maven.project.DefaultProjectDependenciesResolver.resolve( >> DefaultProjectDependenciesResolver.java:172) >> at >> org.apache.maven.project.DefaultProjectBuilder.resolveDependencies( >> DefaultProjectBuilder.java:213) >> at >> org.apache.maven.project.DefaultProjectBuilder.build( >> DefaultProjectBuilder.java:186) >> at >> org.apache.maven.project.DefaultProjectBuilder.build( >> DefaultProjectBuilder.java:118) >> at >> org.eclipse.m2e.core.internal.embedder.MavenImpl. >> readMavenProject(MavenImpl.java:634) >> at >> org.eclipse.m2e.core.internal.project.registry. >> DefaultMavenDependencyResolver.resolveProjectDependencies( >> DefaultMavenDependencyResolver.java:63) >> at >> org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager. >> refreshPhase2(ProjectRegistryManager.java:529) >> at >> org.eclipse.m2e.core.internal.project.registry. >> ProjectRegistryManager$3.call(ProjectRegistryManager.java:491) >> at >> org.eclipse.m2e.core.internal.project.registry. >> ProjectRegistryManager$3.call(ProjectRegistryManager.java:1) >> at >> org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare( >> MavenExecutionContext.java:176) >> at >> org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute( >> MavenExecutionContext.java:151) >> at >> org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager. >> refresh(ProjectRegistryManager.java:495) >> at >> org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager. >> refresh(ProjectRegistryManager.java:350) >> at >> org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager. >> refresh(ProjectRegistryManager.java:297) >> at >> org.eclipse.m2e.core.internal.project.ProjectConfigurationManager. >> configureNewMavenProjects(ProjectConfigurationManager.java:253) >> at >> org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$1.call( >> ProjectConfigurationManager.java:169) >> at >> org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$1.call( >> ProjectConfigurationManager.java:1) >> at >> org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare( >> MavenExecutionContext.java:176) >> at >> org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute( >> MavenExecutionContext.java:151) >> at >> org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute( >> MavenExecutionContext.java:99) >> at >> org.eclipse.m2e.core.internal.embedder.MavenImpl.execute( >> MavenImpl.java:1353) >> at >> org.eclipse.m2e.core.internal.project.ProjectConfigurationManager. >> importProjects(ProjectConfigurationManager.java:137) >> at >> org.eclipse.m2e.core.ui.internal.wizards.ImportMavenProjectsJob$1. >> doCreateMavenProjects(ImportMavenProjectsJob.java:73) >> at >> org.eclipse.m2e.core.ui.internal.wizards.AbstractCreateMavenProjectsOpe >> ration.run(AbstractCreateMavenProjectsOperation.java:62) >> at >> org.eclipse.m2e.core.ui.internal.wizards.ImportMavenProjectsJob. >> runInWorkspace(ImportMavenProjectsJob.java:82) >> at >> org.eclipse.core.internal.resources.InternalWorkspaceJob.run( >> InternalWorkspaceJob.java:38) >> at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) >> >> -- >> Alix Lourme >> >> >> _______________________________________________ >> m2e-users mailing list >> [email protected] >> To change your delivery options, retrieve your password, or unsubscribe >> from this list, visit >> https://dev.eclipse.org/mailman/listinfo/m2e-users >> >> _______________________________________________ > m2e-users mailing list > [email protected] > To change your delivery options, retrieve your password, or unsubscribe > from this list, visit > https://dev.eclipse.org/mailman/listinfo/m2e-users > -- Alix Lourme
_______________________________________________ m2e-users mailing list [email protected] To change your delivery options, retrieve your password, or unsubscribe from this list, visit https://dev.eclipse.org/mailman/listinfo/m2e-users
