I decided to use the debugger and found that the destination is an instance
of org.apache.cxf.transport.servlet.ServletDestination

In JMSConfigFeature it does this check.  

    @Override
    public void initialize(Server server, Bus bus) {
        checkJmsConfig();
        Destination destination = server.getDestination();
        if (!(destination instanceof JMSDestination)) {
            throw new ConfigurationException(new
Message("JMSCONFIGFEATURE_ONLY_JMS", LOG));
        }


Doesn't the destination get retrieved from jndi based on the value of
targetDestination? 

jp4 wrote:
> 
> I am currently using cxf 2.2.  I have several http endpoints (which are
> generated from wsdl).  These endpoints work great since dumping the jboss
> native stack!  
> 
> Now I'd like one of my endpoints to support both http as well as jms. 
> I've read the cxf docs, but it's unclear whether or not I can do this
> without modifying the WSDL.  Ideally, I'd just like to configure another
> endpoint which listens on a request queue (and delegates to the endpoint
> that I have already configured in spring).  
> 
> I have the following configuration which throws the following exception on
> startup... I have configured the address="jms://".   Can anyone point me
> in the right direction?
> 
> Thanks,
> 
> John
> 
> Caused by: org.apache.cxf.configuration.ConfigurationException: You can
> only use JMSConfigFeature with the jms transport
>     at
> org.apache.cxf.transport.jms.JMSConfigFeature.initialize(JMSConfigFeature.java:61)
> 
> 
>       <bean id="wsCtx"
> class="org.apache.cxf.jaxws.context.WebServiceContextImpl"/>
> 
>       <jaxws:endpoint  id="JMSSingleSignOnServicesImpl_1_0_0"  
>                                        address="jms://" 
>                                        
> implementor="#singleSignOnServicesImpl_1_0_0">
>               <jaxws:features>
>                       <bean 
> class="org.apache.cxf.transport.jms.JMSConfigFeature"
> p:jmsConfig-ref="jmsConfig" />
>               </jaxws:features>
>       </jaxws:endpoint>
> 
> <bean id="jndiConfig"
> class="org.apache.cxf.transport.jms.JNDIConfiguration">
>     <property name="environment">
>       <props>
>         <prop
> key="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</prop>
>         <prop key="java.naming.provider.url">tcp://localhost:61616</prop>
>       </props>
>     </property>
> </bean>       
> 
> <bean id="wrappedConnectionFactory"
> class="org.springframework.jms.connection.SingleConnectionFactory">
>       <property name="targetConnectionFactory">
>               <bean class="org.apache.activemq.ActiveMQConnectionFactory">
>                       <property name="brokerURL" 
> value="tcp://localhost:61616" />
>               </bean>
>       </property>
> </bean>
>     
> <bean id="jmsConfig" class="org.apache.cxf.transport.jms.JMSConfiguration"
>       p:jndiConfig-ref="jndiConfig"
>       p:connectionFactory-ref="wrappedConnectionFactory"
>       p:jndiTemplate-ref="jndiTemplate"
>       p:targetDestination="accountServicesRequestQueue"
>       p:replyDestination="accountServicesResponseQueue">
> </bean>
> 

-- 
View this message in context: 
http://www.nabble.com/CXF-JMS-Integration-tp23767613p23768664.html
Sent from the cxf-user mailing list archive at Nabble.com.

Reply via email to