[ 
https://issues.apache.org/jira/browse/TOMEE-1681?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15064002#comment-15064002
 ] 

Martin Wiesner commented on TOMEE-1681:
---------------------------------------

It definitely is an inconsistency in the released artifacts. I have inspected 
the maven artifacts which are distributed right now. these seem to have the 
"older" cxf version referenced in their internal pom structures. I think this 
should be fixed somehow soon. Currently, we are put on hold, as WebClient can 
not sent to a RS service endpoint which is not brought up correctly. By 
contrast, when deployed to a standalone TomEE-7.0.0-M1 the project (here: 
webservice) starts up and client can sent there request there successfully. 

In essence: Build is broken, as tests suffer from this inconsistency in some 
way. It is too hard to manage all things, as at runtime "constructor" 
signatures have changed.

Please also note, there are similar things for "xbean" (4.3, which should be 
4.5 I guess), and more drastically: "openweb-beans" which is 1.6.0, but should 
be 1.6.2 in my understanding.

Thx for quick reply. Please discuss urgent fix or maybe a rollout of a M2 
version soon?

> Upgrade '<cxf.version>' property in openejb.pom
> -----------------------------------------------
>
>                 Key: TOMEE-1681
>                 URL: https://issues.apache.org/jira/browse/TOMEE-1681
>             Project: TomEE
>          Issue Type: Bug
>          Components: TomEE Core Server
>    Affects Versions: 7.0.0-M1
>         Environment: MacOS 10.11.2, Linux (Ubuntu 14.04LTS) - Maven 3.2.5 and 
> 3.3.9, JUnit 4.12 in RS-based webservice test setup with "WebClient" to 
> simulate client access.
>            Reporter: Martin Wiesner
>            Priority: Critical
>              Labels: cxf, cxf-rs, maven, pom
>             Fix For: 7.0.0-M2
>
>
> According to the latest artifact   
>   <groupId>org.apache.tomee</groupId>
>   <artifactId>openejb</artifactId>
> in 7.0.0-M1, the version of CXF is defined as 
> <cxf.version>3.1.0</cxf.version>.
> This, however, conflicts with the bundled CXF version of the released TomEE 
> 7.0.0-M1 bundles (tar.gz/zip) as provided on TomEE's project website. In the 
> provided archives we find CXF artifacts in version 3.1.3 (which is what we 
> would consider correct).
> This inconsistency brings in some trouble with other/related artifacts as 
> well. If one tries to manage this dependency actively in its own project from 
> 3.1.0 to 3.1.3 several runtime incompatibilities are observed as follows:
> java.lang.IllegalStateException: java.lang.NoSuchMethodException: 
> org.apache.cxf.jaxrs.client.ClientProviderFactory.<init>(org.apache.cxf.jaxrs.provider.ProviderFactory,
>  org.apache.cxf.Bus)
>       at 
> org.apache.openejb.server.cxf.rs.CxfRSService.initCxfClientBuilderProviders(CxfRSService.java:254)
>       at 
> org.apache.openejb.server.cxf.rs.CxfRSService.init(CxfRSService.java:193)
>       at 
> org.apache.openejb.server.ServiceManager.initServer(ServiceManager.java:165)
>       at 
> org.apache.openejb.server.ServiceManager.initServers(ServiceManager.java:90)
>       at 
> org.apache.openejb.server.SimpleServiceManager.init(SimpleServiceManager.java:149)
>       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:497)
>       at 
> org.apache.openejb.util.ServiceManagerProxy.invoke(ServiceManagerProxy.java:83)
>       at 
> org.apache.openejb.util.ServiceManagerProxy.<init>(ServiceManagerProxy.java:69)
>       at 
> org.apache.openejb.util.ServiceManagerProxy.<init>(ServiceManagerProxy.java:43)
>       at 
> org.apache.openejb.OpenEjbContainer.startNetworkServices(OpenEjbContainer.java:204)
>       at org.apache.openejb.OpenEjbContainer.<init>(OpenEjbContainer.java:133)
>       at org.apache.openejb.OpenEjbContainer.<init>(OpenEjbContainer.java:90)
>       at 
> org.apache.openejb.OpenEjbContainer$Provider.createEJBContainer(OpenEjbContainer.java:346)
>       at 
> javax.ejb.embeddable.EJBContainer.createEJBContainer(EJBContainer.java:56)
>       at 
> org.apache.openejb.junit.jee.statement.StartingStatement.before(StartingStatement.java:96)
>       at 
> org.apache.openejb.junit.jee.statement.DecoratingStatement.evaluate(DecoratingStatement.java:30)
>       at 
> org.apache.openejb.junit.jee.statement.DecoratingStatement.evaluate(DecoratingStatement.java:32)
>       at org.junit.rules.RunRules.evaluate(RunRules.java:20)
>       at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
>       at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
>       at 
> com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69)
>       at 
> com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:234)
>       at 
> com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:74)
>       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:497)
>       at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)
> Caused by: java.lang.NoSuchMethodException: 
> org.apache.cxf.jaxrs.client.ClientProviderFactory.<init>(org.apache.cxf.jaxrs.provider.ProviderFactory,
>  org.apache.cxf.Bus)
>       at java.lang.Class.getConstructor0(Class.java:3082)
>       at java.lang.Class.getDeclaredConstructor(Class.java:2178)
>       at 
> org.apache.openejb.server.cxf.rs.CxfRSService.initCxfClientBuilderProviders(CxfRSService.java:204)
> This result from a change in a constructor which is no longer existent in CXF 
> 3.1.3, but was present in 3.1.0 and 3.1.1. Sadly, it is quite hard to get our 
> JUnit test running (simulate JAX-RS client via "WebClient" class). It blocks 
> and fails, as the server part can not bind the JAX-RS http server component 
> correctly.
> Any ideas?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to