On Sun, Jan 25, 2009 at 3:08 AM, Willem Jiang <[email protected]> wrote: > Hi William, > > Yes, I should set the beanId when I create the CxfSpringEndpont. I just > committed a quick fix for it.
Thanks for fixing 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 I think it is a more personal taste thing. I am not sure one is necessary better than the other. IMHO, it is just yet another way of doing the same thing. > this magic can also help us to turn a Spring Integration Channel into a > Spring Integration Endpoint etc. > Since we can create CXF endpoint ref either way, the "magic" isn't an enabler for Spring Integration etc, right? > So the endpoint can be created by other not just by the component :) I guess my question was "should we". It looks like null component is fine for CxfEndpoint.. Let's hope it won't come back to bite us. :-) > > 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 >>>>>> >>>> >>> >> > >
