Allow for WRAPPED style code generation for "wrapper elements" with 
xsd:extension of a wrapper-compatible type
--------------------------------------------------------------------------------------------------------------

                 Key: CXF-2193
                 URL: https://issues.apache.org/jira/browse/CXF-2193
             Project: CXF
          Issue Type: Improvement
          Components: Tooling
    Affects Versions: 2.1.2
            Reporter: Eric Sirianni


JAX-WS Spec:
2.3.1.2 Wrapper Style                                                           
                            
A WSDL operation qualifies for wrapper style mapping only if the following 
criteria are met:                  
   (i) The operation's input and output messages (if present) each contain only 
a single part               
  (ii) The input message part refers to a global element declaration whose 
localname is equal to the operation name                                        
                                                    
 (iii) The output message part refers to a global element declaration           
                            
 (iv) The elements referred to by the input and output message parts 
(henceforth referred to as wrapper     
       elements) are both complex types defined using the xsd:sequence 
compositor                             
  (v) The wrapper elements only contain child elements, they must not contain 
other structures such as
       wildcards (element or attribute), xsd:choice, substitution groups 
(element references are not per-
       mitted) or attributes; furthermore, they must not be nillable.

CXF wsdl2java does not encode the following as 
SOAPBinding.ParameterStyle.WRAPPED:

            <xsd:complexType name="BaseRequestType">
                            <xsd:sequence>
                                <xsd:element name="foo" type="xsd:string"/>
                            </xsd:sequence>
            </xsd:complexType>
            <xsd:element name="MyMethod">
                <xsd:complexType>
                    <xsd:complexContent>
                        <xsd:extension base="tns:BaseRequestType">
                            <xsd:sequence>
                                <xsd:element name="bar" type="xsd:string"/>
                            </xsd:sequence>
                        </xsd:extension>
                    </xsd:complexContent>
                </xsd:complexType>
            </xsd:element>
...

According to the JAX-WS spec, I don't understand why CXF cannot generate 
WRAPPED style code for this construct -- namely xsd:extension of a type that is 
already "Wrapped-compliant".

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to