Hi William, Yes, I should set the beanId when I create the CxfSpringEndpont. I just committed a quick fix for it.
Let me explain it , Camel's converter has this kind of magic that will turn a CxfSpringEndpointBean into a camel Endpoint, that's can make the configuration more easier (don't need to specify the 'cxf:bean'), and this magic can also help us to turn a Spring Integration Channel into a Spring Integration Endpoint etc. So the endpoint can be created by other not just by the component :) Willem William Tam wrote: > Let me ask a dumb question. What is the benefit of doing this? > What's wrong with using "from" URI "cxf:bean:<beanId>" and let the > CxfComponent construct the endpoint? I thought endpoint was always > created by a component(?) Why we want to bypass all of that? Now, I > think the CxfEndpoint may have a null component which could cause > problem. And, CxfSpringEndpoint may have empty beanId field which is > used by the configure() method. > > > On Sat, Jan 24, 2009 at 6:00 AM, Willem Jiang <[email protected]> wrote: >> Since there are huge changes between the camel 2.0 and camel 1.6 in >> camel-cxf module. I just commit a quick of CAMEL-1294 in Camel 2.0. >> >> Now you can define the rule like this in CAMEL 2.0-SNAPSHOT. >> <camel:camelContext >> xmlns="http://activemq.apache.org/camel/schema/spring" id="camel" >> useJmx="false"> >> <route> >> <from uri="serviceEndpoint"/> >> <to id="aq1_In" uri="file:c:\temp\in"/> >> </route> >> </camel:camelContext> >> >> NOTE: we don't support use ref bean in the camel rule, since the auto >> converting work can't be done in that case. >> >> Willem >> Willem Jiang wrote: >>> I just created a JIRA[1] for it, it should be fixed in the coming up >>> CAMEL 1.6. >>> >>> [1]https://issues.apache.org/activemq/browse/CAMEL-1294 >>> >>> Willem >>> >>> Willem Jiang wrote: >>>> Hi, >>>> >>>> Current cxfEndpoint can't be directly used as a camel Endpoint. >>>> You need to change your camel context >>>> >>>> <camel:camelContext >>>> xmlns="http://activemq.apache.org/camel/schema/spring" id="camel" >>>> useJmx="false"> >>>> >>>> <route> >>>> <from uri="cxf:bean:serviceEndpoint"/> >>>> <to id="aq1_In" uri="file:c:\temp\in"/> >>>> </route> >>>> </camel:camelContext> >>>> >>>> Willem >>>> >>>> >>>> pevgen wrote: >>>>> Hello. >>>>> >>>>> I try to configurate a cxf-endpoint in a spring config. But i got error >>>>> "org.springframework.beans.factory.BeanNotOfRequiredTypeException: Bean >>>>> named 'serviceEndpoint' must be of type [org.apache.camel.Endpoint], but >>>>> was >>>>> actually of type [org.apache.camel.component.cxf.spring.CxfEndpointBean]" >>>>> >>>>> config.xml : >>>>> >>>>> <?xml version="1.0" encoding="UTF-8"?> >>>>> <beans xmlns="http://www.springframework.org/schema/beans" >>>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >>>>> xmlns:jaxws="http://cxf.apache.org/jaxws" >>>>> xmlns:cxf="http://activemq.apache.org/camel/schema/cxfEndpoint" >>>>> >>>>> xmlns:camel="http://activemq.apache.org/camel/schema/spring" >>>>> xsi:schemaLocation="http://www.springframework.org/schema/beans >>>>> http://www.springframework.org/schema/beans/spring-beans-2.0.xsd >>>>> http://activemq.apache.org/camel/schema/spring >>>>> http://activemq.apache.org/camel/schema/spring/camel-spring.xsd >>>>> http://activemq.apache.org/camel/schema/cxfEndpoint >>>>> http://activemq.apache.org/camel/schema/cxf/cxfEndpoint.xsd >>>>> http://cxf.apache.org/jaxws >>>>> http://cxf.apache.org/schemas/jaxws.xsd"> >>>>> >>>>> <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-servlet.xml"/> >>>>> >>>>> <cxf:cxfEndpoint name="serviceEndpoint" id="serviceEndpoint" >>>>> address="/incident" >>>>> serviceClass="ru.transsys.testcxf.TestEndpointImpl"/> >>>>> <!--endpointName="s:TestEndpointPort"--> >>>>> <!--serviceName="s:TestEndpointService"--> >>>>> <!--xmlns:s="http://test.transsys.ru" />--> >>>>> >>>>> >>>>> <camel:camelContext >>>>> xmlns="http://activemq.apache.org/camel/schema/spring" id="camel" >>>>> useJmx="false"> >>>>> >>>>> <route> >>>>> <from ref="serviceEndpoint"/> >>>>> <to id="aq1_In" uri="file:c:\temp\in"/> >>>>> </route> >>>>> </camel:camelContext> >>>>> >>>>> <!-- implementation of the webservice --> >>>>> <bean id="testEndpoint" class="ru.transsys.testcxf.TestEndpointImpl"/> >>>>> >>>>> </beans> >>>>> >>>>> what do you think about it ? >>>>> >>>>> thanks, >>>>> Evgeny >>>>> >>> >> >
