GitHub user grgrzybek opened a pull request:
https://github.com/apache/cxf/pull/7
[CXF-5254] Unmarshall exception if a sequence<string> is used in a struct
Here's an attempt to resolve this issue. The main problem is with sequence
handling:
* IDL 2 WSDL+CorbaBinding: always produces *wrappers* for sequences
* WSDL 2 WSDL+CorbaBinding: there may be elements nested inside ComplexType
which have `minOccurs!=1` or `maxOccurs!=1` - these are *unwrapped* sequences
at runtime, when writing XML events to CorbaStreamWriter and while reading
XML events from CorbaStreamReader there should be proper handling of sequence
*wrappers*.
Here's a patch with all necessary test cases.
regards
Grzegorz Grzybek
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/grgrzybek/cxf CXF-5254
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/cxf/pull/7.patch
----
commit 95d356744d2869778f32498e51ab55ee260797c1
Author: Grzegorz Grzybek <[email protected]>
Date: 2013-10-10T09:07:55Z
WSDLtoCorba: handling different forms of sequences
Related to CXF-5254.
Introduced the concept of (un)wrapped arrays and sequences (as suggested
by Daniel Kulp). Element declarations of xsd:complexTypes may be
sequences/arrays (minOccurs!=0 || maxOccurs!=0) and they appear as a
sequence of elements with the same name in XML instances (unwrapped
form).
However when mapping IDL to WSDL Corba Binding, sequences are always
wrapped.
commit 366f52093470a02615e9afee41de10cfecfb6282
Author: Grzegorz Grzybek <[email protected]>
Date: 2013-10-10T12:35:47Z
[CXF-5254] Correct handling of wrapped and unwrapped sequences
Corba Binding allows to set "wrapped" flag on sequences/arrays. It is
used at runtime to correctly produce events related to Corba-XML
mapping.
----