I just submitted a fix to trunk (Committed revision 750147).  BTW, you
could also define dataFormat in the endpoint URI (e.g.
cxf:bean:reportIncident?dataFormat=PAYLOAD).

https://issues.apache.org/activemq/browse/CAMEL-1421

On Wed, Mar 4, 2009 at 2:13 PM, William Tam <[email protected]> wrote:
> I think you hit a bug that CxfEndpointBean's bean property map not
> getting merged.  I'll look into it.
>
> On Wed, Mar 4, 2009 at 10:57 AM, cmoulliard <[email protected]> wrote:
>>
>> In fact, I think that I don't use the correct syntax. Here is the good one :
>>
>>    <!-- webservice endpoint -->
>>    <cxf:cxfEndpoint id="reportIncident"
>>                     address="http://localhost:8080/camel-example/incident";
>>                     wsdlURL="wsdl/report_incident.wsdl"
>>                     serviceClass="#reportIncidentEndpoint"
>>                     endpointName="s:ReportIncidentPort"
>>                     serviceName="s:ReportIncidentService"
>>
>> xmlns:s="http://reportincident.example.camel.apache.org";>
>>                     <cxf:properties>
>>                                        <entry key="dataFormat" 
>> value="PAYLOAD"/>
>>                     </cxf:properties>
>>    </cxf:cxfEndpoint>
>>
>> Unfortunately, this config generates the following error :
>>
>> 2009-03-04 16:54:30,740 ERROR MainSupport - Failed:
>> java.lang.IllegalArgumentException: serviceClass must be specified
>> java.lang.IllegalArgumentException: serviceClass must be specified
>>        at org.apache.camel.util.ObjectHelper.notNull(ObjectHelper.java:170)
>>        at
>> org.apache.camel.component.cxf.CxfSpringEndpoint.createServerFactoryBean(CxfSpringEndpoint.java:150)
>>        at 
>> org.apache.camel.component.cxf.CxfConsumer.<init>(CxfConsumer.java:46)
>>        at
>> org.apache.camel.component.cxf.CxfEndpoint.createConsumer(CxfEndpoint.java:95)
>>        at
>> org.apache.camel.impl.EventDrivenConsumerRoute.addServices(EventDrivenConsumerRoute.java:62)
>>        at org.apache.camel.Route.getServicesForRoute(Route.java:74)
>>        at org.apache.camel.impl.RouteService.doStart(RouteService.java:77)
>>        at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:50)
>>        at
>> org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:743)
>>        at
>> org.apache.camel.spring.SpringCamelContext.maybeDoStart(SpringCamelContext.java:165)
>>        at
>> org.apache.camel.spring.SpringCamelContext.doStart(SpringCamelContext.java:160)
>>        at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:50)
>>        at
>> org.apache.camel.spring.SpringCamelContext.maybeStart(SpringCamelContext.java:95)
>>        at
>> org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:114)
>>        at
>> org.springframework.context.event.SimpleApplicationEventMulticaster$1.run(SimpleApplicationEventMulticaster.java:78)
>>        at
>> org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:49)
>>        at
>> org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:76)
>>        at
>> org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:274)
>>        at
>> org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:736)
>>        at
>> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:383)
>>        at
>> org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
>>        at
>> org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:93)
>>        at
>> org.apache.camel.spring.Main.createDefaultApplicationContext(Main.java:232)
>>        at org.apache.camel.spring.Main.doStart(Main.java:186)
>>        at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:50)
>>        at org.apache.camel.util.MainSupport.run(MainSupport.java:121)
>>        at org.apache.camel.util.MainSupport.run(MainSupport.java:299)
>>        at org.apache.camel.spring.Main.main(Main.java:98)
>>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>        at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>        at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>        at java.lang.reflect.Method.invoke(Method.java:597)
>>        at org.apache.camel.maven.RunMojo$1.run(RunMojo.java:396)
>>        at java.lang.Thread.run(Thread.java:619)
>>
>>
>>
>> cmoulliard wrote:
>>>
>>> Hi,
>>>
>>> In the documentation of the component camel-cxf, it is mentioned that we
>>> can define the dataformat. When I set this parameter in my spring DSL, I
>>> receive the following error :
>>>
>>> Caused by: org.xml.sax.SAXParseException: cvc-complex-type.3.2.2:
>>> Attribute 'dataFormat' is not allowed to appear in element
>>> 'cxf:cxfEndpoint'.
>>>
>>>     <!-- webservice endpoint -->
>>>     <cxf:cxfEndpoint id="reportIncident"
>>>
>>> address="http://localhost:8080/camel-example/incident";
>>>                      wsdlURL="wsdl/report_incident.wsdl"
>>>                      dataFormat="PAYLOAD"
>>>                      serviceClass="#reportIncidentEndpoint"
>>>                      endpointName="s:ReportIncidentPort"
>>>                      serviceName="s:ReportIncidentService"
>>>
>>> xmlns:s="http://reportincident.example.camel.apache.org";
>>>      />
>>>
>>> Is it a mistake of me or an error ?
>>>
>>> Regards,
>>>
>>>
>>>
>>
>>
>> -----
>> Charles Moulliard
>> SOA Architect
>>
>> My Blog :  http://cmoulliard.blogspot.com/ http://cmoulliard.blogspot.com/
>> --
>> View this message in context: 
>> http://www.nabble.com/camel-cxf---dataformat-tp22332652p22332877.html
>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>
>>
>

Reply via email to