Description
when XML schema validation is enabled, and mandatory element is missing (probably the same for any other error) in CXF-generated response, then response is invalid in some cases.
E.g. such response is generated from modified wsdl_first sample:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><sayHiResponse xmlns="http://apache.org/hello_world_soap_http/types"><responseType>Executing operation sayHi1</responseType><responseType2><responseType>THIS IS IMPORTANT .. VERY LONG TEXT ..SOMETHING WILL BE flushed probably and that's why cannot be removed later when fault should replace content ........................................................................................................................................................................................................................................................ ................................................................................................................................................................................................... ................................................................................................................................................................................................... .................................................................................................................................................................................. .................................................................................................................... ........................................................................................................................................................................................................................................................ .......................................................................................................................................................................................... ....................................................................................................................... .......................................................................................................................... .............................................................................................................................................................................................. ............................................................................................................................................. ............................................................................................................................................................................................................................... ....................................................................................................................................................................................................................................................................................................................................................................................................................................................... ................................................................................................................................................ .................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... .............................................. ........................................................... ............................................................................................... ........................................................................................................................... .................................<soap:Fault><faultcode>soap:Server</faultcode><faultstring>Marshalli
ng Error: cvc-complex-type.2.4.a: Invalid content was found starting with element 'responseType2'. One of '
' is expected.</faultstring></soap:Fault></soap:Body></soap:Envelope>
in attachment you can find modified sample I used to show the bug in simple enough project. Just do "ant server" and then invoke sayHi from soapUi or other tool, You should see response listed above.
Dans comment from mailing list:
Basically, fixing this will require breaking the streaming. Most likely,
if validation is turned on, we'll need to buffer the message to a cached
stream, and if that doesn't result in a error, then flush the buffer to
the real output stream. That will be a little bit slower, but would fix
this issue.
Attachments
Attachments
Issue Links
- is duplicated by
-
CXF-1614 Bug in CXF Validation, SOAP Fault produces invalid XML
- Closed