We need to use an ODATA consumer in a Jboss 7 application which already comes
with its own JAX-RS and JAX-WS implementation. I am guessing any EE6
container will have the same issue. IT is trying to force the CXF as the
implementation which causes classloader conflicts. We were able to get it to
work in Jboss 7 by commenting out the following code in ODataCxfConsumer .
Maybe there needs to be just a generic OdataJaxRsClient to be run inside EE6
Containers?
public class ODataCxfConsumer extends AbstractODataConsumer {
private final ODataCxfClient client;
private ODataCxfConsumer(FormatType type, String serviceRootUri, OClientBehavior... behaviors) {
super(serviceRootUri);
// // ensure that the correct JAX-RS implementation (CXF) is loaded
// if (!(RuntimeDelegate.getInstance() instanceof
// org.apache.cxf.jaxrs.impl.RuntimeDelegateImpl))
// RuntimeDelegate.setInstance(new
// org.apache.cxf.jaxrs.impl.RuntimeDelegateImpl());
this.client = new ODataCxfClient(type, behaviors);
}
…
}
Original issue reported on code.google.com by mellowaredev on 3 Apr 2013 at 2:44
Original issue reported on code.google.com by
mellowaredev
on 3 Apr 2013 at 2:44