[ https://issues.apache.org/jira/browse/AXIS2C-1071?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Bill Blough updated AXIS2C-1071:
--------------------------------
Fix Version/s: 1.7.0
> WSDL2C, ADB & xsi:type based deserialization
> --------------------------------------------
>
> Key: AXIS2C-1071
> URL: https://issues.apache.org/jira/browse/AXIS2C-1071
> Project: Axis2-C
> Issue Type: Bug
> Components: core/addressing
> Reporter: Sam Meder
> Assignee: Dimuthu Gamage
> Priority: Major
> Fix For: 1.7.0
>
> Attachments: polymorphic.zip, polymorphism.patch
>
>
> I have the problem of having to work with a wsdl interface the makes use of type extensions
and xsi:type. For example:
> <complexType name="VirtualHardware">
> <complexContent>
> <extension base="vim25:DynamicData">
> <sequence>
> <element name="numCPU" type="xsd:int" />
> <element name="memoryMB" type="xsd:int" />
> <element name="device" type="vim25:VirtualDevice" minOccurs="0"
maxOccurs="unbounded" />
> </sequence>
> </extension>
> </complexContent>
> </complexType>
> where the VirtualDevice type is extended in various ways to reflect different kind of
device types:
> <complexType name="VirtualController">
> <complexContent>
> <extension base="vim25:VirtualDevice">
> <sequence>
> <element name="busNumber" type="xsd:int" />
> <element name="device" type="xsd:int" minOccurs="0" maxOccurs="unbounded"
/>
> </sequence>
> </extension>
> </complexContent>
> </complexType>
> The issue I am running into is that WSDL2C does not seem to support this kind of xsi:type
based type serialization/deserialization (which admittedly fits really poorly with a non-object
oriented language like C). You could probably make it work by storing type information in
the generated structs, combined with a type registry.
> Any suggestions on workarounds other than using the XML model?
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: c-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: c-dev-help@axis.apache.org
|