You are viewing a plain text version of this content. The canonical link for it is here.
Posted to yoko-commits@incubator.apache.org by en...@apache.org on 2006/08/02 13:20:19 UTC

svn commit: r427973 - in /incubator/yoko/trunk/tools/src: main/java/org/apache/yoko/tools/common/idltypes/ main/java/org/apache/yoko/tools/processors/wsdl/ test/java/org/apache/yoko/tools/processors/ test/resources/idlgen/ test/resources/wsdl/

Author: enolan
Date: Wed Aug  2 06:20:17 2006
New Revision: 427973

URL: http://svn.apache.org/viewvc?rev=427973&view=rev
Log:
Workaround for xmlSchemaElements that have their namespaceURI empty and array support in the idl generation.


Added:
    incubator/yoko/trunk/tools/src/test/resources/idlgen/array.wsdl   (with props)
    incubator/yoko/trunk/tools/src/test/resources/idlgen/expected_array.idl
    incubator/yoko/trunk/tools/src/test/resources/wsdl/array.wsdl   (with props)
Modified:
    incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/common/idltypes/IdlArrayBase.java
    incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLToCorbaBinding.java
    incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLToIDLAction.java
    incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLToProcessor.java
    incubator/yoko/trunk/tools/src/test/java/org/apache/yoko/tools/processors/WSDLToCorbaBindingTest.java
    incubator/yoko/trunk/tools/src/test/java/org/apache/yoko/tools/processors/WSDLToIDLGenerationTest.java

Modified: incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/common/idltypes/IdlArrayBase.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/common/idltypes/IdlArrayBase.java?rev=427973&r1=427972&r2=427973&view=diff
==============================================================================
--- incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/common/idltypes/IdlArrayBase.java (original)
+++ incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/common/idltypes/IdlArrayBase.java Wed Aug  2 06:20:17 2006
@@ -46,7 +46,7 @@
             elemType = elem;
         }
         
-        dims.add(new Integer(size), 0);        
+        dims.add(0, new Integer(size));            
     }
 
     public void write(PrintWriter pw) {

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?rev=427973&r1=427972&r2=427973&view=diff
==============================================================================
--- 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 Wed Aug  2 06:20:17 2006
@@ -693,7 +693,7 @@
     }
     
     private CorbaTypeImpl processLocalElement(XmlSchemaElement element) throws Exception {
-        CorbaTypeImpl membertype = null;
+        CorbaTypeImpl membertype = new CorbaTypeImpl();
 
         if (element.isNillable()) {
 
@@ -707,19 +707,31 @@
         }
 
         if (!(element.getMaxOccurs() == 1) || !(element.getMinOccurs() == 1)) {
-            QName name = createQNameTargetNamespace(getModulePrefix(membertype) 
+            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());                
+            }
+            
             CorbaTypeImpl arraytype = 
-                createArray(name, element.getQName(), membertype.getQName(), element.getMaxOccurs(),
+                createArray(name, schemaName, membertype.getQName(), element.getMaxOccurs(),
                                      element.getMinOccurs(), false);
-
-            if (arraytype != null) {
+                        
+            membertype.setName(arraytype.getName());
+            membertype.setQName(arraytype.getQName());
+            membertype.setType(arraytype.getType());
+            
+            if (arraytype != null) {                
                 arraytype.setQName(null);
                 if (!isDuplicate(arraytype)) {
                     typeMappingType.getStructOrExceptionOrUnion().add(arraytype);               
-                }
-            }                       
+                }                
+            }                   
         }
 
         return membertype;
@@ -754,7 +766,7 @@
         
         
         if (!"1".equals(seq.getMaxOccurs()) || !"1".equals(seq.getMinOccurs())) {
-            QName name = createQNameTargetNamespace(type.getQName().getLocalPart() + "Array");           
+            QName name = createQNameTargetNamespace(type.getQName().getLocalPart() + "Array");            
             CorbaTypeImpl atype = createArray(name, type.getQName(), type.getQName(),
                                            seq.getMaxOccurs(), seq.getMinOccurs(), false);
             if (atype != null) {
@@ -1026,6 +1038,8 @@
     private CorbaTypeImpl mapToArray(QName name, QName schematypeName, QName arrayType, int bound,
                                  boolean anonymous) {
         CorbaTypeImpl corbatype = null;
+        
+        schematypeName = checkPrefix(schematypeName);
 
         if (!anonymous) {
             //Create an Array
@@ -1047,6 +1061,7 @@
             corbaArray.setQName(name);                        
             corbatype = corbaArray;
         }
+        
         return corbatype;
     }
 
@@ -1203,7 +1218,8 @@
 
         if (complex.getContent() instanceof XmlSchemaComplexContentExtension) {
             XmlSchemaComplexContentExtension extype 
-                = (XmlSchemaComplexContentExtension)complex.getContent();            
+                = (XmlSchemaComplexContentExtension)complex.getContent();    
+            //extype.getParticle();            
 
         } else {
             //log.error("Restriction inside ComplexContent is not yet Supported.");

Modified: incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLToIDLAction.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLToIDLAction.java?rev=427973&r1=427972&r2=427973&view=diff
==============================================================================
--- incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLToIDLAction.java (original)
+++ incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLToIDLAction.java Wed Aug  2 06:20:17 2006
@@ -38,6 +38,7 @@
 import javax.xml.namespace.QName;
 
 import org.apache.schemas.yoko.bindings.corba.ArgType;
+import org.apache.schemas.yoko.bindings.corba.Array;
 import org.apache.schemas.yoko.bindings.corba.BindingType;
 import org.apache.schemas.yoko.bindings.corba.CaseType;
 import org.apache.schemas.yoko.bindings.corba.Enum;
@@ -53,6 +54,7 @@
 
 import org.apache.yoko.tools.common.CORBAConstants;
 import org.apache.yoko.tools.common.idltypes.CorbaUtils;
+import org.apache.yoko.tools.common.idltypes.IdlArray;
 import org.apache.yoko.tools.common.idltypes.IdlAttribute;
 import org.apache.yoko.tools.common.idltypes.IdlDefn;
 import org.apache.yoko.tools.common.idltypes.IdlEnum;
@@ -474,6 +476,8 @@
             result = createStruct(corbaTypeImpl, scope, local);            
         } else if (corbaTypeImpl instanceof Union) {
             result = createUnion(corbaTypeImpl, scope, local);
+        } else if (corbaTypeImpl instanceof Array) {
+            result = createArray(corbaTypeImpl, scope, local);
         }
         return result;
     }
@@ -595,6 +599,16 @@
         IdlType base = findType(s.getElemtype());        
         int bound = (int)s.getBound();
         idlType = IdlSequence.create(scope, local, base, bound);
+        scope.addToScope(idlType);
+        return idlType;
+    }
+    
+    private IdlType createArray(CorbaTypeImpl ctype, IdlScopeBase scope, String local) {
+        IdlType idlType = null;
+        Array s = (Array)ctype;
+        IdlType base = findType(s.getElemtype());        
+        int bound = (int)s.getBound();
+        idlType = IdlArray.create(scope, local, base, bound);
         scope.addToScope(idlType);
         return idlType;
     }

Modified: incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLToProcessor.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLToProcessor.java?rev=427973&r1=427972&r2=427973&view=diff
==============================================================================
--- incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLToProcessor.java (original)
+++ incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLToProcessor.java Wed Aug  2 06:20:17 2006
@@ -149,7 +149,7 @@
                     }
                 }
                 if (schemaElem != null) {
-                    schematype = schemaCol.read(schemaElem);                      
+                    schematype = schemaCol.read(schemaElem);                       
                     schematypeList.add(schematype);
                 }
             }

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?rev=427973&r1=427972&r2=427973&view=diff
==============================================================================
--- 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 Wed Aug  2 06:20:17 2006
@@ -39,6 +39,7 @@
 
 import org.apache.schemas.yoko.bindings.corba.BindingType;
 import org.apache.schemas.yoko.bindings.corba.OperationType;
+import org.apache.schemas.yoko.bindings.corba.ParamType;
 import org.apache.yoko.tools.common.CORBAConstants;
 import org.apache.yoko.tools.common.WSDLCorbaFactory;
 import org.apache.yoko.tools.processors.wsdl.WSDLToCorbaBinding;
@@ -465,6 +466,72 @@
 
             }
         }
-    } 
+    }
+    
+    public void testArrayMapping() throws Exception {
+        try {
+            WSDLToCorbaBinding generator = new WSDLToCorbaBinding();
+            String fileName = getClass().getResource("/wsdl/array.wsdl").toString();
+            generator.setWsdlFile(fileName);
+            generator.addInterfaceName("X");
+
+            Definition model = generator.generateCORBABinding();
+            QName bName = new QName("http://schemas.apache.org/idl/anon.idl", "XCORBABinding", "tns");           
+
+            Binding binding = model.getBinding(bName);
+            assertNotNull(binding);
+            assertEquals("XCORBABinding", binding.getQName().getLocalPart());
+            assertEquals("X", binding.getPortType().getQName().getLocalPart());
+            assertEquals(1, binding.getExtensibilityElements().size());
+            assertEquals(1, binding.getBindingOperations().size());
+
+            Iterator i = binding.getExtensibilityElements().iterator();
+            while (i.hasNext()) {
+                ExtensibilityElement extElement = (ExtensibilityElement)i.next();
+                if (extElement.getElementType().getLocalPart().equals("binding")) {
+                    BindingType bindingType = (BindingType)extElement;
+                    assertEquals(bindingType.getRepositoryID(), "IDL:X:1.0");
+                }
+            }
+
+            Iterator j = binding.getBindingOperations().iterator();
+            while (j.hasNext()) {
+                BindingOperation bindingOperation = (BindingOperation)j.next();
+                assertEquals(1, bindingOperation.getExtensibilityElements().size());
+                assertEquals(bindingOperation.getBindingInput().getName(), "op_a");
+                assertEquals(bindingOperation.getBindingOutput().getName(), "op_aResponse");
+
+                Iterator bOp = bindingOperation.getExtensibilityElements().iterator();
+                while (bOp.hasNext()) {
+                    ExtensibilityElement extElement = (ExtensibilityElement)bOp.next();
+                    if (extElement.getElementType().getLocalPart().equals("operation")) {
+                        OperationType corbaOpType = (OperationType)extElement;
+                        assertEquals(corbaOpType.getName(), "op_a");
+                        assertEquals(1, corbaOpType.getParam().size());
+                        assertNotNull(corbaOpType.getReturn());
+                        ParamType paramtype = corbaOpType.getParam().get(0);
+                        assertEquals(paramtype.getName(), "part1");
+                        QName idltype = new QName("http://schemas.apache.org/idl/anon.idl/corba/typemap/",
+                                                  "ArrayType", "ns1");
+                        assertEquals(paramtype.getIdltype(), idltype);
+                        assertEquals(paramtype.getMode().toString(), "IN");
+                    }
+                }
+            }
+
+            // See if an IDL is able to produce from this CORBA Binding.
+            WSDLToIDLAction idlgen = new WSDLToIDLAction();
+            idlgen.setBindingName("XCORBABinding");
+            idlgen.setOutputFile("array.idl");
+            idlgen.generateIDL(model);
+
+            File f = new File("array.idl");
+            assertTrue("array.idl should be generated", f.exists());
+        } finally {
+            new File("array.idl").deleteOnExit();
+        }
+
+    }
+
 
 }

Modified: incubator/yoko/trunk/tools/src/test/java/org/apache/yoko/tools/processors/WSDLToIDLGenerationTest.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/tools/src/test/java/org/apache/yoko/tools/processors/WSDLToIDLGenerationTest.java?rev=427973&r1=427972&r2=427973&view=diff
==============================================================================
--- incubator/yoko/trunk/tools/src/test/java/org/apache/yoko/tools/processors/WSDLToIDLGenerationTest.java (original)
+++ incubator/yoko/trunk/tools/src/test/java/org/apache/yoko/tools/processors/WSDLToIDLGenerationTest.java Wed Aug  2 06:20:17 2006
@@ -256,6 +256,29 @@
             new File("sequencetypes.idl").deleteOnExit();
         }
     }
+    
+    public void testArrayIdlgen() throws Exception {
+
+        try {
+            WSDLToIDLAction idlgen = new WSDLToIDLAction();
+            String fileName = getClass().getResource("/idlgen/array.wsdl").toString();
+            idlgen.setWsdlFile(fileName);
+
+            idlgen.setBindingName("XCORBABinding");
+            idlgen.setOutputFile("arraytypes.idl");
+            ByteArrayOutputStream idloutput = new ByteArrayOutputStream();
+            idlgen.setOutput(new PrintWriter(idloutput));
+            idlgen.generateIDL(null);
+
+            InputStream origstream = getClass().getResourceAsStream("/idlgen/expected_array.idl");
+            byte orig[] = inputStreamToBytes(origstream);
+
+            checkIDLStrings(orig, idloutput.toByteArray());
+        } finally {
+            new File("arraytypes.idl").deleteOnExit();
+        }
+    }
+
 
     /*public void testEnumIdlgen() throws Exception {
         

Added: incubator/yoko/trunk/tools/src/test/resources/idlgen/array.wsdl
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/tools/src/test/resources/idlgen/array.wsdl?rev=427973&view=auto
==============================================================================
--- incubator/yoko/trunk/tools/src/test/resources/idlgen/array.wsdl (added)
+++ incubator/yoko/trunk/tools/src/test/resources/idlgen/array.wsdl Wed Aug  2 06:20:17 2006
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions name="anon.idl" targetNamespace="http://schemas.apache.org/idl/anon.idl" xmlns:tns="http://schemas.apache.org/idl/anon.idl" xmlns:corbatm="http://schemas.apache.org/bindings/corba/typemap" xmlns:corba="http://schemas.apache.org/yoko/bindings/corba" xmlns:ns1="http://schemas.apache.org/idl/anon.idl/corba/typemap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsd1="http://schemas.apache.org/idltypes/anon.idl" xmlns="http://schemas.xmlsoap.org/wsdl/">
+  <corba:typeMapping targetNamespace="http://schemas.apache.org/idl/anon.idl/corba/typemap/">
+    <corba:sequence xmlns:xsd1="http://schemas.apache.org/idltypes/anon.idl" elemtype="corba:string" bound="1" repositoryID="IDL:p2Array:1.0" type="xsd1:p2" name="p2Array" />
+    <corba:array xmlns:xsd1="http://schemas.apache.org/idltypes/anon.idl" elemtype="corba:string" bound="5" repositoryID="IDL:p3Array:1.0" type="xsd1:p3" name="p3Array" />
+    <corba:sequence xmlns:xsd1="http://schemas.apache.org/idltypes/anon.idl" elemtype="corba:string" bound="0" repositoryID="IDL:p4Array:1.0" type="xsd1:p4" name="p4Array" />
+    <corba:sequence xmlns:xsd1="http://schemas.apache.org/idltypes/anon.idl" elemtype="corba:string" bound="15" repositoryID="IDL:p5Array:1.0" type="xsd1:p5" name="p5Array" />
+    <corba:sequence xmlns:xsd1="http://schemas.apache.org/idltypes/anon.idl" elemtype="corba:string" bound="0" repositoryID="IDL:p6Array:1.0" type="xsd1:p6" name="p6Array" />
+    <corba:sequence xmlns:xsd1="http://schemas.apache.org/idltypes/anon.idl" elemtype="corba:string" bound="10" repositoryID="IDL:p7Array:1.0" type="xsd1:p7" name="p7Array" />
+    <corba:struct xmlns:xsd1="http://schemas.apache.org/idltypes/anon.idl" repositoryID="IDL:ArrayType:1.0" type="xsd1:ArrayType" name="ArrayType">
+      <corba:member name="p1" idltype="corba:string" />
+      <corba:member xmlns:ns1="http://schemas.apache.org/idl/anon.idl/corba/typemap/" name="p2" idltype="ns1:p2Array" />
+      <corba:member xmlns:ns1="http://schemas.apache.org/idl/anon.idl/corba/typemap/" name="p3" idltype="ns1:p3Array" />
+      <corba:member xmlns:ns1="http://schemas.apache.org/idl/anon.idl/corba/typemap/" name="p4" idltype="ns1:p4Array" />
+      <corba:member xmlns:ns1="http://schemas.apache.org/idl/anon.idl/corba/typemap/" name="p5" idltype="ns1:p5Array" />
+      <corba:member xmlns:ns1="http://schemas.apache.org/idl/anon.idl/corba/typemap/" name="p6" idltype="ns1:p6Array" />
+      <corba:member xmlns:ns1="http://schemas.apache.org/idl/anon.idl/corba/typemap/" name="p7" idltype="ns1:p7Array" />
+    </corba:struct>
+    </corba:typeMapping>
+  <types>
+    <schema targetNamespace="http://schemas.apache.org/idltypes/anon.idl" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+            <complexType name="ArrayType">
+                <sequence>
+                    <element name="p1" type="xsd:string"/>  <!-- This is a single part -->
+                    <element minOccurs="0" name="p2" type="xsd:string"/> <!-- This is mapped to a bound
+ed sequence with bound 1 -->
+                    <element maxOccurs="5" minOccurs="5" name="p3" type="xsd:string"/> <!-- This should
+ be mapped to a corba array -->
+                    <element maxOccurs="unbounded" minOccurs="0" name="p4" type="xsd:string"/> <!-- Thi
+s should be mapped to a corba sequence -->
+                    <element maxOccurs="15" minOccurs="0" name="p5" type="xsd:string"/> <!-- This is cu
+rrently mapped to a corba sequence -->
+                    <element maxOccurs="unbounded" minOccurs="2" name="p6" type="xsd:string"/>  <!-- Th
+is is currently mapped to a corba sequence -->
+                    <element maxOccurs="10" minOccurs="3" name="p7" type="xsd:string"/> <!-- This is cu
+rrently mapped to a corba sequence -->
+                </sequence>
+            </complexType>
+
+        </schema>
+  </types>
+  <message name="X.op_aResponse">
+    <part name="return" type="xsd:string"/>
+  </message>
+  <message name="X.op_a">
+    <part name="part1" type="xsd1:ArrayType"/>
+  </message>
+  <portType name="X">
+    <operation name="op_a">
+      <input name="op_a" message="tns:X.op_a"/>
+      <output name="op_aResponse" message="tns:X.op_aResponse"/>
+    </operation>
+  </portType>
+  <binding name="XCORBABinding" type="tns:X">
+    <corba:binding repositoryID="IDL:X:1.0" />
+    <operation name="op_a">
+      <corba:operation name="op_a">
+        <corba:param xmlns:ns1="http://schemas.apache.org/idl/anon.idl/corba/typemap/" mode="in" name="part1" idltype="ns1:ArrayType" />
+        <corba:return name="return" idltype="corba:string" />
+      </corba:operation>
+      <input name="op_a">
+      </input>
+      <output name="op_aResponse">
+      </output>
+    </operation>
+  </binding>
+</definitions>

Propchange: incubator/yoko/trunk/tools/src/test/resources/idlgen/array.wsdl
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/yoko/trunk/tools/src/test/resources/idlgen/array.wsdl
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/yoko/trunk/tools/src/test/resources/idlgen/expected_array.idl
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/tools/src/test/resources/idlgen/expected_array.idl?rev=427973&view=auto
==============================================================================
--- incubator/yoko/trunk/tools/src/test/resources/idlgen/expected_array.idl (added)
+++ incubator/yoko/trunk/tools/src/test/resources/idlgen/expected_array.idl Wed Aug  2 06:20:17 2006
@@ -0,0 +1,21 @@
+typedef sequence<string, 1> p2Array;
+typedef string p3Array[5];
+typedef sequence<string> p4Array;
+typedef sequence<string, 15> p5Array;
+typedef sequence<string> p6Array;
+typedef sequence<string, 10> p7Array;
+struct ArrayType {
+    string p1;
+    p2Array p2;
+    p3Array p3;
+    p4Array p4;
+    p5Array p5;
+    p6Array p6;
+    p7Array p7;
+};
+interface X {
+    string
+    op_a(
+        in ::ArrayType part1
+    );
+};
\ No newline at end of file

Added: incubator/yoko/trunk/tools/src/test/resources/wsdl/array.wsdl
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/tools/src/test/resources/wsdl/array.wsdl?rev=427973&view=auto
==============================================================================
--- incubator/yoko/trunk/tools/src/test/resources/wsdl/array.wsdl (added)
+++ incubator/yoko/trunk/tools/src/test/resources/wsdl/array.wsdl Wed Aug  2 06:20:17 2006
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions name="anon.idl"
+    targetNamespace="http://schemas.apache.org/idl/anon.idl"
+    xmlns="http://schemas.xmlsoap.org/wsdl/"
+    xmlns:tns="http://schemas.apache.org/idl/anon.idl"
+    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+    xmlns:xsd1="http://schemas.apache.org/idltypes/anon.idl"
+    xmlns:corba="http://schemas.apache.org/bindings/corba"
+    xmlns:corbatm="http://schemas.apache.org/bindings/corba/typemap">
+    <types>
+        <schema targetNamespace="http://schemas.apache.org/idltypes/anon.idl"
+            xmlns="http://www.w3.org/2001/XMLSchema"
+            xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+            <complexType name="ArrayType">
+                <sequence>
+                    <element name="p1" type="xsd:string"/>  <!-- This is a single part -->
+                    <element name="p2" type="xsd:string" minOccurs="0"/> <!-- This is mapped to a bound
+ed sequence with bound 1 -->
+                    <element name="p3" type="xsd:string" minOccurs="5" maxOccurs="5"/> <!-- This should
+ be mapped to a corba array -->
+                    <element name="p4" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/> <!-- Thi
+s should be mapped to a corba sequence -->
+                    <element name="p5" type="xsd:string" minOccurs="0" maxOccurs="15"/> <!-- This is cu
+rrently mapped to a corba sequence -->
+                    <element name="p6" type="xsd:string" minOccurs="2" maxOccurs="unbounded"/>  <!-- Th
+is is currently mapped to a corba sequence -->
+                    <element name="p7" type="xsd:string" minOccurs="3" maxOccurs="10"/> <!-- This is cu
+rrently mapped to a corba sequence -->
+                </sequence>
+            </complexType>
+
+        </schema>
+    </types>
+    <message name="X.op_a">
+        <part name="part1" type="xsd1:ArrayType"/>
+    </message>
+    <message name="X.op_aResponse">
+        <part name="return" type="xsd:string"/>
+    </message>
+
+    <portType name="X">
+        <operation name="op_a">
+            <input message="tns:X.op_a" name="op_a"/>
+            <output message="tns:X.op_aResponse" name="op_aResponse"/>
+        </operation>
+    </portType>
+</definitions>

Propchange: incubator/yoko/trunk/tools/src/test/resources/wsdl/array.wsdl
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/yoko/trunk/tools/src/test/resources/wsdl/array.wsdl
------------------------------------------------------------------------------
    svn:mime-type = text/xml