[
https://issues.apache.org/jira/browse/TUSCANY-1938?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Raymond Feng closed TUSCANY-1938.
---------------------------------
Verified by Scott.
> doc-lit-wrapped WSDLs with wrapper elems with non-substitution-group refs are
> incorrectly treated as non-wrapped
> ----------------------------------------------------------------------------------------------------------------
>
> Key: TUSCANY-1938
> URL: https://issues.apache.org/jira/browse/TUSCANY-1938
> Project: Tuscany
> Issue Type: Bug
> Components: Java SCA Core Runtime
> Affects Versions: Java-SCA-1.0
> Reporter: Scott Kurz
> Assignee: Raymond Feng
> Attachments: helloworld.wsdl
>
>
> The JAX-WS Spec, Sec. 2.3.1.2, makes the following confusing statement in
> defining the WSDL style which qualifies for mapping to "wrapped" Java:
> ...
> (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 permitted) or attributes; furthermore, they must not be
> nillable.
> I think the Tuscany interpretation of this statement is wrong in treating
> certain WSDLs as "non-wrapped" rather than "wrapped". This makes it hard
> to, say, consistently
> choose to work in the doc-lit-wrapped WSDL style with a pre-existing WSDL
> file.
> I'll attach a WSDL file for reference, but let me show an excerpt.
> This is not treated as wrapped by Tuscany:
> <element name="person" type="tns:Person"/>
> <complexType name="Person">
> <sequence>
> <element name="firstName" type="xsd:string"/>
> <element name="lastName" type="xsd:string"/>
> </sequence>
> </complexType>
>
> <element name="getGreetings">
> <complexType>
> <sequence>
> <element name="greeting" type="xsd:string"/>
> <element ref="tns:person"/>
> </sequence>
> </complexType>
> </element>
> IMO, the JAX-WS RI toolset, (wsimport) has the best interpretation of the
> JAX-WS spec. The 'wsimport' tool will treat this as wrapped, (i.e. gen the
> Java with @RequestWrapper), which
> I think is correct. (BTW, a service impl that I wrote from this WSDL
> worked fine on an IBM WAS 6.1 runtime with JAX-WS support.)
> In the sample WSDL attached, I show what I think the JAX-WS spec is trying to
> disallow. The key point I think is that they're trying to disallow use of
> substitution groups. So, if 'person' above
> had been an abstract element with an associated substitution group, then
> JAX-WS RI would map this in a non--wrapped style.
> This also fits with the fact that the statement "(element references are not
> permitted)" is not made in a separate sub-bullet, but only in parentheses
> directly next to "substitution groups".
> Though I still can't explain exactly why the authors phrased it the way they
> did !
> As further proof this is confusing, here's another JIRA on the exact same
> subject on the CXF project (which apparently hasn't been resolved).
> https://issues.apache.org/jira/browse/CXF-1079?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12531198
> Within the Tuscany runtime, I believe this function is implemented in the
> WSDLOperationIntrospectorImpl$Wrapper.getChildElements() method.
> There may or may not be a Tuscany tools hit here as well. I haven't checked.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]