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/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(Abstr >> > > 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(ClientPro >> > > 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 >> > >> > > >
