incubator-yoko-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From br...@apache.org
Subject svn commit: r546528 [2/7] - in /incubator/yoko/trunk: ./ api/src/main/resources/schemas/wsdl/ bindings/src/main/java/org/apache/yoko/bindings/corba/types/ bindings/src/test/java/org/apache/yoko/bindings/corba/ tools/ tools/src/main/java/org/apache/yoko...
Date Tue, 12 Jun 2007 15:25:50 GMT
Modified: incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLToCorbaBinding.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLToCorbaBinding.java?view=diff&rev=546528&r1=546527&r2=546528
==============================================================================
--- incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLToCorbaBinding.java (original)
+++ incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLToCorbaBinding.java Tue Jun 12 08:25:45 2007
@@ -309,6 +309,8 @@
         } catch (Exception ex) {
             ex.printStackTrace();
         }
+
+        cleanUpTypeMap(typeMappingType);
         
         return binding;
     }
@@ -525,9 +527,6 @@
             corbaTypeImpl = helper.convertSchemaToCorbaType(type, type.getQName(), null, 
                                                             null, anonymous);
             if (corbaTypeImpl != null) {
-                if (corbaTypeImpl.getQName() != null) {
-                    corbaTypeImpl.setQName(null);
-                }
                 if (!helper.isDuplicate(corbaTypeImpl)) {
                     typeMappingType.getStructOrExceptionOrUnion().add(corbaTypeImpl);
                 } 
@@ -591,15 +590,14 @@
                 if (el.isNillable()) {                            
                     QName uname =  
                         helper.createQNameCorbaNamespace(corbaTypeImpl.getQName().getLocalPart() + "_nil");
+                    boolean isQualified = corbaTypeImpl.isSetQualified() && corbaTypeImpl.isQualified();
                     corbaTypeImpl = helper.createNillableUnion(uname, 
                                                                helper.checkPrefix(el.getQName()),
-                                                               helper.checkPrefix(corbaTypeImpl.getQName()));
+                                                               helper.checkPrefix(corbaTypeImpl.getQName()),
+                                                               isQualified);
                 } 
 
                 if (corbaTypeImpl != null) { 
-                    if (corbaTypeImpl.getQName() != null) {
-                        corbaTypeImpl.setQName(null);        
-                    }
                     if (!helper.isDuplicate(corbaTypeImpl)) {
                         typeMappingType.getStructOrExceptionOrUnion().add(corbaTypeImpl);
                     }
@@ -637,11 +635,14 @@
                     MemberType member = new MemberType();
                     member.setName(corbaTypeImpl.getQName().getLocalPart());
                     member.setIdltype(corbaTypeImpl.getQName());
+                    if (corbaTypeImpl.isSetQualified() && corbaTypeImpl.isQualified()) {
+                        member.setQualified(true);
+                    }
                     corbaex.getMember().add(member);
                 }
             } else {
                 QName elementName = part.getElementName();
-                QName schematypeName = helper.checkPrefix(schemaType.getQName());                
+                QName schematypeName = helper.checkPrefix(schemaType.getQName());
                 corbaex = createCorbaException(name, schematypeName, schemaType, elementName);
             }
         } else {            
@@ -664,7 +665,6 @@
             String repoId = helper.REPO_STRING + corbaex.getName().replace('.', '/') + helper.IDL_VERSION;
             corbaex.setRepositoryID(repoId);
             CorbaTypeImpl corbaTypeImpl = (CorbaTypeImpl)corbaex;
-            corbaTypeImpl.setQName(null);            
             if (!helper.isDuplicate(corbaTypeImpl)) {
                 CorbaTypeImpl dup = helper.isDuplicateException(corbaTypeImpl);               
                 if (dup != null) {                    
@@ -688,6 +688,7 @@
         XmlSchemaComplexType complex = null;
 
         if (stype instanceof XmlSchemaComplexType) {
+            QName defaultName = schemaTypeName;
             complex = (XmlSchemaComplexType)stype;
             corbaex = new org.apache.schemas.yoko.bindings.corba.Exception();
             corbaex.setName(name.getLocalPart());
@@ -697,10 +698,12 @@
             } else {
                 corbaex.setQName(helper.checkPrefix(elementName));
                 corbaex.setType(helper.checkPrefix(elementName));
+                defaultName = elementName;
             }            
             corbaex.setRepositoryID(helper.REPO_STRING + "/" + name.getLocalPart() + helper.IDL_VERSION);
-            
-            List attributeMembers = helper.processAttributesAsMembers(complex.getAttributes().getIterator());
+            String uri = defaultName.getNamespaceURI();
+            List attributeMembers = helper.processAttributesAsMembers(complex.getAttributes().getIterator(),
+                                                                      uri);
             Iterator iterator = attributeMembers.iterator();
             while (iterator.hasNext()) {
                 MemberType memberType = (MemberType)iterator.next();
@@ -708,7 +711,7 @@
             }            
             List members = helper.processContainerAsMembers(complex.getParticle(),
                                                             stype.getQName(),
-                                                            schemaTypeName);
+                                                            defaultName);
             Iterator it = members.iterator();
             while (it.hasNext()) {
                 MemberType memberType = (MemberType)it.next();
@@ -859,6 +862,19 @@
     
     public boolean isGenerateAllBindings() {
         return allbindings;
+    }
+
+    public void cleanUpTypeMap(TypeMappingType typeMap) {
+        List<CorbaTypeImpl> types = typeMap.getStructOrExceptionOrUnion();
+        if (types != null) {
+            for (int i = 0; i < types.size(); i++) {
+                CorbaTypeImpl type = types.get(i);
+                if (type.getQName() != null) {
+                    type.setName(type.getQName().getLocalPart());
+                    type.setQName(null);
+                }
+            }
+        }
     }
 
     public void main(String args[]) {

Modified: incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLToCorbaHelper.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLToCorbaHelper.java?view=diff&rev=546528&r1=546527&r2=546528
==============================================================================
--- incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLToCorbaHelper.java (original)
+++ incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLToCorbaHelper.java Tue Jun 12 08:25:45 2007
@@ -57,6 +57,7 @@
 import org.apache.ws.commons.schema.XmlSchemaElement;
 import org.apache.ws.commons.schema.XmlSchemaEnumerationFacet;
 import org.apache.ws.commons.schema.XmlSchemaFacet;
+import org.apache.ws.commons.schema.XmlSchemaForm;
 import org.apache.ws.commons.schema.XmlSchemaLengthFacet;
 import org.apache.ws.commons.schema.XmlSchemaMaxLengthFacet;
 import org.apache.ws.commons.schema.XmlSchemaParticle;
@@ -70,6 +71,7 @@
 import org.apache.ws.commons.schema.XmlSchemaType;
 import org.apache.yoko.tools.common.CorbaPrimitiveMap;
 import org.apache.yoko.tools.common.ReferenceConstants;
+import org.apache.yoko.tools.common.WSDLUtils;
 import org.apache.yoko.wsdl.CorbaConstants;
 import org.apache.yoko.wsdl.CorbaTypeImpl;
 import org.apache.yoko.wsdl.W3CConstants;
@@ -143,7 +145,10 @@
                                                          defaultName, anonymous);
             }  else if (xmlSchemaType.getElementByName(stype.getQName()) != null) {
                 XmlSchemaElement el = xmlSchemaType.getElementByName(stype.getQName());
-                return corbaTypeImpl = processElementType(el, defaultName);
+                //REVISIT, passing ns uri because of a bug in XmlSchema (Bug: WSCOMMONS-69)
+                return corbaTypeImpl = processElementType(el,
+                                                          defaultName,
+                                                          stype.getQName().getNamespaceURI());
             } else {
                 throw new Exception("Couldn't convert schema " + stype.getQName() + " to corba type");
             }
@@ -174,34 +179,44 @@
             
             if (container instanceof XmlSchemaSequence) {
                 XmlSchemaSequence sequence = (XmlSchemaSequence)container;
-                CorbaTypeImpl memberType = processSequenceType(sequence, defaultName, schemaTypeName);
+                CorbaTypeImpl memberType =
+                    processSequenceType(sequence, defaultName, schemaTypeName);          
                 QName typeName = memberType.getQName();
                 if (memberType instanceof Struct) {
-                    memberType.setQName(null);                  
                     if (memberType != null && !isDuplicate(memberType)) {
                         typeMappingType.getStructOrExceptionOrUnion().add(memberType);
                     }                    
-                }
-                
+                }                
                 MemberType member = new MemberType(); 
-                member.setName(memberType.getName() + "_f");                                           
-                member.setIdltype(typeName);                               
+                member.setName(memberType.getName() + "_f");
+                member.setIdltype(typeName);
+                member.setAnonschematype(true);
+                if (memberType.isSetQualified() && memberType.isQualified()) {
+                    member.setQualified(true);
+                }
                 members.add(member);
             } else if (container instanceof XmlSchemaChoice) {
                 XmlSchemaChoice choice = (XmlSchemaChoice)container;
                 MemberType member = processChoiceMember(choice, defaultName, 
                                                         schemaTypeName);
+                member.setAnonschematype(true);
                 members.add(member);
             } else if (container instanceof XmlSchemaAll) {
                 XmlSchemaAll all = (XmlSchemaAll)container;
-                CorbaTypeImpl corbatype = processAllType(all, defaultName, schemaTypeName);
-                MemberType member = new MemberType(); 
-                member.setName(corbatype.getQName().getLocalPart());
-                member.setIdltype(corbatype.getQName());
+                MemberType member = processAllMember(all, defaultName, 
+                                                     schemaTypeName);           
+                member.setAnonschematype(true);
                 members.add(member);
             } else if (container instanceof XmlSchemaElement) {
                 XmlSchemaElement element = (XmlSchemaElement)container;
-                CorbaTypeImpl corbatype = processLocalElement(element);
+                //REVISIT, passing ns uri because of a bug in XmlSchema (Bug: WSCOMMONS-69)
+                String uri;
+                if (schemaTypeName != null) {
+                    uri = schemaTypeName.getNamespaceURI();
+                } else {
+                    uri = defaultName.getNamespaceURI();
+                }
+                CorbaTypeImpl corbatype = processLocalElement(element, schemaTypeName.getNamespaceURI());
 
                 if (corbatype != null) {
                     MemberType member;
@@ -209,11 +224,13 @@
                     member = new MemberType();
                     member.setName(memberName);
                     member.setIdltype(corbatype.getQName());
+                    if (corbatype.isSetQualified() && corbatype.isQualified()) {
+                        member.setQualified(true);
+                    }
                     members.add(member);
                 } else {
-                    String msg = "Unsupported Element Found in CORBA Binding Generation:"
-                                 + element.getQName();
-                    LOG.log(Level.WARNING, msg.toString());
+                    LOG.log(Level.WARNING, "Unsupported Element Found in CORBA Binding Generation:"
+                            + element.getQName());
                 }
             }
         }
@@ -227,6 +244,22 @@
         MemberType member = new MemberType(); 
         member.setName(corbatype.getQName().getLocalPart());
         member.setIdltype(corbatype.getQName());
+        if (corbatype.isSetQualified() && corbatype.isQualified()) {
+            member.setQualified(true);
+        }
+        return member;
+    }
+
+    private MemberType processAllMember(XmlSchemaAll all, QName defaultName,
+        QName schemaTypeName) throws Exception {
+    
+        CorbaTypeImpl corbatype = processAllType(all, defaultName, schemaTypeName);
+        MemberType member = new MemberType(); 
+        member.setName(corbatype.getQName().getLocalPart());
+        member.setIdltype(corbatype.getQName());
+        if (corbatype.isSetQualified() && corbatype.isQualified()) {
+            member.setQualified(true);
+        }
         return member;
     }
     
@@ -252,11 +285,10 @@
         if (!(choice.getMaxOccurs() == 1) || !(choice.getMinOccurs() == 1)) {
             QName name = createQNameTargetNamespace(corbatype.getQName().getLocalPart() + "Array");
             CorbaTypeImpl arrayType = 
-                createArray(name, corbatype.getQName(), corbatype.getQName(), 
-                    choice.getMaxOccurs(), choice.getMinOccurs(), false);
+                createArray(name, corbatype.getQName(), corbatype.getQName(),
+                            choice.getMaxOccurs(), choice.getMinOccurs(), false);
             
             if (arrayType != null) {
-                arrayType.setQName(null);                
                 if (!isDuplicate(arrayType)) {
                     typeMappingType.getStructOrExceptionOrUnion().add(arrayType);
                 }
@@ -265,34 +297,45 @@
         return corbatype;
     }
     
-    private CorbaTypeImpl processLocalElement(XmlSchemaElement element) throws Exception {
+    private CorbaTypeImpl processLocalElement(XmlSchemaElement element, String uri) throws Exception {
         CorbaTypeImpl membertype = new CorbaTypeImpl();
         CorbaTypeImpl memtype = new CorbaTypeImpl();
 
+        // workaround for now - sent bug to WSCommons - the elements
+        // QName should have its namespace included.
+        QName schemaName = element.getQName();
+        if (schemaName.getNamespaceURI().equals("")) {
+            schemaName = new QName(uri, schemaName.getLocalPart());                
+        }
+        QName elemName = schemaName;
+        boolean elementQualified = getElementQualification(element, uri);
+        if (!elementQualified) {
+            elemName = new QName("", elemName.getLocalPart());
+        }
+
         QName memName = null;
         if (element.isNillable()) {
-
-            CorbaTypeImpl elemtype = convertSchemaToCorbaType(element.getSchemaType(), element.getQName(),
+            CorbaTypeImpl elemtype = convertSchemaToCorbaType(element.getSchemaType(), elemName,
                                                               element.getSchemaType(), null, true);
             QName name = createQNameTargetNamespace(elemtype.getQName().getLocalPart() + "_nil");
-            QName elName = checkPrefix(element.getQName());
+            QName elName = checkPrefix(elemName);
             if (elName ==  null) {
-                elName = createQNameTargetNamespace(element.getQName().getLocalPart());
+                elName = createQNameTargetNamespace(elemName.getLocalPart());
             }
-            memtype = createNillableUnion(name, elName, 
-                                          elemtype.getQName());
+            memtype = createNillableUnion(name,
+                                          elName, 
+                                          elemtype.getQName(),
+                                          elementQualified);
             memName = createQNameCorbaNamespace(memtype.getQName().getLocalPart());
                                     
             if (memtype != null) {                          
-                memtype.setQName(null);
                 if (!isDuplicate(memtype)) {
                     typeMappingType.getStructOrExceptionOrUnion().add(memtype);
                 }
             }
             membertype.setQName(memName);
             membertype.setName(memtype.getName());
-            membertype.setType(memtype.getType());
-            
+            membertype.setType(memtype.getType());            
         } else {
             // Need TO DO
             // Need to check if its referencing a type first refname=""
@@ -300,7 +343,7 @@
             if (element.getSchemaType() != null) {
                 XmlSchemaType st = element.getSchemaType();
                 boolean anonymous = WSDLTypes.isAnonymous(st.getName());            
-                membertype = convertSchemaToCorbaType(st, element.getQName(), st, null, anonymous);
+                membertype = convertSchemaToCorbaType(st, elemName, st, null, anonymous);
             } else {                
                 if (element.getSchemaTypeName() != null) {
                     QName name = checkPrefix(element.getSchemaTypeName());
@@ -311,22 +354,13 @@
 
         if (!(element.getMaxOccurs() == 1) || !(element.getMinOccurs() == 1)) {
             QName name = createQNameCorbaNamespace(getModulePrefix(membertype) 
-                                                    + element.getQName().getLocalPart() + "Array");
-            
-            // workaround for now - sent bug to WSCommons - the elements
-            // QName should have its namespace included.
-            QName schemaName = element.getQName();
-            if (schemaName.getNamespaceURI().equals("")) {
-                schemaName = new QName(xmlSchemaList.get(0).getTargetNamespace(), 
-                                       schemaName.getLocalPart());                
-            }
-            
+                                                    + elemName.getLocalPart() + "Array");            
             CorbaTypeImpl arraytype = null;
             if (memName != null) {
-                arraytype = createArray(name, schemaName, memName, 
+                arraytype = createArray(name, schemaName, memName, elemName,
                                         element.getMaxOccurs(), element.getMinOccurs(), false);
             } else {
-                arraytype = createArray(name, schemaName, membertype.getQName(), 
+                arraytype = createArray(name, schemaName, membertype.getQName(), elemName,
                                         element.getMaxOccurs(), element.getMinOccurs(), false);
             }
                         
@@ -335,12 +369,12 @@
             membertype.setType(arraytype.getType());
                         
             if (arraytype != null) {                
-                arraytype.setQName(null);
                 if (!isDuplicate(arraytype)) {
                     typeMappingType.getStructOrExceptionOrUnion().add(arraytype);               
                 }                
             }                   
         }
+        membertype.setQualified(elementQualified);
         return membertype;
     }
 
@@ -396,10 +430,9 @@
         if (!"1".equals(seq.getMaxOccurs()) || !"1".equals(seq.getMinOccurs())) {
             QName name = createQNameTargetNamespace(type.getQName().getLocalPart() + "Array");            
             CorbaTypeImpl atype = createArray(name, type.getQName(), type.getQName(),
-                                           seq.getMaxOccurs(), seq.getMinOccurs(), false);
+                                              seq.getMaxOccurs(), seq.getMinOccurs(), false);
             
             if (atype != null) {
-                atype.setQName(null);               
                 if (!isDuplicate(atype)) {
                     typeMappingType.getStructOrExceptionOrUnion().add(atype);               
                 }
@@ -462,7 +495,6 @@
                 corbatype = WSDLTypes.getOctetCorbaType(name, typeName, 0);
             }
             if (type != null) {
-                type.setQName(null);
                 if (!isDuplicate(type)) {
                     typeMappingType.getStructOrExceptionOrUnion().add(type);
                 }
@@ -471,30 +503,38 @@
         return corbatype;
     }
 
-    protected List<MemberType> processAttributesAsMembers(Iterator attrs) throws Exception {
+    protected List<MemberType> processAttributesAsMembers(Iterator attrs, String uri) throws Exception {
         QName memName = null;
         List <MemberType>members = new ArrayList<MemberType>();
 
         while (attrs.hasNext()) {
             XmlSchemaAttribute attribute = (XmlSchemaAttribute)attrs.next();
+            QName attrName = attribute.getQName();
+            if (attrName.getNamespaceURI().equals("")) {
+                attrName = new QName(uri, attrName.getLocalPart());
+            }
             CorbaTypeImpl membertype = null;
-
+            boolean attrQualified = getAttributeQualification(attribute);
             if (attribute.getUse().getValue().equals("none")
                 || attribute.getUse().getValue().equals(W3CConstants.USE_OPTIONAL)) {                
                 CorbaTypeImpl attType = null;
-                if (attribute.getSchemaType() != null) {                    
+                if (attribute.getSchemaType() != null) {
+                    // REVISIT, edell bug in XmlSchema 1.2. 
+                    // https://issues.apache.org/jira/browse/WSCOMMONS-208
                     attType = convertSchemaToCorbaType(attribute.getSchemaType(), 
-                                                       attribute.getQName(), 
-                                              attribute.getSchemaType(), null, true);                   
+                                                       checkPrefix(attrName), 
+                                                       attribute.getSchemaType(), 
+                                                       null, true);                   
                     if (attType != null) {
                         QName typeName = attType.getQName();
-                        attType.setQName(null);           
                         if (!isDuplicate(attType)) {
                             typeMappingType.getStructOrExceptionOrUnion().add(attType);
                         }
                         QName name =  createQNameTargetNamespace(typeName.getLocalPart() + "_nil");
-                        membertype = createNillableUnion(name, attribute.getQName(), 
-                                     createQNameCorbaNamespace(typeName.getLocalPart()));
+                        membertype = createNillableUnion(name,
+                                                         checkPrefix(attrName),
+                                                         createQNameCorbaNamespace(typeName.getLocalPart()),
+                                                         attrQualified);
                     }
                 } else {
                     attType = processPrimitiveType(attribute.getSchemaTypeName());
@@ -502,22 +542,25 @@
                     //{http://www.w3.org/2005/08/addressing}RelationshipTypeOpenEnum
                     if (attType != null) {
                         QName name =  createQNameTargetNamespace(attType.getQName().getLocalPart() + "_nil");
-                        membertype = createNillableUnion(name, attribute.getQName(), 
-                                                         attType.getQName());
+                        //REVISIT, Edell - bug in Xmlschema 1.2 
+                        // https://issues.apache.org/jira/browse/WSCOMMONS-208
+                        membertype = createNillableUnion(name,
+                                                         checkPrefix(attrName),
+                                                         attType.getQName(),
+                                                         attrQualified);
                     }
 
                 }
                 if (membertype != null) {
                     memName = createQNameCorbaNamespace(membertype.getQName().getLocalPart());
-                    membertype.setQName(null);           
                     if (!isDuplicate(membertype)) {
                         typeMappingType.getStructOrExceptionOrUnion().add(membertype);
                     }
                 }
             } else {
                 if (attribute.getSchemaType() != null) {
-                    membertype = convertSchemaToCorbaType(attribute.getSchemaType(), attribute.getQName(), 
-                                                      attribute.getSchemaType(), null, false);
+                    membertype = convertSchemaToCorbaType(attribute.getSchemaType(), attrName, 
+                                                          attribute.getSchemaType(), null, false);
                 } else {
                     membertype = processPrimitiveType(attribute.getSchemaTypeName());
                 }
@@ -525,7 +568,7 @@
 
             if (membertype != null) {
                 MemberType member;
-                String memberName = attribute.getQName().getLocalPart();
+                String memberName = attrName.getLocalPart();
 
                 member = new MemberType();
                 member.setName(memberName);
@@ -534,10 +577,13 @@
                 } else {
                     member.setIdltype(membertype.getQName());
                 }
+                if (attrQualified) {
+                    member.setQualified(true);
+                }
                 members.add(member);
             } else {
                 String msg = "Unsupported Attribute Found in CORBA Binding Generation:" 
-                    + attribute.getQName();
+                    + attrName;
                 LOG.log(Level.WARNING, msg.toString());            
             }
         }
@@ -546,7 +592,7 @@
     }
 
     
-    private CorbaTypeImpl processElementType(XmlSchemaElement stype, QName defaultName) 
+    private CorbaTypeImpl processElementType(XmlSchemaElement stype, QName defaultName, String uri) 
         throws Exception {
 
         QName schematypeName;
@@ -557,9 +603,11 @@
             schematypeName = createQNameTargetNamespace(stype.getName());
         }
 
-        return convertSchemaToCorbaType(stype.getSchemaType(), schematypeName, 
-                                        stype.getSchemaType(), null, false);
+        CorbaTypeImpl result = convertSchemaToCorbaType(stype.getSchemaType(), schematypeName, 
+                                                        stype.getSchemaType(), null, false);
 
+        result.setQualified(getElementQualification(stype, uri));
+        return result;
     }
 
     private CorbaTypeImpl processSimpleType(XmlSchemaSimpleType stype, QName defaultName, 
@@ -590,13 +638,14 @@
                 itemType = convertSchemaToCorbaType(ltype.getItemType(), name, stype, null, false);
                 if (itemType != null) {
                     return WSDLTypes.mapToSequence(name, checkPrefix(schematypeName), 
-                                                   itemType.getQName(), 0, false);
+                                                   itemType.getQName(), null, 0, false);
                 }
                 return itemType;
             }
             QName ltypeName = createQNameXmlSchemaNamespace(ltype.getItemTypeName().getLocalPart());
             itemType = processPrimitiveType(ltypeName);
-            return WSDLTypes.mapToSequence(name, checkPrefix(schematypeName), itemType.getQName(), 0, false);
+            return WSDLTypes.mapToSequence(name, checkPrefix(schematypeName),
+                                           itemType.getQName(), null, 0, false);
         } else if (stype.getContent() == null) {
             // elements primitive type
             QName stypeName = createQNameXmlSchemaNamespace(stype.getName());
@@ -804,10 +853,19 @@
      */
     protected CorbaTypeImpl createArray(QName name, QName schematypeName, QName arrayType,
                                         Long maxOccurs, Long minOccurs, boolean anonymous) {
+        return createArray(name, schematypeName, arrayType, null, maxOccurs, minOccurs, anonymous);
+    }
+    /**
+     * Create a CORBA Array or Sequence based on min and max Occurs If minOccurs ==
+     * maxOccurs == 1 then log warning and return null. Else if minOccurs is
+     * equal to maxOccurs then create an Array. Else create a Sequence
+     */
+    protected CorbaTypeImpl createArray(QName name, QName schematypeName, QName arrayType, QName elName,
+                                        Long maxOccurs, Long minOccurs, boolean anonymous) {
         
         int max = maxOccurs.intValue();
         if (max == -1) {
-            return WSDLTypes.mapToSequence(name, schematypeName, arrayType, 0, anonymous);
+            return WSDLTypes.mapToSequence(name, schematypeName, arrayType, elName, 0, anonymous);
         }
         
         int min = minOccurs.intValue();        
@@ -820,13 +878,16 @@
                     LOG.log(Level.WARNING, msg.toString());
                     return null;
                 } else {
-                    return WSDLTypes.mapToArray(name, checkPrefix(schematypeName), arrayType, max, anonymous);
+                    return WSDLTypes.mapToArray(name, checkPrefix(schematypeName), arrayType,
+                                                elName, max, anonymous);
                 }
             } else {
-                return WSDLTypes.mapToArray(name, checkPrefix(schematypeName), arrayType, max, anonymous);
+                return WSDLTypes.mapToArray(name, checkPrefix(schematypeName), arrayType,
+                                            elName, max, anonymous);
             }
         } else {
-            return WSDLTypes.mapToSequence(name, checkPrefix(schematypeName), arrayType, max, anonymous);
+            return WSDLTypes.mapToSequence(name, checkPrefix(schematypeName), arrayType,
+                                           elName, max, anonymous);
         }
     }
 
@@ -891,10 +952,15 @@
         // Process attributes at ComplexType level
         if (complex.getAttributes().getIterator() != null) {
             Iterator iterator = complex.getAttributes().getIterator();
-            List attlist2 = processAttributesAsMembers(iterator);
-            MemberType member = new MemberType();
+            String uri;
+            if (schematypeName != null) {
+                uri = schematypeName.getNamespaceURI();
+            } else {
+                uri = defaultName.getNamespaceURI();
+            }
+            List attlist2 = processAttributesAsMembers(iterator, uri);
             for (int i = 0; i < attlist2.size(); i++) {
-                member = (MemberType)attlist2.get(i);
+                MemberType member = (MemberType)attlist2.get(i);
                 corbaStruct.getMember().add(member);
             }
         }
@@ -920,6 +986,13 @@
         List attrMembers = null;
         CorbaTypeImpl basetype = null;
 
+        String uri;
+        if (schematypeName != null) {
+            uri = schematypeName.getNamespaceURI();
+        } else {
+            uri = defaultName.getNamespaceURI();
+        }
+
         if (simpleContent.getContent() instanceof XmlSchemaSimpleContentExtension) {        
             XmlSchemaSimpleContentExtension ext = 
                 (XmlSchemaSimpleContentExtension)simpleContent.getContent();
@@ -928,6 +1001,11 @@
                 basetype = processPrimitiveType(ext.getBaseTypeName());
             }
             
+            if (basetype == null) {
+                base = getSchemaType(ext.getBaseTypeName());
+                basetype = convertSchemaToCorbaType(base, base.getQName(), base, null, false);
+            }
+            
             // process  ext types ????                      
             MemberType basemember = new MemberType();
             basemember.setName("_simpleTypeValue");
@@ -935,20 +1013,18 @@
             basemember.setIdltype(baseTypeName);
             corbaStruct.getMember().add(basemember);
             if (!isDuplicate(basetype)) {
-                basetype.setQName(null);
                 typeMappingType.getStructOrExceptionOrUnion().add(basetype);
             }
-            attrMembers = processAttributesAsMembers(ext.getAttributes().getIterator());
+            attrMembers = processAttributesAsMembers(ext.getAttributes().getIterator(), uri);
         } else if (simpleContent.getContent() instanceof XmlSchemaSimpleContentRestriction) {
             XmlSchemaSimpleContentRestriction restrict 
                 = (XmlSchemaSimpleContentRestriction)simpleContent.getContent();
                         
             base = restrict.getBaseType();
             if (base == null) {
-                basetype = processPrimitiveType(restrict.getBaseTypeName());                
-            } else {
-                basetype = convertSchemaToCorbaType(base, base.getQName(), base, null, false);             
+                base = getSchemaType(restrict.getBaseTypeName());
             }
+            basetype = convertSchemaToCorbaType(base, base.getQName(), base, null, false);
             
             MemberType basemember = new MemberType();
             basemember.setName("_simpleTypeValue");
@@ -956,29 +1032,30 @@
             basemember.setIdltype(baseTypeName);
             corbaStruct.getMember().add(basemember);
             if (!isDuplicate(basetype)) {
-                basetype.setQName(null);
                 typeMappingType.getStructOrExceptionOrUnion().add(basetype);
             }
-            attrMembers = processAttributesAsMembers(restrict.getAttributes().getIterator());
+            attrMembers = processAttributesAsMembers(restrict.getAttributes().getIterator(), uri);
         }
 
         //Deal with Attributes defined in Extension
-        MemberType member = new MemberType();
         for (int i = 0; i < attrMembers.size(); i++) {
-            member = (MemberType)attrMembers.get(i);
+            MemberType member = (MemberType)attrMembers.get(i);
             corbaStruct.getMember().add(member);
         }
 
-        //Process attributes at ComplexType level
-        //List attlist2 = processAttributesAsMembers(simpleContent.unhandledAttributes.);
-        //corbaStruct.getMembers().addAll(attlist2);      
-
         return corbaStruct;
     }
         
     protected Struct processComplexContentStruct(XmlSchemaComplexContent complex, QName defaultName,
                                                  Struct corbaStruct, QName schematypeName)
-        throws Exception {        
+        throws Exception {
+
+        String uri;
+        if (schematypeName != null) {
+            uri = schematypeName.getNamespaceURI();
+        } else {
+            uri = defaultName.getNamespaceURI();
+        }
 
         if (complex.getContent() instanceof XmlSchemaComplexContentExtension) {
             XmlSchemaComplexContentExtension extype 
@@ -996,10 +1073,9 @@
             corbaStruct.getMember().add(memberType);
             
             // process attributes at complexContent level
-            List attlist1 = processAttributesAsMembers(extype.getAttributes().getIterator());
-            MemberType member = new MemberType();
+            List attlist1 = processAttributesAsMembers(extype.getAttributes().getIterator(), uri);
             for (int i = 0; i < attlist1.size(); i++) {
-                member = (MemberType)attlist1.get(i);
+                MemberType member = (MemberType)attlist1.get(i);
                 corbaStruct.getMember().add(member);
             }
             
@@ -1007,6 +1083,7 @@
             if (extype.getParticle() instanceof XmlSchemaChoice) {
                 XmlSchemaChoice choice = (XmlSchemaChoice)extype.getParticle();
                 MemberType choicemem = processComplexContentStructChoice(choice, schematypeName, defaultName);
+                choicemem.setAnonschematype(true);
                 corbaStruct.getMember().add(choicemem);                                
             } else if (extype.getParticle() instanceof  XmlSchemaSequence) {
                 XmlSchemaSequence seq = (XmlSchemaSequence)extype.getParticle();
@@ -1018,9 +1095,12 @@
                     seqmem.setName(seqtype.getQName().getLocalPart() + "_f");
                     QName type = createQNameCorbaNamespace(seqtype.getQName().getLocalPart());
                     seqmem.setIdltype(type);
+                    seqmem.setAnonschematype(true);
+                    if (seqtype.isSetQualified() && seqtype.isQualified()) {
+                        seqmem.setQualified(true);
+                    }
                     corbaStruct.getMember().add(seqmem);
                     if (!isDuplicate(seqtype)) {
-                        seqtype.setQName(null);
                         typeMappingType.getStructOrExceptionOrUnion().add(seqtype);
                     }
                 } else {                    
@@ -1035,9 +1115,12 @@
                     MemberType allmem = new MemberType();
                     allmem.setName(alltype.getQName().getLocalPart() + "_f");
                     allmem.setIdltype(alltype.getQName());
+                    allmem.setAnonschematype(true);
+                    if (alltype.isSetQualified() && alltype.isQualified()) {
+                        allmem.setQualified(true);
+                    }
                     corbaStruct.getMember().add(allmem);
                     if (!isDuplicate(alltype)) {
-                        alltype.setQName(null);
                         typeMappingType.getStructOrExceptionOrUnion().add(alltype);
                     }
                 } else {
@@ -1071,14 +1154,16 @@
         choicemem.setIdltype(createQNameCorbaNamespace(choiceunion.getQName().getLocalPart()));          
         
         if ((choiceunion != null) && (!isDuplicate(choiceunion))) {
-            choiceunion.setQName(null);
             typeMappingType.getStructOrExceptionOrUnion().add(choiceunion);
         }
         
         return choicemem;
     }                    
     
-    protected CorbaTypeImpl createNillableUnion(QName name, QName schemaType, QName membertype) {        
+    protected CorbaTypeImpl createNillableUnion(QName name,
+                                                QName schemaType,
+                                                QName membertype,
+                                                boolean isQualified) {        
         
         Union nilUnion = new Union();
         nilUnion.setName(name.getLocalPart());
@@ -1092,11 +1177,14 @@
         branch.setName("value");
         branch.setIdltype(membertype);
         branch.setDefault(false);
+        if (isQualified) {
+            branch.setQualified(true);
+        }
         CaseType caseType = new CaseType();
         caseType.setLabel("TRUE");
         branch.getCase().add(caseType);
         nilUnion.getUnionbranch().add(branch);       
-        
+        nilUnion.setNillable(true);
         return nilUnion;
     }
     
@@ -1105,6 +1193,7 @@
         // NEED TO DO    
         QName name;
         QName typeName = null;
+
         QName schematypeName = checkPrefix(complex.getQName());
 
         if (schematypeName == null) {
@@ -1119,6 +1208,7 @@
 
         CorbaTypeImpl arrayType = null;
         XmlSchemaElement arrayEl = null;
+        QName elName = null;
         if (complex.getParticle() instanceof XmlSchemaSequence) {
             XmlSchemaSequence seq = (XmlSchemaSequence)complex.getParticle();
             
@@ -1131,8 +1221,21 @@
                     if (atype == null) {
                         atype = getSchemaType(arrayEl.getSchemaTypeName());
                     }
-                    arrayType = convertSchemaToCorbaType(atype, arrayEl.getQName(), 
-                                                         atype, null, true);
+                    elName = arrayEl.getQName();
+                    String uri = defaultName.getNamespaceURI();
+                    if (complex.getQName() != null) {
+                        uri = complex.getQName().getNamespaceURI();
+                    }
+                    if (elName.getNamespaceURI().equals("")) {
+                        elName = new QName(uri, elName.getLocalPart());
+                    }
+                    arrayType = convertSchemaToCorbaType(atype, elName, atype, null, true);
+                    boolean isQualified = getElementQualification(arrayEl, uri);
+                    if (isQualified) {
+                        arrayType.setQualified(isQualified);
+                    } else {
+                        elName = new QName("", elName.getLocalPart());
+                    }
                     typeName = arrayType.getQName();
                 }
             }
@@ -1141,11 +1244,13 @@
         
         if (arrayEl.isNillable()) {
             QName nilunionname = createQNameTargetNamespace(arrayType.getQName().getLocalPart() + "_nil");
-            arrayType = createNillableUnion(nilunionname, arrayEl.getQName(), 
-                            arrayType.getQName());
+            boolean isQualified = arrayType.isSetQualified() && arrayType.isQualified();
+            arrayType = createNillableUnion(nilunionname,
+                                            elName, 
+                                            arrayType.getQName(),
+                                            isQualified);
             typeName = createQNameCorbaNamespace(arrayType.getQName().getLocalPart());
             if (arrayType != null) {
-                arrayType.setQName(null);           
                 if (!isDuplicate(arrayType)) {
                     typeMappingType.getStructOrExceptionOrUnion().add(arrayType);
                 }
@@ -1158,9 +1263,9 @@
             maxOccurs = arrayEl.getMaxOccurs();
             minOccurs = arrayEl.getMinOccurs();
         }
-        
-        return createArray(name, schematypeName, 
-                           checkPrefix(typeName), maxOccurs, minOccurs, anonymous);     
+
+        return createArray(name, schematypeName, checkPrefix(typeName), elName,
+                           maxOccurs, minOccurs, anonymous);     
     }
     
     private CorbaTypeImpl processOMGUnion(XmlSchemaComplexType complex, QName defaultName) throws Exception {
@@ -1405,6 +1510,40 @@
             }
         }
         return false;
+    }
+
+    private boolean getElementQualification(XmlSchemaElement element, String uri) {
+        // workaround for now - sent bug to WSCommons - the elements
+        // QName should have its namespace included.
+        QName schemaName = element.getQName();
+        if (schemaName.getNamespaceURI().equals("")) {
+            schemaName = new QName(uri, schemaName.getLocalPart());                
+        }
+        boolean qualified = false;
+        if (element.getForm().getValue().equals(XmlSchemaForm.QUALIFIED)) {
+            qualified = true;
+        } else {
+            qualified = WSDLUtils.isElementFormQualified(xmlSchemaList, schemaName);
+        }
+        return qualified;
+    }
+
+    private boolean getAttributeQualification(XmlSchemaAttribute attr) {
+        QName schemaName = attr.getQName();
+        /*
+        // workaround for now - sent bug to WSCommons - the attribute
+        // QName should have its namespace included.
+        if (schemaName.getNamespaceURI().equals("")) {
+            schemaName = new QName(uri, schemaName.getLocalPart());                
+        }
+        */
+        boolean qualified = false;
+        if (attr.getForm().getValue().equals(XmlSchemaForm.QUALIFIED)) {
+            qualified = true;
+        } else {
+            qualified = WSDLUtils.isElementFormQualified(xmlSchemaList, schemaName);
+        }
+        return qualified;
     }
 
 }

Modified: incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLTypes.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLTypes.java?view=diff&rev=546528&r1=546527&r2=546528
==============================================================================
--- incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLTypes.java (original)
+++ incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLTypes.java Tue Jun 12 08:25:45 2007
@@ -172,8 +172,8 @@
         return corbaTypeImpl;
     }
     
-    public static CorbaTypeImpl mapToArray(QName name, QName schematypeName, QName arrayType, int bound,
-                                           boolean anonymous) {
+    public static CorbaTypeImpl mapToArray(QName name, QName schematypeName, QName arrayType,
+                                           QName elName, int bound, boolean anonymous) {
         CorbaTypeImpl corbatype = null;
             
         //schematypeName = checkPrefix(schematypeName);
@@ -184,6 +184,7 @@
             corbaArray.setName(name.getLocalPart());
             corbaArray.setType(schematypeName);
             corbaArray.setElemtype(arrayType);
+            corbaArray.setElemname(elName);
             corbaArray.setBound(bound);
             corbaArray.setRepositoryID(WSDLToCorbaHelper.REPO_STRING
                                        + name.getLocalPart().replace('.', '/')
@@ -196,6 +197,7 @@
             corbaArray.setName(name.getLocalPart());
             corbaArray.setType(schematypeName);            
             corbaArray.setElemtype(arrayType);
+            corbaArray.setElemname(elName);
             corbaArray.setBound(bound);
             corbaArray.setQName(name);                        
             corbatype = corbaArray;
@@ -203,8 +205,8 @@
         return corbatype;
     }
 
-    public static CorbaTypeImpl mapToSequence(QName name, QName schematypeName, QName arrayType, int bound,
-                                              boolean anonymous) {
+    public static CorbaTypeImpl mapToSequence(QName name, QName schematypeName, QName arrayType,
+                                              QName elName, int bound, boolean anonymous) {
         CorbaTypeImpl corbaTypeImpl = null;
 
         //schematypeName = checkPrefix(schematypeName);
@@ -215,6 +217,7 @@
             corbaSeq.setQName(name);
             corbaSeq.setType(schematypeName);
             corbaSeq.setElemtype(arrayType);
+            corbaSeq.setElemname(elName);
             corbaSeq.setBound(bound);
             corbaSeq.setRepositoryID(WSDLToCorbaHelper.REPO_STRING
                                      + name.getLocalPart().replace('.', '/')
@@ -227,6 +230,7 @@
             corbaSeq.setQName(name);
             corbaSeq.setType(schematypeName);
             corbaSeq.setElemtype(arrayType);
+            corbaSeq.setElemname(elName);
             corbaSeq.setBound(bound);
 
             corbaTypeImpl = corbaSeq;
@@ -242,6 +246,9 @@
             Unionbranch branch = new Unionbranch();
             branch.setName(field.getName());
             branch.setIdltype(field.getIdltype());
+            if (field.isSetQualified() && field.isQualified()) {
+                branch.setQualified(true);
+            }
             branch.setDefault(false);                         
 
             CaseType c = new CaseType();

Modified: incubator/yoko/trunk/tools/src/test/java/org/apache/yoko/tools/processors/WSDLToCorbaBindingTest.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/tools/src/test/java/org/apache/yoko/tools/processors/WSDLToCorbaBindingTest.java?view=diff&rev=546528&r1=546527&r2=546528
==============================================================================
--- incubator/yoko/trunk/tools/src/test/java/org/apache/yoko/tools/processors/WSDLToCorbaBindingTest.java (original)
+++ incubator/yoko/trunk/tools/src/test/java/org/apache/yoko/tools/processors/WSDLToCorbaBindingTest.java Tue Jun 12 08:25:45 2007
@@ -95,10 +95,11 @@
             generator.addInterfaceName("IACC.Server");
 
             Definition model = generator.generateCORBABinding();
+
             Document document = writer.getDocument(model);
 
             Element typemap = getElementNode(document, "corba:typeMapping");
-            //assertNotNull(typemap);
+            assertNotNull(typemap);
             assertEquals(2, typemap.getElementsByTagName("corba:sequence").getLength());
             assertEquals(5, typemap.getElementsByTagName("corba:exception").getLength());
             assertEquals(70, typemap.getElementsByTagName("corba:struct").getLength());
@@ -130,7 +131,6 @@
         
         Element bindingElement = getElementNode(document, "binding");        
         assertEquals(5, bindingElement.getElementsByTagName("corba:operation").getLength());
-
         QName bName = new QName("http://schemas.apache.org/idl/fixed.idl", 
                                 "YCORBABinding", "tns");
         Binding binding = model.getBinding(bName);

Modified: incubator/yoko/trunk/tools/src/test/java/org/apache/yoko/tools/processors/WSDLToCorbaBindingTypeTest.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/tools/src/test/java/org/apache/yoko/tools/processors/WSDLToCorbaBindingTypeTest.java?view=diff&rev=546528&r1=546527&r2=546528
==============================================================================
--- incubator/yoko/trunk/tools/src/test/java/org/apache/yoko/tools/processors/WSDLToCorbaBindingTypeTest.java (original)
+++ incubator/yoko/trunk/tools/src/test/java/org/apache/yoko/tools/processors/WSDLToCorbaBindingTypeTest.java Tue Jun 12 08:25:45 2007
@@ -21,6 +21,7 @@
 
 import java.io.File;
 import java.util.Iterator;
+import java.util.List;
 
 import javax.wsdl.Definition;
 import javax.wsdl.xml.WSDLWriter;
@@ -54,7 +55,6 @@
     }
 
     protected void setUp() {
-        System.setProperty("UseWSDLModelCaching", "false");
         generator = new WSDLToCorbaBinding();
         try {
             WSDLCorbaFactory wsdlfactory = WSDLCorbaFactory
@@ -67,7 +67,6 @@
     }
 
     protected void tearDown() {
-        System.setProperty("UseWSDLModelCaching", "true");
     }
 
     public static void main(String args[]) {
@@ -83,7 +82,7 @@
         }
         return null;
     }
-    
+
     public void testWsAddressingAccountType() throws Exception {
         
         try {
@@ -164,35 +163,6 @@
         }
     }
 
-
-    /*public void testRecursionTypes() throws Exception {
-        
-        try {
-            String fileName = getClass().getResource("/wsdl/mutualRecursions.wsdl").toString();
-            generator.setWsdlFile(fileName);
-            generator.addInterfaceName("testPortType");
-
-            Definition model = generator.generateCORBABinding();
-            Document document = writer.getDocument(model);
-
-            Element typemap = getElementNode(document, "corba:typeMapping");            
-            assertNotNull(typemap);
-            //assertEquals(2, typemap.getElementsByTagName("corba:union").getLength());
-            //assertEquals(2, typemap.getElementsByTagName("corba:struct").getLength());
-
-            WSDLToIDLAction idlgen = new WSDLToIDLAction();
-            idlgen.setBindingName("testCORBABinding");
-            idlgen.setOutputFile("mutualRecursions.idl");
-            idlgen.generateIDL(model);
-                        
-            File f = new File("mutualRecursions.idl");
-            assertTrue("mutualRecursions.idl should be generated", f.exists()); 
-        } finally {
-            new File("mutualRecursions.idl").deleteOnExit();
-        }
-    }*/
-
-    
     public void testDateTimeTypes() throws Exception {
         
         try {
@@ -255,6 +225,8 @@
             generator.addInterfaceName("X");
 
             Definition model = generator.generateCORBABinding();
+
+
             Document document = writer.getDocument(model);
 
             Element typemap = getElementNode(document, "corba:typeMapping");            
@@ -263,7 +235,7 @@
             assertEquals(14, typemap.getElementsByTagName("corba:struct").getLength());
             assertEquals(1, typemap.getElementsByTagName("corba:enum").getLength());
             assertEquals(1, typemap.getElementsByTagName("corba:array").getLength());
-            
+
             WSDLToIDLAction idlgen = new WSDLToIDLAction();
             idlgen.setBindingName("XCORBABinding");
             idlgen.setOutputFile("nested_complex.idl");
@@ -285,6 +257,7 @@
             generator.addInterfaceName("DerivedTypesPortType");
 
             Definition model = generator.generateCORBABinding();
+
             Document document = writer.getDocument(model);
 
             Element typemap = getElementNode(document, "corba:typeMapping");            
@@ -292,7 +265,7 @@
             assertEquals(6, typemap.getElementsByTagName("corba:union").getLength());
             assertEquals(58, typemap.getElementsByTagName("corba:struct").getLength());
             assertEquals(3, typemap.getElementsByTagName("corba:sequence").getLength());
-            
+
             WSDLToIDLAction idlgen = new WSDLToIDLAction();
             idlgen.setBindingName("DerivedTypesCORBABinding");
             idlgen.setOutputFile("nested-derivedtypes.idl");
@@ -378,7 +351,6 @@
     
     // tests Type Inheritance and attributes.
     public void testTypeInheritance() throws Exception {
-        
         try {
             String fileName = getClass().getResource("/wsdl/TypeInheritance.wsdl").toString();
             generator.setWsdlFile(fileName);
@@ -400,29 +372,23 @@
             idlgen.setOutputFile("typeInherit.idl");
             idlgen.generateIDL(model);
 
-            Struct structType = (Struct)mapType.getStructOrExceptionOrUnion().get(0);
-            assertEquals("Name is incorrect for Struct Type", "Type5SequenceStruct", 
-                         structType.getName());
-            assertEquals("Type is incorrect for AnonSequence Type", "Type5", 
-                    structType.getType().getLocalPart());            
-           
-            Anonstring str = (Anonstring)mapType.getStructOrExceptionOrUnion().get(6);
-            assertEquals("Name is incorrect for AnonString Type", "attrib2Type", 
-                         str.getName());
-            assertEquals("Type is incorrect for AnonString Type", "string", 
-                         str.getType().getLocalPart());            
-
-            Union un = (Union)mapType.getStructOrExceptionOrUnion().get(7);
-            assertEquals("Name is incorrect for Union Type", "attrib2Type_nil", 
-                         un.getName());
-            assertEquals("Type is incorrect for Union Type", "attrib2", 
-                         un.getType().getLocalPart());
-            Unionbranch unbranch = un.getUnionbranch().get(0);
-            assertEquals("Name is incorrect for UnionBranch Type", "value", 
-                         unbranch.getName());
-            assertEquals("Type is incorrect for UnionBranch Type", "attrib2Type", 
-                         unbranch.getIdltype().getLocalPart());
-
+            List<CorbaTypeImpl> types = mapType.getStructOrExceptionOrUnion();
+            for (int i = 0; i < types.size(); i++) {
+                CorbaTypeImpl type = types.get(i);
+                if ("Type5SequenceStruct".equals(type.getName())) {
+                    assertTrue("Name is incorrect for Type5SequenceStruct Type", (type instanceof Struct));
+                    assertEquals("Type is incorrect for AnonSequence Type", "Type5", 
+                                 type.getType().getLocalPart());
+                } else if ("attrib2Type".equals(type.getName())) {
+                    assertTrue("Name is incorrect for attrib2Type Type", (type instanceof Anonstring));
+                    assertEquals("Type is incorrect for AnonString Type", "string", 
+                                 type.getType().getLocalPart());
+                }  else if ("attrib2Type_nil".equals(type.getName())) {
+                    assertTrue("Name is incorrect for Struct Type", (type instanceof Union));
+                    assertEquals("Type is incorrect for AnonSequence Type", "attrib2", 
+                                 type.getType().getLocalPart());
+                }
+            }
             File f = new File("typeInherit.idl");
             assertTrue("typeInherit.idl should be generated", f.exists()); 
         } finally {
@@ -497,15 +463,14 @@
 
             Definition model = generator.generateCORBABinding();
             Document document = writer.getDocument(model);
-
             Element typemap = getElementNode(document, "corba:typeMapping");            
-            //assertNotNull(typemap);
-            assertEquals(3, typemap.getElementsByTagName("corba:anonsequence").getLength());            
+            assertNotNull(typemap);
+            assertEquals(3, typemap.getElementsByTagName("corba:anonsequence").getLength());         
             assertEquals(2, typemap.getElementsByTagName("corba:anonarray").getLength());
             assertEquals(1, typemap.getElementsByTagName("corba:array").getLength());
             assertEquals(2, typemap.getElementsByTagName("corba:struct").getLength());            
-            
-            TypeMappingType mapType = (TypeMappingType)model.getExtensibilityElements().get(0);            
+
+            TypeMappingType mapType = (TypeMappingType)model.getExtensibilityElements().get(0);
 
             WSDLToIDLAction idlgen = new WSDLToIDLAction();
             idlgen.setBindingName("XCORBABinding");
@@ -624,14 +589,16 @@
             generator.addInterfaceName("TypeTestPortType");
 
             Definition model = generator.generateCORBABinding();
+            
             Document document = writer.getDocument(model);
             Element typemap = getElementNode(document, "corba:typeMapping");            
             assertNotNull(typemap);            
-            assertEquals(7, typemap.getElementsByTagName("corba:struct").getLength());
+            assertEquals(8, typemap.getElementsByTagName("corba:struct").getLength());
             assertEquals(1, typemap.getElementsByTagName("corba:fixed").getLength());
             assertEquals(1, typemap.getElementsByTagName("corba:array").getLength());
             assertEquals(5, typemap.getElementsByTagName("corba:union").getLength());
             assertEquals(3, typemap.getElementsByTagName("corba:sequence").getLength());
+            
         } finally {
             new File("complex_types-corba.wsdl").deleteOnExit();
         }

Modified: incubator/yoko/trunk/tools/src/test/resources/idl/expected_Anonarray.wsdl
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/tools/src/test/resources/idl/expected_Anonarray.wsdl?view=diff&rev=546528&r1=546527&r2=546528
==============================================================================
--- incubator/yoko/trunk/tools/src/test/resources/idl/expected_Anonarray.wsdl (original)
+++ incubator/yoko/trunk/tools/src/test/resources/idl/expected_Anonarray.wsdl Tue Jun 12 08:25:45 2007
@@ -19,70 +19,70 @@
 -->
 <wsdl:definitions targetNamespace="http://schemas.apache.org/yoko/idl/Anonarray" xmlns:tns="http://schemas.apache.org/yoko/idl/Anonarray" xmlns:corba="http://schemas.apache.org/yoko/bindings/corba" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
   <corba:typeMapping targetNamespace="http://schemas.apache.org/yoko/idl/Anonarray/typemap">
-    <corba:anonarray xmlns="http://schemas.apache.org/yoko/idl/Anonarray/typemap" bound="2" name="anonStruct._1_structLongArray" type="corba:long" />
-    <corba:anonarray xmlns="http://schemas.apache.org/yoko/idl/Anonarray/typemap" bound="4" name="anonStruct._1_structLongArrayArray" type="corba:long" />
-    <corba:anonarray xmlns="http://schemas.apache.org/yoko/idl/Anonarray/typemap" bound="2" name="anonStruct._2_structLongArrayArray" type="anonStruct._1_structLongArrayArray" />
-    <corba:anonarray xmlns="http://schemas.apache.org/yoko/idl/Anonarray/typemap" bound="8" name="anonStruct._1_structLongArrayArrayArray" type="corba:long" />
-    <corba:anonarray xmlns="http://schemas.apache.org/yoko/idl/Anonarray/typemap" bound="4" name="anonStruct._2_structLongArrayArrayArray" type="anonStruct._1_structLongArrayArrayArray" />
-    <corba:anonarray xmlns="http://schemas.apache.org/yoko/idl/Anonarray/typemap" bound="2" name="anonStruct._3_structLongArrayArrayArray" type="anonStruct._2_structLongArrayArrayArray" />
-    <corba:struct xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonarray" xmlns="http://schemas.apache.org/yoko/idl/Anonarray/typemap" repositoryID="IDL:anonStruct:1.0" name="anonStruct" type="ns4:anonStruct">
-      <corba:member name="structLongArray" idltype="anonStruct._1_structLongArray" />
-      <corba:member name="structLongArrayArray" idltype="anonStruct._2_structLongArrayArray" />
-      <corba:member name="structLongArrayArrayArray" idltype="anonStruct._3_structLongArrayArrayArray" />
+    <corba:anonarray xmlns="" elemname="item" bound="2" type="corba:long" name="anonStruct._1_structLongArray" />
+    <corba:anonarray xmlns="" elemname="item" bound="4" type="corba:long" name="anonStruct._1_structLongArrayArray" />
+    <corba:anonarray xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonarray/typemap" xmlns="" elemname="item" bound="2" type="ns4:anonStruct._1_structLongArrayArray" name="anonStruct._2_structLongArrayArray" />
+    <corba:anonarray xmlns="" elemname="item" bound="8" type="corba:long" name="anonStruct._1_structLongArrayArrayArray" />
+    <corba:anonarray xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonarray/typemap" xmlns="" elemname="item" bound="4" type="ns4:anonStruct._1_structLongArrayArrayArray" name="anonStruct._2_structLongArrayArrayArray" />
+    <corba:anonarray xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonarray/typemap" xmlns="" elemname="item" bound="2" type="ns4:anonStruct._2_structLongArrayArrayArray" name="anonStruct._3_structLongArrayArrayArray" />
+    <corba:struct xmlns="http://schemas.apache.org/yoko/idl/Anonarray" repositoryID="IDL:anonStruct:1.0" type="anonStruct" name="anonStruct">
+      <corba:member xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonarray/typemap" name="structLongArray" idltype="ns4:anonStruct._1_structLongArray" />
+      <corba:member xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonarray/typemap" name="structLongArrayArray" idltype="ns4:anonStruct._2_structLongArrayArray" />
+      <corba:member xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonarray/typemap" name="structLongArrayArrayArray" idltype="ns4:anonStruct._3_structLongArrayArrayArray" />
     </corba:struct>
-    <corba:anonarray xmlns="http://schemas.apache.org/yoko/idl/Anonarray/typemap" bound="2" name="anonTypedefStruct._1_typedefStructLongArray" type="corba:long" />
-    <corba:anonarray xmlns="http://schemas.apache.org/yoko/idl/Anonarray/typemap" bound="4" name="anonTypedefStruct._1_typedefStructLongArrayArray" type="corba:long" />
-    <corba:anonarray xmlns="http://schemas.apache.org/yoko/idl/Anonarray/typemap" bound="2" name="anonTypedefStruct._2_typedefStructLongArrayArray" type="anonTypedefStruct._1_typedefStructLongArrayArray" />
-    <corba:anonarray xmlns="http://schemas.apache.org/yoko/idl/Anonarray/typemap" bound="8" name="anonTypedefStruct._1_typedefStructLongArrayArrayArray" type="corba:long" />
-    <corba:anonarray xmlns="http://schemas.apache.org/yoko/idl/Anonarray/typemap" bound="4" name="anonTypedefStruct._2_typedefStructLongArrayArrayArray" type="anonTypedefStruct._1_typedefStructLongArrayArrayArray" />
-    <corba:anonarray xmlns="http://schemas.apache.org/yoko/idl/Anonarray/typemap" bound="2" name="anonTypedefStruct._3_typedefStructLongArrayArrayArray" type="anonTypedefStruct._2_typedefStructLongArrayArrayArray" />
-    <corba:struct xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonarray" xmlns="http://schemas.apache.org/yoko/idl/Anonarray/typemap" repositoryID="IDL:anonTypedefStruct:1.0" name="anonTypedefStruct" type="ns4:anonTypedefStruct">
-      <corba:member name="typedefStructLongArray" idltype="anonTypedefStruct._1_typedefStructLongArray" />
-      <corba:member name="typedefStructLongArrayArray" idltype="anonTypedefStruct._2_typedefStructLongArrayArray" />
-      <corba:member name="typedefStructLongArrayArrayArray" idltype="anonTypedefStruct._3_typedefStructLongArrayArrayArray" />
+    <corba:anonarray xmlns="" elemname="item" bound="2" type="corba:long" name="anonTypedefStruct._1_typedefStructLongArray" />
+    <corba:anonarray xmlns="" elemname="item" bound="4" type="corba:long" name="anonTypedefStruct._1_typedefStructLongArrayArray" />
+    <corba:anonarray xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonarray/typemap" xmlns="" elemname="item" bound="2" type="ns4:anonTypedefStruct._1_typedefStructLongArrayArray" name="anonTypedefStruct._2_typedefStructLongArrayArray" />
+    <corba:anonarray xmlns="" elemname="item" bound="8" type="corba:long" name="anonTypedefStruct._1_typedefStructLongArrayArrayArray" />
+    <corba:anonarray xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonarray/typemap" xmlns="" elemname="item" bound="4" type="ns4:anonTypedefStruct._1_typedefStructLongArrayArrayArray" name="anonTypedefStruct._2_typedefStructLongArrayArrayArray" />
+    <corba:anonarray xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonarray/typemap" xmlns="" elemname="item" bound="2" type="ns4:anonTypedefStruct._2_typedefStructLongArrayArrayArray" name="anonTypedefStruct._3_typedefStructLongArrayArrayArray" />
+    <corba:struct xmlns="http://schemas.apache.org/yoko/idl/Anonarray" repositoryID="IDL:anonTypedefStruct:1.0" type="anonTypedefStruct" name="anonTypedefStruct">
+      <corba:member xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonarray/typemap" name="typedefStructLongArray" idltype="ns4:anonTypedefStruct._1_typedefStructLongArray" />
+      <corba:member xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonarray/typemap" name="typedefStructLongArrayArray" idltype="ns4:anonTypedefStruct._2_typedefStructLongArrayArray" />
+      <corba:member xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonarray/typemap" name="typedefStructLongArrayArrayArray" idltype="ns4:anonTypedefStruct._3_typedefStructLongArrayArrayArray" />
     </corba:struct>
     <corba:alias xmlns="http://schemas.apache.org/yoko/idl/Anonarray/typemap" basetype="anonTypedefStruct" repositoryID="IDL:myAnonTypedefStruct:1.0" name="myAnonTypedefStruct" />
-    <corba:anonarray xmlns="http://schemas.apache.org/yoko/idl/Anonarray/typemap" bound="2" name="anonUnion._1_anonUnion" type="corba:long" />
-    <corba:anonarray xmlns="http://schemas.apache.org/yoko/idl/Anonarray/typemap" bound="4" name="anonUnion._2_anonUnion" type="corba:long" />
-    <corba:anonarray xmlns="http://schemas.apache.org/yoko/idl/Anonarray/typemap" bound="2" name="anonUnion._3_anonUnion" type="anonUnion._2_anonUnion" />
-    <corba:anonarray xmlns="http://schemas.apache.org/yoko/idl/Anonarray/typemap" bound="8" name="anonUnion._4_anonUnion" type="corba:long" />
-    <corba:anonarray xmlns="http://schemas.apache.org/yoko/idl/Anonarray/typemap" bound="4" name="anonUnion._5_anonUnion" type="anonUnion._4_anonUnion" />
-    <corba:anonarray xmlns="http://schemas.apache.org/yoko/idl/Anonarray/typemap" bound="2" name="anonUnion._6_anonUnion" type="anonUnion._5_anonUnion" />
-    <corba:union xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonarray" xmlns="http://schemas.apache.org/yoko/idl/Anonarray/typemap" discriminator="corba:long" repositoryID="IDL:anonUnion:1.0" name="anonUnion" type="ns4:anonUnion">
-      <corba:unionbranch name="unionLongArray" idltype="anonUnion._1_anonUnion">
+    <corba:anonarray xmlns="" elemname="item" bound="2" type="corba:long" name="anonUnion._1_anonUnion" />
+    <corba:anonarray xmlns="" elemname="item" bound="4" type="corba:long" name="anonUnion._2_anonUnion" />
+    <corba:anonarray xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonarray/typemap" xmlns="" elemname="item" bound="2" type="ns4:anonUnion._2_anonUnion" name="anonUnion._3_anonUnion" />
+    <corba:anonarray xmlns="" elemname="item" bound="8" type="corba:long" name="anonUnion._4_anonUnion" />
+    <corba:anonarray xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonarray/typemap" xmlns="" elemname="item" bound="4" type="ns4:anonUnion._4_anonUnion" name="anonUnion._5_anonUnion" />
+    <corba:anonarray xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonarray/typemap" xmlns="" elemname="item" bound="2" type="ns4:anonUnion._5_anonUnion" name="anonUnion._6_anonUnion" />
+    <corba:union xmlns="http://schemas.apache.org/yoko/idl/Anonarray" discriminator="corba:long" repositoryID="IDL:anonUnion:1.0" type="anonUnion" name="anonUnion">
+      <corba:unionbranch xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonarray/typemap" name="unionLongArray" idltype="ns4:anonUnion._1_anonUnion">
         <corba:case label="1" />
       </corba:unionbranch>
-      <corba:unionbranch name="unionLongArrayArray" idltype="anonUnion._3_anonUnion">
+      <corba:unionbranch xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonarray/typemap" name="unionLongArrayArray" idltype="ns4:anonUnion._3_anonUnion">
         <corba:case label="2" />
       </corba:unionbranch>
-      <corba:unionbranch name="unionLongArrayArrayArray" idltype="anonUnion._6_anonUnion" default="true" />
+      <corba:unionbranch xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonarray/typemap" name="unionLongArrayArrayArray" idltype="ns4:anonUnion._6_anonUnion" default="true" />
     </corba:union>
-    <corba:anonarray xmlns="http://schemas.apache.org/yoko/idl/Anonarray/typemap" bound="2" name="anonTypedefUnion._1_anonTypedefUnion" type="corba:long" />
-    <corba:anonarray xmlns="http://schemas.apache.org/yoko/idl/Anonarray/typemap" bound="4" name="anonTypedefUnion._2_anonTypedefUnion" type="corba:long" />
-    <corba:anonarray xmlns="http://schemas.apache.org/yoko/idl/Anonarray/typemap" bound="2" name="anonTypedefUnion._3_anonTypedefUnion" type="anonTypedefUnion._2_anonTypedefUnion" />
-    <corba:anonarray xmlns="http://schemas.apache.org/yoko/idl/Anonarray/typemap" bound="8" name="anonTypedefUnion._4_anonTypedefUnion" type="corba:long" />
-    <corba:anonarray xmlns="http://schemas.apache.org/yoko/idl/Anonarray/typemap" bound="4" name="anonTypedefUnion._5_anonTypedefUnion" type="anonTypedefUnion._4_anonTypedefUnion" />
-    <corba:anonarray xmlns="http://schemas.apache.org/yoko/idl/Anonarray/typemap" bound="2" name="anonTypedefUnion._6_anonTypedefUnion" type="anonTypedefUnion._5_anonTypedefUnion" />
-    <corba:union xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonarray" xmlns="http://schemas.apache.org/yoko/idl/Anonarray/typemap" discriminator="corba:long" repositoryID="IDL:anonTypedefUnion:1.0" name="anonTypedefUnion" type="ns4:anonTypedefUnion">
-      <corba:unionbranch name="unionLongArray" idltype="anonTypedefUnion._1_anonTypedefUnion">
+    <corba:anonarray xmlns="" elemname="item" bound="2" type="corba:long" name="anonTypedefUnion._1_anonTypedefUnion" />
+    <corba:anonarray xmlns="" elemname="item" bound="4" type="corba:long" name="anonTypedefUnion._2_anonTypedefUnion" />
+    <corba:anonarray xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonarray/typemap" xmlns="" elemname="item" bound="2" type="ns4:anonTypedefUnion._2_anonTypedefUnion" name="anonTypedefUnion._3_anonTypedefUnion" />
+    <corba:anonarray xmlns="" elemname="item" bound="8" type="corba:long" name="anonTypedefUnion._4_anonTypedefUnion" />
+    <corba:anonarray xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonarray/typemap" xmlns="" elemname="item" bound="4" type="ns4:anonTypedefUnion._4_anonTypedefUnion" name="anonTypedefUnion._5_anonTypedefUnion" />
+    <corba:anonarray xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonarray/typemap" xmlns="" elemname="item" bound="2" type="ns4:anonTypedefUnion._5_anonTypedefUnion" name="anonTypedefUnion._6_anonTypedefUnion" />
+    <corba:union xmlns="http://schemas.apache.org/yoko/idl/Anonarray" discriminator="corba:long" repositoryID="IDL:anonTypedefUnion:1.0" type="anonTypedefUnion" name="anonTypedefUnion">
+      <corba:unionbranch xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonarray/typemap" name="unionLongArray" idltype="ns4:anonTypedefUnion._1_anonTypedefUnion">
         <corba:case label="1" />
       </corba:unionbranch>
-      <corba:unionbranch name="unionLongArrayArray" idltype="anonTypedefUnion._3_anonTypedefUnion">
+      <corba:unionbranch xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonarray/typemap" name="unionLongArrayArray" idltype="ns4:anonTypedefUnion._3_anonTypedefUnion">
         <corba:case label="2" />
       </corba:unionbranch>
-      <corba:unionbranch name="unionLongArrayArrayArray" idltype="anonTypedefUnion._6_anonTypedefUnion" default="true" />
+      <corba:unionbranch xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonarray/typemap" name="unionLongArrayArrayArray" idltype="ns4:anonTypedefUnion._6_anonTypedefUnion" default="true" />
     </corba:union>
     <corba:alias xmlns="http://schemas.apache.org/yoko/idl/Anonarray/typemap" basetype="anonTypedefUnion" repositoryID="IDL:myAnonUnion:1.0" name="myAnonUnion" />
-    <corba:anonarray xmlns="http://schemas.apache.org/yoko/idl/Anonarray/typemap" bound="2" name="anonException._1_exceptionLongArray" type="corba:long" />
-    <corba:anonarray xmlns="http://schemas.apache.org/yoko/idl/Anonarray/typemap" bound="4" name="anonException._1_exceptionLongArrayArray" type="corba:long" />
-    <corba:anonarray xmlns="http://schemas.apache.org/yoko/idl/Anonarray/typemap" bound="2" name="anonException._2_exceptionLongArrayArray" type="anonException._1_exceptionLongArrayArray" />
-    <corba:anonarray xmlns="http://schemas.apache.org/yoko/idl/Anonarray/typemap" bound="8" name="anonException._1_exceptionLongArrayArrayArray" type="corba:long" />
-    <corba:anonarray xmlns="http://schemas.apache.org/yoko/idl/Anonarray/typemap" bound="4" name="anonException._2_exceptionLongArrayArrayArray" type="anonException._1_exceptionLongArrayArrayArray" />
-    <corba:anonarray xmlns="http://schemas.apache.org/yoko/idl/Anonarray/typemap" bound="2" name="anonException._3_exceptionLongArrayArrayArray" type="anonException._2_exceptionLongArrayArrayArray" />
-    <corba:exception xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonarray" xmlns="http://schemas.apache.org/yoko/idl/Anonarray/typemap" repositoryID="IDL:anonException:1.0" name="anonException" type="ns4:anonExceptionType">
-      <corba:member name="exceptionLongArray" idltype="anonException._1_exceptionLongArray" />
-      <corba:member name="exceptionLongArrayArray" idltype="anonException._2_exceptionLongArrayArray" />
-      <corba:member name="exceptionLongArrayArrayArray" idltype="anonException._3_exceptionLongArrayArrayArray" />
+    <corba:anonarray xmlns="" elemname="item" bound="2" type="corba:long" name="anonException._1_exceptionLongArray" />
+    <corba:anonarray xmlns="" elemname="item" bound="4" type="corba:long" name="anonException._1_exceptionLongArrayArray" />
+    <corba:anonarray xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonarray/typemap" xmlns="" elemname="item" bound="2" type="ns4:anonException._1_exceptionLongArrayArray" name="anonException._2_exceptionLongArrayArray" />
+    <corba:anonarray xmlns="" elemname="item" bound="8" type="corba:long" name="anonException._1_exceptionLongArrayArrayArray" />
+    <corba:anonarray xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonarray/typemap" xmlns="" elemname="item" bound="4" type="ns4:anonException._1_exceptionLongArrayArrayArray" name="anonException._2_exceptionLongArrayArrayArray" />
+    <corba:anonarray xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonarray/typemap" xmlns="" elemname="item" bound="2" type="ns4:anonException._2_exceptionLongArrayArrayArray" name="anonException._3_exceptionLongArrayArrayArray" />
+    <corba:exception xmlns="http://schemas.apache.org/yoko/idl/Anonarray" repositoryID="IDL:anonException:1.0" type="anonExceptionType" name="anonException">
+      <corba:member xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonarray/typemap" name="exceptionLongArray" idltype="ns4:anonException._1_exceptionLongArray" />
+      <corba:member xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonarray/typemap" name="exceptionLongArrayArray" idltype="ns4:anonException._2_exceptionLongArrayArray" />
+      <corba:member xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonarray/typemap" name="exceptionLongArrayArrayArray" idltype="ns4:anonException._3_exceptionLongArrayArrayArray" />
     </corba:exception>
   </corba:typeMapping>
   <wsdl:types>



Mime
View raw message