Hello,

how can I assign JAXWS-handlers to an CXF-endpoint using data format 
PAYLOAD?

The documentation 
http://camel.apache.org/cxf.html#CXF-ConfiguretheCXFendpointswithSpring 
suggests the child element cxf:handlers. But when starting the camel 
context the following exception is thrown:

?
Caused by: org.springframework.beans.NotWritablePropertyException: Invalid 
property 'handlers' of bean class 
[org.apache.cxf.frontend.ServerFactoryBean]: Bean property 'handlers' is 
not writable or has an invalid setter method. Does the parameter type of 
the setter match the return type of the getter?
?

According to this (very clear) exception message, the class 
ServerFactoryBean does not own the required property (the classes 
JaxWsServerFactoryBean or SpringServerFactoryBean do own this property; 
both are extending the class ServerFactoryBean).

https://svn.apache.org/repos/asf/camel/trunk/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/WsdlFirstProcessor.xml
 
contains an appropriate cxf:handlers example. But in this example the 
CXF-endpoint uses data format POJO.

As a workaround I have implemented a SOAP-message-interceptor (extending 
class AbstractPhaseInterceptor<SoapMessage>; registered for phase 
Phase.USER_PROTOCOL). Within this interceptor I have access to all 
SOAP-headers in form of DOM-elements.

It would be a nice feature, if I could reuse an existing JAXWS-handler 
even with data format PAYLOAD.

Thanks,
Thomas



Der Austausch von Nachrichten mit o.a. Absender via e-mail dient ausschließlich 
Informationszwecken. Rechtsgeschäftliche Erklärungen dürfen über dieses Medium 
nicht ausgetauscht werden.

Correspondence with a.m. sender via e-mail is only for information purposes. 
This medium is not to be used for the exchange of legally-binding 
communications.

Reply via email to