incubator-yoko-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Darren Middleman (JIRA)" <j...@apache.org>
Subject [jira] Issue Created: (YOKO-392) IDLToWSDL does not generate correct WSDL for certain combinations of forward declaration
Date Thu, 28 Jun 2007 17:39:47 GMT
IDLToWSDL does not generate correct WSDL for certain combinations of forward declaration
----------------------------------------------------------------------------------------

 common.concepts.key: YOKO-392
 common.concepts.url: https://issues.apache.org/jira/browse/YOKO-392
common.concepts.project: Yoko - CORBA Server
common.concepts.issuetype: Bug
common.concepts.components: Idl2Wsdl
    Affects Versions: v1.0-incubating-M2
issue.field.reporter: Darren Middleman
issue.field.assignee: Darren Middleman
common.concepts.fixfor: v1.0.0


IDL which declares a forward declaration for an interface or struct, then provides the full
declaration for the forward declared interface/struct, followed by the use of the interface/struct
as an attribute, member, parameter type will result in incorrect WSDL being generated by the
IDLToWSDL tool.

For example, given the following IDL:

    interface InterfaceA;

    interface InterfaceA {
        void noOp();
    }

    interface InterfaceB {
        void testOp(in long id, in InterfaceA intf);
    };

the schema type produced in the WSDL for testOp will be:

      <xs:element name="testOp">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="id" type="xs:int">
            </xs:element>
            <xs:element name="intf">
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>

Note that the second element named "intf" does not have a type associated with it.

While the use of the forward declaration in the above example is not needed, the IDLToWSDL
tool should still produce correct WSDL.  In the cases where the forward declared type is used
before its full declaration is made, the WSDL produced is correct:

    interface InterfaceA;

    interface InterfaceB {
        void testOp(in long id, in InterfaceA intf);
    };

    interface InterfaceA {
        void noOp();
    }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message