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-conduit";>
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-conduit";>
           <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-destination";>
           <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-configuration-for-Conduit-tp5130316p5130316.html
Sent from the cxf-dev mailing list archive at Nabble.com.

Reply via email to