Hi,
no problem to use bean-se -> cxf-se but you need:
- one SU for the servicemix-bean
- one SU for the cxf-se bean
- one SA to package the two SUs
1/ the bean SU
Your POJO needs to implements MessageExchangeListener and the xbean.xml
looks like:
<beans xmlns:bean="http://servicemix.apache.org/bean/1.0"
xmlns:my="http://my">
<bean:endpoint service="my:service" endpoint="endpoint"
bean="#listenerBean" targetService="my:service" endpoint="cxf"/>
<bean id="listenerBean" class="my.ListenerBean"/>
</beans>
2/ the CXF-SE
The CXF-SE xbean.xml looks like:
<beans xmlns:cxfse="http://servicemix.apache.org/cxfse/1.0"
xmlns:my="http://my">
<cxfse:endpoint service="my:service" endpoint="cxf">
<cxfse:pojo>
<bean class="my.OtherBean"/>
</cxfse:pojo>
</cxfse:endpoint>
</beans>
Regards
JB
jcamus wrote:
Jean-Baptiste,
Thanks for your quick answer, but I do need to have this :
BEAN-SE -> CXF-SE (via a proxy)
So how can I switch to Fuse 4 (Or SMX) as I am currently working with Fuse
3.4.0.2 ? I thought this version was not yet available?
Regards.
Jean-Baptiste Onofré wrote:
Hi,
You can't scramble servicemix-bean and servicemix-cxf-se component in
the same SU (a SU is linked to one and only one component). You can
scramble in SMX4 using EndpointExporter in place of the JBI packaging.
If you have a POJO, you need only to use cxf-se:
<beans xmlns:cxfse="http://servicemix.apache.org/cxfse/1.0"
xmlns:my="http://my">
<cxfse:endpoint>
<cxfse:pojo>
<bean class="mypojo"/>
<cxfse:pojo>
</cxfse:endpoint>
<beans>
Regards
JB
jcamus wrote:
Hi,
I am trying to define a cxf-se proxy into a given smx-bean. Unfortunately
I
have the following error when
deploying into SMX :
Bean 'abstractReferencialExporter'; nested exception is
org.springframework.beans.factory.BeanDefinitionStoreException:
Unrecognized
xbean namespace m
apping: http://servicemix.apache.org/cxfse/1.0
at
org.springframework.beans.factory.parsing.FailFastProblemReporter.error(FailFastProblemReporter.java:68)
at
org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:85)
at
org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.error(BeanDefinitionParserDelegate.java:288)
at
org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseBeanDefinitionElement(BeanDefinitionParserDelegate.java:575)
at
org.apache.xbean.spring.context.v2c.XBeanBeanDefinitionParserDelegate.parseBeanDefinitionElement(XBeanBeanDefinitionParserDelegate.java:58)
at
org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseBeanDefinitionElement(BeanDefinitionParserDelegate.java:389)
at
org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseBeanDefinitionElement(BeanDefinitionParserDelegate.java:358)
at
org.apache.xbean.spring.context.v2.XBeanBeanDefinitionDocumentReader.processBeanDefinition(XBeanBeanDefinitionDocumentReader.java:174)
at
org.apache.xbean.spring.context.v2.XBeanBeanDefinitionDocumentReader.parseDefaultElement(XBeanBeanDefinitionDocumentReader.java:101)
at
org.apache.xbean.spring.context.v2.XBeanBeanDefinitionDocumentReader.parseBeanDefinitions(XBeanBeanDefinitionDocumentReader.java:81)
at
org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:
92)
at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:507)
at
org.apache.xbean.spring.context.v2.XBeanXmlBeanDefinitionReader.registerBeanDefinitions(XBeanXmlBeanDefinitionReader.java:79)
at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:398)
at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:342)
at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:310)
at
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143)
at
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:178)
at
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:149)
at
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:212)
at
org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:113)
at
org.apache.xbean.spring.context.FileSystemXmlApplicationContext.loadBeanDefinitions(FileSystemXmlApplicationContext.java:168)
at
org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:123
Here is my xbean of my bean-su :
<beans xmlns:cxfse="http://servicemix.apache.org/cxfse/1.0"
xmlns:bean="http://servicemix.apache.org/bean/1.0"
xmlns:parkeon="http://esb.transfolio.parkeon.com"
xmlns:parkeonFileRepository="http://filerepository.esb.transfolio.parkeon.com"
<bean id="abstractReferencialExporter"
class="com.parkeon.transfolio.esb.exportation.AbstractReferencialExporter"
abstract="true">
<property name="fileRepositoryService">
<cxfse:proxy
service="parkeonFileRepository:FileRepositoryService"
context="#context"
type="com.parkeon.transfolio.esb.filerepository.IFileRepository" />
</property>
</bean>
<bean:endpoint service="parkeon:beanReferencialExporter"
endpoint="configTypeFares">
<bean:bean>
<bean id="configTypeFares"
class="com.parkeon.transfolio.esb.exportation.ConfigTypeFares"
parent="abstractReferencialExporter">
</bean>
</bean:bean>
</bean:endpoint>
Here is my pom.xml :
<groupId>com.parkeon.transfolio.esb</groupId>
<artifactId>servicemix-bean-se-su</artifactId>
<packaging>jbi-service-unit</packaging>
<version>${sa-version}</version>
<name>BEAN SE SU</name>
<url>http://www.parkeon.com</url>
<properties>
<componentName>servicemix-bean</componentName>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.servicemix</groupId>
<artifactId>servicemix-cxf-se</artifactId>
<version>${servicemix-version}</version>
</dependency>
<dependency>
<groupId>org.apache.servicemix</groupId>
<artifactId>servicemix-bean</artifactId>
<version>${servicemix-version}</version>
</dependency>
Where am I wrong?
Regards.