[ 
https://issues.apache.org/jira/browse/AXIS2-4058?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12637511#action_12637511
 ] 

Antonio Andrade commented on AXIS2-4058:
----------------------------------------

Yes, you're right, there's not such attribute ('wrapped') defined in WSDL, 
that's why I always referred to it as the attribute of the AxisMessage class 
-making reference to the class itself, not to the WSDL message or part 
element-. But note that THERE IS an IMPLICIT reference to it. The wrapped 
attribute is used to differentiate WSDL message <wsdl:part/>s using the 'type' 
attribute (that assign a type definition to the message part) vs those using 
the 'element' attribute (that assign a global element declaration to it). To be 
able to completely validate/represent a message using the XSD language -and for 
consistency while handling messages- the WSDL11ToAxisServiceBuilder creates new 
 XML schema elements that wrap the message part definitions using the 'type 
attribute' according to the rules to convert that message into the 
Document/Literal encoding style using the WRAPPED convention (Documen/Literal 
Wrapped) and that's where the name 'wrapped' comes from. In the AxisMessage, 
the attribute let the user know if a new XML schema element was created for the 
corresponding message <wsdl:part/>.

Sorry if I just repeated while you already know but what I'm trying to say is 
that 1) the attribute is defined in the AxisMessage class, 2) the attribute 
lets the user know (while parsing a WSDL) which message <wsd:part/>s caused 
Axis2 to generate new XML schema elements, 3) its value is accessible through 
the BindingOperationEntry inner class and 4) It'd be great if that value was 
propagated into the AxisMessage.

I'm attaching the patch for this but I'm not setting the default value to 
'false'. The value, I think, would be better defaulting to it for the reasons 
explained in this bug's description but as long as the attribute's value is 
properly set in WSDL11ToAxisServiceBuilder, the AxisMessages created should 
carry the expected information.

Note: If, in the first place, the 'wrapped' attribute was not supposed to be 
exposed and its usage is discourage -except when using internally- then it'd be 
great if that was documented in the relevant methods' signatures; if that's not 
the case, I hope the patch attached is reviewed and included into the product.

> WSDL11ToAxisServiceBuilder: the wrapped attribute of the AxisMessage class is 
> not being populated
> -------------------------------------------------------------------------------------------------
>
>                 Key: AXIS2-4058
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4058
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>          Components: kernel
>    Affects Versions: 1.4, nightly
>         Environment: Windows XP. 4GB RAM Intel Xeon dual-core @2.75Ghz
>            Reporter: Antonio Andrade
>            Priority: Minor
>   Original Estimate: 6h
>  Remaining Estimate: 6h
>
> Observed Behavior: 
> 1) The wrapped attribute of the AxisMessage class is not being populated by 
> the WSDL11ToAxisServiceBuilder class. The information is persisted in its 
> BindingOperationEntry inner class (through the wrappedInput and wrappedOutput 
> attributes) but it's never set into the appropriate AxisMessage instance.
> 2) In AxisMessage, the wrapped attribute defaults to 'true' when it should 
> not (see attribute declaration/initialization). Note that 
> BindingOperationEntry, the wrappedInput  and wrappedOutput  attributes 
> default to 'true'. This IS perfectly fine since BindingOperationEntry objects 
> are only instantiated whenever the encoding style for the operation is 
> RPC/Literal of when the binding is HTTP and the message parts reference type 
> definitions so it's OK for them to default to 'true'.
> Expected Behavior: 
> 1) The wrapped attribute of the AxisMessage class should be populated by the 
> WSDL11ToAxisServiceBuilder class while the bindings are being populated (see 
> WSDL11ToAxisServiceBuilder.populateBinding method) just before the 
> addQNameReference methods are called.
> 2) In AxisMessage, the wrapped attribute should be initialized (either 
> explicitly or implicitly) to 'false' and the 
> DocLitBareSchemaGenerator.processMethods method should be updated accordingly.

-- 
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]

Reply via email to