[ 
https://issues.apache.org/jira/browse/AXIS2-2900?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12510104
 ] 

Amila Chinthaka Suriarachchi commented on AXIS2-2900:
-----------------------------------------------------

this is an schema issue. when we specifiy an union type isn't it requried to 
set the xsi:type? otherwice we can not determine the type requried.
On the other hand xs:any requried you to give and xml. but here we only have a 
string.


> Enhance adb binding union to default to type xs:any
> ---------------------------------------------------
>
>                 Key: AXIS2-2900
>                 URL: https://issues.apache.org/jira/browse/AXIS2-2900
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Improvement
>          Components: adb
>    Affects Versions: 1.2
>         Environment: All platforms.
>            Reporter: Denis Rachal
>            Assignee: Amila Chinthaka Suriarachchi
>
> adb binding support of union types expects the XML attribute xs:type to be 
> specified in the XML document when unmarshalling. If the xs:type attribute is 
> missing the unmarshal fails. This enhancement requests that if the xs:type 
> attribute is missing, the XML element be treated as an xs:any and unmarshal 
> the elemen as a dom element.
> Example taken from: "http://schemas.xmlsoap.org/ws/2004/09/enumeration";
> Type is 'ExpirationType'. Element set in message response is 'Expires':
>       <xs:simpleType name="NonNegativeDurationType">
>               <xs:restriction base="xs:duration">
>                       <xs:minInclusive value="P0Y0M0DT0H0M0S"/>
>               </xs:restriction>
>       </xs:simpleType>
>       <xs:simpleType name="ExpirationType">
>               <xs:union memberTypes="xs:dateTime 
> tns:NonNegativeDurationType"/>
>       </xs:simpleType>
> ...
>       <!-- Enumerate response -->
>       <xs:element name="EnumerateResponse">
>               <xs:complexType>
>                       <xs:sequence>
>                               <xs:element name="Expires" 
> type="tns:ExpirationType" minOccurs="0"/>
>                               <xs:element name="EnumerationContext" 
> type="tns:EnumerationContextType"/>
>                               <xs:any namespace="##other" 
> processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
>                       </xs:sequence>
>                       <xs:anyAttribute namespace="##other" 
> processContents="lax"/>
>               </xs:complexType>
>       </xs:element>
> XML document example:
> If the above case, the adb binding currently expects the following and will 
> fail during unmarshal if the attribute 'xs:type' is not specified:
> ...
>   <env:Body>
>     <wsen:EnumerateResponse xmlns:ns11="http://test.foo"; 
> xmlns:ns12="http://examples.hp.com/ws/wsman/user";>
>       <wsen:Expires 
> xs:type="xs:dateTime">2147483647-12-31T23:59:59.999-14:00</wsen:Expires>
>       
> <wsen:EnumerationContext>70d7063f-1639-4cda-a7db-b4fb2638b738</wsen:EnumerationContext>
>     </wsen:EnumerateResponse>
>   </env:Body
> ...
> If the following is sent, the adb binding should treat the value as 'xs:any' 
> and not throw a fault for an "Unexpected element" during unmarshal:
> ...
>   <env:Body>
>     <wsen:EnumerateResponse xmlns:ns11="http://test.foo"; 
> xmlns:ns12="http://examples.hp.com/ws/wsman/user";>
>       <wsen:Expires>2147483647-12-31T23:59:59.999-14:00</wsen:Expires>
>       
> <wsen:EnumerationContext>70d7063f-1639-4cda-a7db-b4fb2638b738</wsen:EnumerationContext>
>     </wsen:EnumerateResponse>
>   </env:Body
> ...

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