cxf-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Daniel Kulp <dk...@apache.org>
Subject Re: Invoking Web Service from within Camel Component using CXF -- No conduit initiator found error
Date Wed, 14 Jul 2010 03:20:00 GMT

What does your spring context file look like?

You may need to import the cxf-extension-http-jetty.xml thing as well.

Dan


On Monday 12 July 2010 11:51:27 am mindchi wrote:
> Hi,
> 
> I'm creating a Camel component from which I want to invoke a web service
> using CXF. I'm using plain CXF as opposed to the Camel CXF component.
> 
> snippet of code that's connecting to the web service looks like the
> following
> 
> ss = new MyService(mainWsdl.toURI().toURL(), SERVICE_NAME);
> port = ss.getMyService();
> portBP = (BindingProvider) port;
> urlUsed = (String) portBP.getRequestContext().get
> (BindingProvider.ENDPOINT_ADDRESS_PROPERTY);
> 
> setHTTPsConnection();
> 
> 
> setHTTPsConnection() does the following:
> 
> portBP.getRequestContext().put
> (BindingProvider.ENDPOINT_ADDRESS_PROPERTY, _endpointAddress);
> portBP.getRequestContext().put(BindingProvider.USERNAME_PROPERTY,
> _myUsername);
> portBP.getRequestContext().put(BindingProvider.PASSWORD_PROPERTY,
> _myPassword);
> 
> Client client = ClientProxy.getClient(port);
> HTTPConduit http = (HTTPConduit) client.getConduit();
> TLSClientParameters tlsParameters = new TLSClientParameters();
> 
> 
> 
> When I run this, I get the following error:
> 
> 
> org.apache.cxf.interceptor.Fault: No conduit initiator was found for the
> namespace http://schemas.xmlsoap.org/soap/http.
> at
> org.apache.cxf.endpoint.AbstractConduitSelector.getSelectedConduit(Abstract
> ConduitSelector.java:102) at
> org.apache.cxf.endpoint.UpfrontConduitSelector.selectConduit(UpfrontConduit
> Selector.java:71) at
> org.apache.cxf.endpoint.ClientImpl.getConduit(ClientImpl.java:711) at
> com.acme.webservice.demo.DEMOPort.setHTTPsConnection(PASSPort.java:514) at
> com.acme.webservice.demo.DEMOPort.<init>(DEMOPort.java:118)
> at
> com.acme.webservice.demo.osgi.DEMOReceiverService.init(DEMOReceiverService.
> java:58) atcom.acme.webservice.Service.initialize(Service.java:46)
> at
> com.acme.webservice.demo.camel.DEMOConsumer.doStart(DEMOConsumer.java:63)
> at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:53) at
> org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:49) at
> org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:98
> 9) at
> org.apache.camel.spring.SpringCamelContext.maybeStart(SpringCamelContext.ja
> va:197) at
> org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelCo
> ntext.java:101) at
> org.apache.camel.spring.CamelContextFactoryBean.onApplicationEvent(CamelCon
> textFactoryBean.java:593) at
> org.springframework.context.event.SimpleApplicationEventMulticaster$1.run(S
> impleApplicationEventMulticaster.java:78) at
> org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.jav
> a:49) at
> org.springframework.context.event.SimpleApplicationEventMulticaster.multica
> stEvent(SimpleApplicationEventMulticaster.java:76) at
> org.springframework.context.support.AbstractApplicationContext.publishEvent
> (AbstractApplicationContext.java:274) at
> org.springframework.context.support.AbstractApplicationContext.finishRefres
> h(AbstractApplicationContext.java:736) at
> org.springframework.osgi.context.support.AbstractOsgiBundleApplicationConte
> xt.finishRefresh(AbstractOsgiBundleApplicationContext.java: 235)
> at
> org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicat
> ionContext$4.run(AbstractDelegatedExecutionApplicationConte xt.java:358)
> at
> org.springframework.osgi.util.internal.PrivilegedUtils.executeWithCustomTCC
> L(PrivilegedUtils.java:85) at
> org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicat
> ionContext.completeRefresh(AbstractDelegatedExecutionApplic
> ationContext.java:320)
> at
> org.springframework.osgi.extender.internal.dependencies.startup.DependencyW
> aiterApplicationContextExecutor$CompleteRefreshTask.run(Dep
> endencyWaiterApplicationContextExecutor.java:136)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: org.apache.cxf.BusException: No conduit initiator was found for
> the namespace http://schemas.xmlsoap.org/soap/http.
> at
> org.apache.cxf.transport.ConduitInitiatorManagerImpl.getConduitInitiator(Co
> nduitInitiatorManagerImpl.java:112) at
> org.apache.cxf.endpoint.AbstractConduitSelector.getSelectedConduit(Abstract
> ConduitSelector.java:73) ... 24 more
> 
> 
> I've seen some posts on the internet from people having a similar problem
> using Maven and CXF and the solution was to include the
> cxf-rt-transports-http-jetty jar file in thePOM file. I am doing this, and
> I have imported most of the CXF packages into my bundle, but I am still
> getting this error.
> 
> My POM file has the following dependencies and Import-Package :
> 
> <dependency>
> <groupId>org.apache.camel</groupId>
> <artifactId>camel-core</artifactId>
> </dependency>
> 
> <dependency>
> <groupId>org.springframework</groupId>
> <artifactId>spring-beans</artifactId>
> <scope>provided</scope>
> </dependency>
> 
> <dependency>
> <groupId>commons-logging</groupId>
> <artifactId>commons-logging</artifactId>
> <scope>provided</scope>
> </dependency>
> <dependency>
> <groupId>commons-digester</groupId>
> <artifactId>commons-digester</artifactId>
> <version>2.0</version>
> <scope>provided</scope>
> </dependency>
> <dependency>
> <groupId>commons-configuration</groupId>
> <artifactId>commons-configuration</artifactId>
> <version>1.6</version>
> <scope>provided</scope>
> </dependency>
> 
> <dependency>
> <groupId>commons-io</groupId>
> <artifactId>commons-io</artifactId>
> <version>1.4</version>
> <scope>provided</scope>
> </dependency>
> <dependency>
> <groupId>log4j</groupId>
> <artifactId>log4j</artifactId>
> <version>1.2.14</version>
> </dependency>
> 
> <!-- cxf using slf4j -->
> <dependency>
> <groupId>org.slf4j</groupId>
> <artifactId>slf4j-api</artifactId>
> <version>1.5.8</version>
> </dependency>
> 
> <dependency>
> <groupId>org.slf4j</groupId>
> <artifactId>slf4j-log4j12</artifactId>
> <version>1.5.8</version>
> </dependency>
> <dependency>
> <groupId>org.apache.cxf</groupId>
> <artifactId>cxf-rt-core</artifactId>
> <version>2.2.7</version>
> <scope>runtime</scope>
> </dependency>
> <dependency>
> <groupId>org.apache.cxf</groupId>
> <artifactId>cxf-rt-frontend-jaxws</artifactId>
> <version>2.2.7</version>
> <scope>runtime</scope>
> </dependency>
> 
> <dependency>
> <groupId>org.apache.cxf</groupId>
> <artifactId>cxf-rt-transports-http</artifactId>
> <version>2.2.7</version>
> <scope>runtime</scope>
> </dependency>
> <dependency>
> <groupId>org.apache.cxf</groupId>
> <artifactId>cxf-rt-bindings-soap</artifactId>
> <version>2.2.7</version>
> <scope>runtime</scope>
> </dependency>
> 
> <!-- using Jetty with CXF -->
> <dependency>
> <groupId>org.apache.cxf</groupId>
> <artifactId>cxf-rt-transports-http-jetty</artifactId>
> <version>2.2.7</version>
> <scope>runtime</scope>
> </dependency>
> <dependency>
> <groupId>org.apache.cxf</groupId>
> <artifactId>cxf-bundle</artifactId>
> <version>2.2.6-fuse-01-00</version>
> <scope>runtime</scope>
> </dependency>
> 
> 
> <!-- using JAXB -->
> <dependency>
> <groupId>javax.xml.bind</groupId>
> <artifactId>jaxb-api</artifactId>
> <version>2.0</version>
> </dependency>
> 
> <dependency>
> <groupId>org.apache.camel</groupId>
> <artifactId>camel-spring-osgi</artifactId>
> <version>2.1.0</version>
> </dependency>
> 
> <dependency>
> <groupId>org.apache.camel</groupId>
> <artifactId>camel-test</artifactId>
> <version>2.2.0</version>
> <scope>test</scope>
> </dependency>
> 
> <dependency>
> <groupId>org.osgi</groupId>
> <artifactId>osgi_R4_core</artifactId>
> <version>1.0</version> <scope>provided</scope>
> <optional>true</optional>
> </dependency>
> 
> <dependency>
> <groupId>org.osgi</groupId>
> <artifactId>osgi_R4_compendium</artifactId>
> <version>1.0</version>
> <scope>provided</scope>
> <optional>true</optional>
> </dependency>
> 
> 
> </dependencies>
> 
> <build>
> <plugins>
> 
> <plugin>
> <groupId>org.apache.cxf</groupId>
> <artifactId>cxf-codegen-plugin</artifactId>
> <version>2.2.7</version>
> <executions>
> <execution>
> <id>generate-sources</id>
> <phase>generate-sources</phase>
> <configuration>
> <sourceRoot>${basedir}/target/generated/src/main/java</sourceRoot>
> <wsdlOptions>
> <wsdlOption>
> <wsdl>${basedir}/src/main/resources/wsdl/passsubscriber.wsdl</wsdl>
> </wsdlOption>
> </wsdlOptions>
> </configuration>
> <goals>
> <goal>wsdl2java</goal>
> </goals>
> </execution>
> </executions>
> </plugin>
> 
> <plugin>
> <groupId>org.codehaus.mojo</groupId>
> <artifactId>jaxb2-maven-plugin</artifactId>
> <executions>
> <execution>
> <goals>
> <goal>xjc</goal>
> </goals>
> </execution>
> </executions>
> <configuration>
> <schemaDirectory>src/main/resources/schema</schemaDirectory>
> <outputDirectory>${project.build.directory}/jaxb-generated-sources/</output
> Directory> </configuration>
> </plugin>
> 
> <plugin>
> <groupId>org.apache.felix</groupId>
> <artifactId>maven-bundle-plugin</artifactId>
> <extensions>true</extensions>
> <configuration>
> <instructions>
> <Bundle-SymbolicName>${pom.groupId}.${pom.artifactId}</Bundle-SymbolicName>
> <Import-Package>
> *,
> org.apache.commons.logging,
> org.apache.commons.digester;version="2.0",
> org.apache.commons.configuration;version="1.6",
> org.apache.commons.io;version="1.4",
> javax.jws,
> javax.wsdl,
> META-INF.cxf,
> META-INF.cxf.osgi,
> org.apache.cxf,
> org.apache.cxf.bus,
> org.apache.cxf.bus.spring,
> org.apache.cxf.configuration.spring,
> org.apache.cxf.resource,
> org.apache.cxf.binding,
> org.apache.cxf.binding.soap,
> org.apache.cxf.binding.soap.model,
> org.apache.cxf.binding.soap.saaj,
> org.apache.cxf.binding.soap.interceptor,
> org.apache.cxf.interceptor,
> org.apache.cxf.phase,
> org.apache.cxf.frontend,
> org.apache.cxf.transport,
> org.apache.cxf.transport.http,
> org.apache.cxf.transport.https,
> org.apache.cxf.transport.http_osgi,
> org.apache.cxf.transport.http_jetty,
> org.apache.cxf.jaxws.handler,
> org.apache.cxf.jaxws.handler.logical,
> org.apache.cxf.jaxws.handler.soap,
> org.apache.cxf.jaxws.binding.soap,
> org.apache.servicemix.util,
> org.springframework.beans.factory.config,
> org.apache.camel,
> org.apache.camel.builder,
> org.apache.camel.language,
> org.apache.camel.model,
> mil.army.us.sec.c2gw.dispatcher.service.model.*,
> </Import-Package>
> <Require-Bundle>org.apache.cxf.bundle</Require-Bundle>
> <Export-Package>
> mil.army.us.sec.c2gw.adaptor.*,
> </Export-Package>
> </instructions>
> </configuration>
> </plugin>
> </plugins>
> </build>
> </project>
> 
> 
> I'm basically stuck at this point, so any help in resolving this is much
> appreciated.
> 
> 
> -T

-- 
Daniel Kulp
dkulp@apache.org
http://dankulp.com/blog

Mime
View raw message