Hi Sergey, Not sure if you read my message I sent few hours ago. I found the root cause to be the order of cxf-rt-transports-http-2.6.1.jar in the class path even though I don't know why the order of this would matter. I definitely don't have duplicate cxf jars in the class path. Debugging production environment is not possible. I can only debug local environment.
Here is my previous message: "I finally found the root cause of the problem but I am still not sure if its due to cxf code or java itself or combination. Basically its somehow related to ordering of jar files in the classpath. If I have cxf-rt-transports-http-2.6.1.jar in the beginning of class path, everything works fine. Originally I had this jar file specified somewhere in the middle (class path is auto generated). Could this be CXF issue? My class path length is huge but AFAIK that should not cause any issues in Linux environment. If CXF devs have any insight into why ordering of this jar file would cause the below issue, I would really appreciate the answer. I could put this jar file in the beginning of class path but that would a hack. Thanks Praveen" On 10/28/13 4:59 PM, "Sergey Beryozkin" <[email protected]> wrote: >Hi > >It appears to be a class loader issue specific to your production >environment then, >can you please put a breakpoint in CXF JAXRSClientFactoryBean.create >method, and see what happens when you do it locally and how the >execution path differs when you deploy it into the production environment >? > >I think we've had a user reporting a similar issue recently and the only >conclusion we came to was that multiple CXF buses may've got interfered >with each other, it is difficult to advise anything more specific >really, please try to do a bit of debugging and let us know what you find > >Thanks, Sergey >On 24/10/13 16:04, Praveen Peddi wrote: >> I forgot to mention everything works on my local Mac environment but it >> fails on production environment so I am not sure if soap jar is needed >>for >> REST stuff. I will give it a try anyway. >> >> Praveen >> >> On 10/23/13 9:38 PM, "Willem jiang" <[email protected]> wrote: >> >>> I think you need to put cxf-rt-bindings-soap.jar into your class path. >>> >>> >>> -- >>> Willem Jiang >>> >>> Red Hat, Inc. >>> Web: http://www.redhat.com >>> Blog: http://willemjiang.blogspot.com >>>(http://willemjiang.blogspot.com/) >>> (English) >>> http://jnn.iteye.com (http://jnn.javaeye.com/) (Chinese) >>> Twitter: willemjiang >>> Weibo: 姜宁willem >>> >>> >>> >>> >>> >>> On Thursday, October 24, 2013 at 4:36 AM, Praveen Peddi wrote: >>> >>>> Hi Andrei, >>>> Thanks for your reply. I verified that following cxf jar were loaded >>>>in >>>> jvm. Here is the >>>> output of lsof command. >>>> >>>> [root@host1 ~]# lsof -p 7949 | grep cxf >>>> <some-path>/libs/cxf-rt-core-2.6.1.jar >>>> <some-path>/libs/cxf-rt-bindings-xml-2.6.1.jar >>>> <some-path>/libs/cxf-api-2.6.1.jar >>>> <some-path>/libs/cxf-rt-transports-http-2.6.1.jar >>>> <some-path>/libs/cxf-rt-frontend-jaxrs-2.6.1.jar >>>> >>>> >>>> I also started the JVM with "-verbose:class" option and didn't see the >>>> HTTPTransportFactory being loaded. What would that mean, If >>>> cxf-rt-transports-http-2.6.1.jar is in class path but this class not >>>> loaded? What else can I do to debug this issue? >>>> >>>> Thanks >>>> Praveen >>>> >>>> On 10/23/13 1:06 PM, "Andrei Shakirin" <[email protected] >>>> (mailto:[email protected])> wrote: >>>> >>>>> Hi, >>>>> >>>>> Normally the reason of exception "No conduit initiator was found for >>>> the >>>>> namespace http://cxf.apache.org/transports/http" is missing >>>>> cxf-rt-transports-http-2.6.1.jar in the classpath. This jar contains >>>>> HTTPTransportFactory registered under >>>>> "http://cxf.apache.org/transports/http". >>>>> Could you double check is cxf-rt-transports-http-2.6.1.jar was >>>>>loaded? >>>>> >>>>> Regards, >>>>> Andrei. >>>>> >>>>>> -----Original Message----- >>>>>> From: Praveen Peddi [mailto:[email protected]] >>>>>> Sent: Mittwoch, 23. Oktober 2013 17:26 >>>>>> To: [email protected] (mailto:[email protected]) >>>>>> Subject: No conduit initiator found for namespace >>>>>> http://cxf.apache.org/transports/http. >>>>>> >>>>>> Hi all, >>>>>> We are using apache cxf 2.6.1 to call Restful API. Both Server and >>>> the >>>>>> client >>>>>> use cxf libraries. On the client side, we use cxf generated client. >>>>>> Everything >>>>>> works in dev environment but we recently saw this error in >>>> production >>>>>> environment. I googled and found nothing for this specific >>>> namespace. I >>>>>> am >>>>>> wondering if anybody else got this. I already verified that the >>>> class >>>>>> path has >>>>>> following 5 cxf libraries (both in dev and prod). Any help would be >>>>>> greatly >>>>>> appreciated. >>>>>> >>>>>> List of cxf jars we have in class path: >>>>>> /opt/mhs/lib/cxf-api-2.6.1.jar >>>>>> /opt/mhs/lib/cxf-rt-bindings-xml-2.6.1.jar >>>>>> /opt/mhs/lib/cxf-rt-core-2.6.1.jar >>>>>> /opt/mhs/lib/cxf-rt-frontend-jaxrs-2.6.1.jar >>>>>> /opt/mhs/lib/cxf-rt-transports-http-2.6.1.jar >>>>>> >>>>>> Here is the error message. Its very generic and I am having hard >>>> time >>>>>> finding >>>>>> the root cause. >>>>>> >>>>>> apache.cxf.phase.PhaseInterceptorChain - Interceptor for >>>>>> {http://rest.perfmon.kiva.com/}IPerfMonRestEntityAssociationService >>>> has >>>>>> thrown exception, unwinding now >>>>>> org.apache.cxf.interceptor.Fault: No conduit initiator was found >>>> for the >>>>>> namespace http://cxf.apache.org/transports/http. >>>>>> at >>>>>> >>>> >>>>org.apache.cxf.endpoint.AbstractConduitSelector.getSelectedConduit(Abst >>>>r >>>>>> actConduitSelector.java:127) >>>>>> at >>>>>> >>>> >>>>org.apache.cxf.endpoint.UpfrontConduitSelector.selectConduit(UpfrontCon >>>>>> duitSelector.java:77) >>>>>> at >>>>>> >>>> org.apache.cxf.message.ExchangeImpl.getConduit(ExchangeImpl.java:130) >>>>>> at >>>>>> >>>> org.apache.cxf.interceptor.MessageSenderInterceptor.getConduit(Message >>>>>> SenderInterceptor.java:71) >>>>>> at >>>>>> >>>> org.apache.cxf.interceptor.MessageSenderInterceptor.handleMessage(Mes >>>>>> sageSenderInterceptor.java:46) >>>>>> at >>>>>> >>>> >>>>org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptor >>>>>> Chain.java:262) >>>>>> at >>>>>> >>>>>> >>>> >>>>org.apache.cxf.jaxrs.client.ClientProxyImpl.doChainedInvocation(ClientP >>>>ro >>>>>> xy >>>>>> Impl.java:526) >>>>>> at >>>>>> >>>>>> >>>> >>>>org.apache.cxf.jaxrs.client.ClientProxyImpl.invoke(ClientProxyImpl.java >>>>:2 >>>>>> 05) >>>>>> at com.sun.proxy.$Proxy60.addEntityAssociation(Unknown Source) at >>>>> >>>> >>> >>> >>> >> > >
