We do have an unit test for JAXWS handler in PAYLOAD mode.

https://svn.apache.org/repos/asf/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfWsdlFirstPayloadModeTest.java

https://svn.apache.org/repos/asf/camel/trunk/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/WsdlFirstBeansPayloadMode.xml

HTH

On 12/13/2010 04:54 PM, Thomas KRIECHBAUM wrote:
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