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