Hello, William Tam <[email protected]> schrieb am 13.12.2010 23:18:31:
> 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 Sorry, next time I have to give a closer look at the unit tests. Willem Jiang <[email protected]> schrieb am 14.12.2010 01:10:53: > Hi, > > It's looks you are using the simple front end which means there is no > @WebService annotation in your SEI. > Current we don't support the JAXWS-handler in simple front end, please > make sure you are using the jaxws front end. Does this mean that I have to provided the serviceClass attribute at the cxf:cxfEndpoint? Since the incoming SOAP-Message is not wellformed in some cases (e.g. timestamp format), the SOAP message should not be mapped to the JAXB classes directly (this is the reason, why I'm using data format PAYLOAD; I'm doing some message correction before JAXB unmarshaling is processed on my camel route) Is JAXB-unmarshaling skipt with data format PAYLOAD, even if I provide the serviceClass attribute? Thanks, Thomas > On 12/14/10 5:54 AM, 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. > > > > > -- > Willem > ---------------------------------- > FuseSource > Web: http://www.fusesource.com > Blog: http://willemjiang.blogspot.com (English) > http://jnn.javaeye.com (Chinese) > Twitter: willemjiang 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.
