Uploaded image for project: 'Axis2-C'
  1. Axis2-C
  2. AXIS2C-1071

WSDL2C, ADB & xsi:type based deserialization

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 1.7.0
    • core/addressing
    • None

    Description

      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?

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            dimuthu Dimuthu Gamage
            smeder Sam Meder
            Votes:
            1 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment