The easiest way MAY be to change the line:
Bus bus = BusFactory.newInstance().createBus();
to
Bus bus = new SpringBusFactory().createBus("cxf.xml");
(use a URL to the cxf.xml file)
That should force it to be picked up properly.
Dan
On Sunday, January 08, 2012 5:44:49 PM ale-2011 wrote:
> I'm following this documentation for SOAP over JMS:
> https://docs.jboss.org/author/display/JBWS/SOAP+over+JMS
>
> I'm able to get the server to work but after when I implemented the client,
> I tried to run it and I have this error:
>
> WARNING: Interceptor for
> {http://soapjms.rd.nsrr.swim.faa.gov/}SoapJmsWeatherImpl#{http://soapjms.rd.
> nsrr.swim.faa.gov/}GetForecast has thrown exception, unwinding now
> org.apache.cxf.configuration.ConfigurationException: Insufficient
> configuration for Conduit. Did you configure a <jms:conduit
> name="{http://soapjms.rd.nsrr.swim.faa.gov/}SoapJmsWeatherImplPort.jms-condu
> it"> and set the jndiConnectionFactoryName ?
>
> I have created a cxf.xml file that contains the jms:conduit and
> jms:destination (below), and put it in the /WEB-INF/ directory of my server
> .WAR file. But somehow JBoss does not read that file.
>
> ...
> <jms:conduit
> name="{http://soapjms.rd.nsrr.swim.faa.gov/}SoapJmsWeatherImplPort.jms-condu
> it"> <jms:address destinationStyle="queue"
>
> jndiConnectionFactoryName="java:activemq/QueueConnectionFactory"
>
> jndiDestinationName="java:activemq/queue/GetForecastRequestQueue"
>
> jndiReplyDestinationName="java:activemq/queue/GetForecastResponseQueue">
> <jms:JMSNamingProperty name="java.naming.factory.initial"
>
> value="org.apache.activemq.jndi.ActiveMQInitialContextFactory" />
> <jms:JMSNamingProperty name="java.naming.provider.url"
> value="vm://localhost" />
> </jms:address>
> </jms:conduit>
>
>
> <jms:destination
> name="{http://soapjms.rd.nsrr.swim.faa.gov/}SoapJmsWeatherImplPort.jms-desti
> nation"> <jms:address destinationStyle="queue"
>
> jndiConnectionFactoryName="java:activemq/QueueConnectionFactory"
>
> jndiDestinationName="java:activemq/queue/GetForecastRequestQueue"
>
> jndiReplyDestinationName="java:activemq/queue/GetForecastResponseQueue">
> <jms:JMSNamingProperty name="java.naming.factory.initial"
>
> value="org.apache.activemq.jndi.ActiveMQInitialContextFactory" />
> <jms:JMSNamingProperty name="java.naming.provider.url"
> value="vm://localhost" />
> </jms:address>
> </jms:destination>
> ...
>
>
> Here is my client:
>
>
> package gov.faa.swim.nsrr.rd.soapjms;
>
> import java.net.URL;
> import javax.xml.namespace.QName;
> import org.apache.cxf.Bus;
> import org.apache.cxf.BusFactory;
> import org.apache.cxf.interceptor.LoggingInInterceptor;
> import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
>
> public final class Main {
> private static final QName SERVICE_NAME = new
> QName("http://soapjms.rd.nsrr.swim.faa.gov/", "SoapJmsWeatherImpl");
>
> private Main() { }
>
> public static void main(String args[]) throws Exception {
> URL wsdlURL = SoapJmsWeatherImpl.WSDL_LOCATION;
> Bus bus = BusFactory.newInstance().createBus();
> BusFactory.setThreadDefaultBus(bus);
> try {
> SoapJmsWeatherImpl service = new
> SoapJmsWeatherImpl(wsdlURL, SERVICE_NAME);
> System.out.println("===== Interacting with JMS endpoint
> ======");
> SoapJmsWeatherImplPortType proxy =
> (SoapJmsWeatherImplPortType) service.getSoapJmsWeatherImplPort();
>
> System.out.println("\nInvoking getForecast...");
> proxy.getForecast("Philadelphia");
> }
> finally {
> bus.shutdown(true);
> }
> System.exit(0);
> }
> }
>
> Could someone guide me to the right direction to get this to work? Thanks.
>
> --
> View this message in context:
> http://cxf.547215.n5.nabble.com/Soap-over-Jms-Error-Insufficient-configurat
> ion-for-Conduit-tp5130316p5130316.html Sent from the cxf-dev mailing list
> archive at Nabble.com.
--
Daniel Kulp
[email protected] - http://dankulp.com/blog
Talend Community Coder - http://coders.talend.com