Thank you for your reply.
I have a last question please.
Could I have more implementation details about 
"set-jaxb-validation-event-handler", which is used in the beans.xml file in 
jaxws;properties?
I know that JAXB allows adding handlers to marshaller, unmarshaller or 
validator.
Does the "set-jaxb-validation-event-handler" correspond to a particular cxf 
Handler? If yes, which is exactly please?
I have the cxf source code, and I see that "set-jaxb-validation-event-handler" 
is used in DataReaderImpl, but it's difficult to get how it works.

Regards,
Diana 



On 11 mars 2014, at 16:45, Sergey Beryozkin wrote:

> You can use StaxTransformFeature to drop unexpected elements (such as 
> Description) or XSLTTransformFeature, follow the links at the end of
> 
> http://cxf.apache.org/docs/featureslist.html
> 
> Cheers, Sergey
> 
> 
> On 11/03/14 13:23, allam-di14 wrote:
>> I have the following operation op provided by a server:
>> void op(A a)
>> 
>> Such that A has two attributes "key" and "value".
>> 
>> I would like to invoke this operation using the following payload:
>> Payload:
>> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";>
>>      <soap:Body>
>>              <ns3:op xmlns:ns2="http://test/"; xmlns:ns3="http://server/";>
>>                      <arg0>
>>                              <key>1</key>
>>                              <value>Diana</value>
>>                              <description>PHD</description>
>>                      </arg0>
>>              </ns3:op>
>>      </soap:Body>
>> </soap:Envelope>
>> 
>> This payload has an additional element "description", at unmarshalling, the
>> following exception is thrown:
>> org.apache.cxf.interceptor.Fault: Unmarshalling Error: unexpected element
>> (uri:"", local:"description"). Expected elements are <{}value>,<{}key>
>>      at
>> org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:881)
>>      at
>> org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:702)
>> ...
>> 
>> This exception is due to JAXB validation Event Handler.
>> I can get rid of it with the following spring configuration :
>> <jaxws:properties>
>>      <entry key="schema-validation-enabled" value="false" /> 
>>      <entry key="set-jaxb-validation-event-handler" value="false" />
>> </jaxws:properties>
>> 
>> But disabling the JAXB validator is not a good thing.
>> I would like to do it better by unmarshalling my payload as JAXBElement,
>> because it will ignore the additional XML elements.
>> 
>> Regards,
>> Diana
>> 
>> 
>> 
>> 
>> --
>> View this message in context: 
>> http://cxf.547215.n5.nabble.com/XmlRootElement-with-jax-rs-jax-ws-tp566400p5741094.html
>> Sent from the cxf-user mailing list archive at Nabble.com.
>> 
> 
> 
> -- 
> Sergey Beryozkin
> 
> Talend Community Coders
> http://coders.talend.com/
> 
> Blog: http://sberyozkin.blogspot.com
> 

Reply via email to