DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=8435>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=8435

WSDL2Java doesn't handle schema <list> enumerations

           Summary: WSDL2Java doesn't handle schema <list> enumerations
           Product: Axis
           Version: beta-1
          Platform: All
        OS/Version: Other
            Status: NEW
          Severity: Enhancement
          Priority: Other
         Component: Basic Architecture
        AssignedTo: [EMAIL PROTECTED]
        ReportedBy: [EMAIL PROTECTED]


Microsoft's .Net WSDL supports the notion of a bitmask enumeration, where 
multiple enum values can be logically OR'd together (a very useful feature). In 
C# this is generated using the Flags attribute on an enumerated type. The WSDL 
that it spits out when you do this looks like:
<s:simpleType name="MyFlags">
  <s:list>
   <s:simpleType>
    <s:restriction base="s:string">
     <s:enumeration value="Flag1" />
     <s:enumeration value="Flag2" />
     <s:enumeration value="Flag3" />
    </s:restriction>
   </s:simpleType>
  </s:list>
</s:simpleType>

WSDL2Java doesn't handle this - it throws an exception when it encounters this 
WSDL. The exception is:
java.io.IOException: http://tempuri.org/:MyFlags already exists at
org.apache.axis.wsdl.toJava.SymbolTable.symbolTablePut(Unknown Source)
         at
org.apache.axis.wsdl.toJava.SymbolTable.createTypeFromDef(Unknown Source)
         at org.apache.axis.wsdl.toJava.SymbolTable.addTypes(Unknown Source)
         at org.apache.axis.wsdl.toJava.SymbolTable.addTypes(Unknown Source)
         at org.apache.axis.wsdl.toJava.SymbolTable.addTypes(Unknown Source)
         at org.apache.axis.wsdl.toJava.SymbolTable.addTypes(Unknown Source)
         at org.apache.axis.wsdl.toJava.SymbolTable.addTypes(Unknown Source)
         at org.apache.axis.wsdl.toJava.SymbolTable.addTypes(Unknown Source)
         at org.apache.axis.wsdl.toJava.SymbolTable.addTypes(Unknown Source)
         at org.apache.axis.wsdl.toJava.SymbolTable.populateTypes(Unknown
Source)
         at org.apache.axis.wsdl.toJava.SymbolTable.populate(Unknown Source)
         at org.apache.axis.wsdl.toJava.SymbolTable.add(Unknown Source)
         at org.apache.axis.wsdl.toJava.Emitter.emit(Unknown Source)
         at org.apache.axis.wsdl.toJava.Emitter.emit(Unknown Source)
         at org.apache.axis.wsdl.WSDL2Java$WSDLRunnable.run(Unknown Source)
         at java.lang.Thread.run(Thread.java:484)

This seems like something that should really be supported.

Reply via email to