I basically ended up doing exactly this, except you don't need to add 
cxf-rt-core to the JBI package by changing the cxf:bus decleration to something 
similar to:
 
 <bean id="cxf" class="org.apache.cxf.bus.CXFBusImpl">
        <property name="inInterceptors">
            <list>
            </list>
        </property>
        <property name="outInterceptors">
            <list>
            </list>
        </property>
        <property name="outFaultInterceptors">
        </property>
        <property name="inFaultInterceptors">
        </property>
    </bean> 
And this "works", but I can't understand how the classpath can contain the 
CXFBusImpl class and yet the same jar that contains this class, which also 
contains the cxf core.xsd, but cannot allow a cxf:bus decleration.  It really 
seems like a defect that should be addressed.

>>> Freeman Fang <[email protected]> 10/23/2010 11:18 PM >>>
Hi,

This is actually the same spring handler namespace issue as I  
mentioned in the end of my previous mail.
The workaround for JBI packaging I can come up is explictly add cxf-rt- 
core dependency in your su pom.xml.
And in your xbean.xml, you also need add
<import resource="classpath:META-INF/cxf/cxf.xml" />
    <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
    <import resource="classpath:META-INF/cxf/cxf-extension-http.xml" />
    <import resource="classpath:META-INF/cxf/cxf-extension-http- 
jetty.xml" />
to xbean.xml, as now you init cxf bus in the same context with your  
cxf bc consumer endpoint.

Freeman

On 2010-10-24, at 上午1:18, Kurt Westerfeld wrote:

> Freeman, I decided to make a minor mod to the example you indicated,  
> the cxf-wsdl-first example.  I modified the xbean.xml in wsdl-first- 
> cxfbc-su/src/main/resources/xbean.xml to add a cxf:bus adding the  
> simple cxf:logging feature, got it to deploy fine on SMX3, but on  
> SMX4 I receive the same error:
>
>     <loc-message>Unrecognized xbean namespace mapping: 
> http://cxf.apache.org/core 
> </loc-message>
>     <stack-trace><! 
> [CDATA 
> [org.springframework.beans.factory.BeanDefinitionStoreException:  
> Unrecognized xbean namespace mapping: http://cxf.apache.org/core
> at  
> org 
> .apache 
> .xbean 
> .spring 
> .context 
> .v2c 
> .XBeanNamespaceHandler 
> .parseBeanFromExtensionElement(XBeanNamespaceHandler.java:282)
> at  
> org 
> .apache 
> .xbean 
> .spring 
> .context.v2c.XBeanNamespaceHandler.parse(XBeanNamespaceHandler.java: 
> 156)
> at  
> org 
> .apache 
> .xbean 
> .spring 
> .context.v2.XBeanNamespaceHandler.parse(XBeanNamespaceHandler.java:49)
> at  
> org 
> .springframework 
> .beans 
> .factory 
> .xml 
> .BeanDefinitionParserDelegate 
> .parseCustomElement(BeanDefinitionParserDelegate.java:1335)
> So, I guess I'm stuck on porting to OSGi unless I can figure out  
> another workaround.  We'd like to move to OSGi, mind you, but want  
> to do so somewhat gradually if we can.
>
> Here's my diff, FWIW.....should I file a JIRA on this?
>
> diff -b -r wsdl-first-cxfbc-su/src/main/resources/xbean.xml e:\dev 
> \apache-servicemix-4.3.0-fuse-02-00\examples\cxf-wsdl-first\wsdl- 
> first-cxfbc-su/src/main/resources/xbean.xml
> 21,33c21
> <        xmlns:person="http://servicemix.apache.org/samples/wsdl- 
> first"
> <        xmlns:cxf="http://cxf.apache.org/core";
> <        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
> <        xsi:schemaLocation="
> <           http://www.springframework.org/schema/beans           
> http://www.springframework.org/schema/beans/spring-beans.xsd
> <           http://cxf.apache.org/core                            
> http://cxf.apache.org/schemas/core.xsd
> <           ">
> <
> <   <cxf:bus>
> <       <cxf:features>
> <           <cxf:logging/>
> <       </cxf:features>
> <   </cxf:bus>
> ---
>>       xmlns:person="http://servicemix.apache.org/samples/wsdl-first";>
>
> 37,41c25
> <                       targetInterface="person:Person">
> <     <cxfbc:providedBus>
> <       <ref bean="cxf" />
> <     </cxfbc:providedBus>
> <   </cxfbc:consumer>
> ---
>>                      targetInterface="person:Person"/>
>
>
>
>>>> "Kurt Westerfeld" <[email protected]> 10/23/2010 10:35 AM >>>
>> First of all, I hope you didn't miss my previous answer about how to
>> use cxf bus in smx-cxf-bc with smx4
>> About using cxf bus in smx-cxf component, take a look at discussion  
>> in
>> SMXCOMP-688[2]
>
>> [2]https://issues.apache.org/activemq/browse/SMXCOMP-688
>
> I actually read that several times before I originally posted, and  
> can definitely see the overlap with my issue.  I guess I thought the  
> JBI packaging would be somewhat different, as that bug seems to be  
> related to OSGi packaging.
>
> Uncle!
>
> You've given me enough to go chase....shame on me for not reading  
> more carefully that thread.   Thanks. :-)
>


-- 
Freeman Fang

------------------------
blog: http://freemanfang.blogspot.com
twitter: http://twitter.com/freemanfang
Open Source SOA: http://fusesource.com
Apache Servicemix:http://servicemix.apache.org
Apache Cxf: http://cxf.apache.org
Apache Karaf: http://karaf.apache.org
Apache Felix: http://felix.apache.org

Reply via email to