[ 
https://issues.apache.org/jira/browse/YOKO-392?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Darren Middleman closed YOKO-392.
---------------------------------

    Resolution: Fixed

> IDLToWSDL does not generate correct WSDL for certain combinations of forward 
> declaration
> ----------------------------------------------------------------------------------------
>
>                 Key: YOKO-392
>                 URL: https://issues.apache.org/jira/browse/YOKO-392
>             Project: Yoko - CORBA Server
>          Issue Type: Bug
>          Components: Idl2Wsdl
>    Affects Versions: v1.0-incubating-M2
>            Reporter: Darren Middleman
>            Assignee: Darren Middleman
>             Fix For: 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.

Reply via email to