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.
