Issue 8992: Section: 1.2.7.6 (corbawsdl-rtf) Source: (, ) Nature: Revision Severity: Critical Summary: The specification in section 1.2.7.6 page 1-14 gives the following IDL as example for multi-dimensional arrays typedef long matrix[5][3] What the above array is mapped to is semantically equivalent to matrix[3][5]. Proposed resolution: What we think should be the correct order for the expanded multi-dimenstional array is shown in the following XSD schema: <xsd:complexType name="_SE_ArrayOfint_matrix_3"> <xsd:complexContent> <xsd:restriction base="SOAP-ENC:Array"> <xsd:sequence> <xsd:element name="item" type="xsd:int" minOccurs="3" axOccurs="3"/> </xsd:sequence> <xsd:attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="xsd:int[]"/> </xsd:restriction> </xsd:complexContents> </xsd:complexType> <xsd:complexType name="_SE_matrix"> <xsd:complexContent> <xsd:restriction base="SOAP-ENC:Array"> <xsd:sequence> <xsd:element name="item" type="_SE_matrix_3" minOccurs="5" maxOccurs="5"/> </xsd:sequence> <xsd:attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="_SE_matrix_3[]"/> </xsd:restriction> </xsd:complexContents> </xsd:complexType> <xsd:complexType name="ArrayOfint_matrix_3"> <xsd:sequence> <xsd:element name="item" type="xsd:int" minOccurs="3" maxOccurs="3"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="matrix"> <xsd:sequence> <xsd:element name="item" type="matrix_3" minOccurs="5" maxOccurs="5"/> </xsd:sequence> </xsd:complexType> Resolution: see above Revised Text: Add the following clarification to 1.2.7.6: " This mapping for multidimensional arrays results in a different order of transfer (on the wire) for the array elements, than the order in which GIOP marshalling transfers the mapped multidimensional IDL array. " Actions taken: September 22, 2005: rewceived issue October 30, 2006: closed issue Discussion: : In the example typedef long matrix[5][3]; matrix is treated as an array of size 3, where each element is an array of integers of size 5. The indexes progress from inside to outside. This is different than CDR encoding, but the difference is not a problem. Resolution: Although there is a difference from CDR ordering, there is no problem with the mapping order. Changing to the same order as CDR is beyond the scope of an RTF.. End of Annotations:===== m: webmaster@omg.org Date: 22 Sep 2005 04:09:14 -0400 To: Subject: Issue/Bug Report -------------------------------------------------------------------------------- Name: Naveed Shaikh Company: Borland mailFrom: naveed.shaikh@borland.com Notification: Yes Specification: CORBA-WSDL/SOAP Interworking Section: 1.2.7.6 FormalNumber: formal/2005-02-01 Version: 1.1 RevisionDate: 02/01/2005 Page: 1-13 Nature: Enhancement Severity: Minor HTTP User Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322) Description In section 1.2.7.6 page 1-13, the implicit IDL declaration of the following struct S { long field[10]; }; generates a complex type _SE_S.field_ArrayOfint for the soap-encoded ::S::field. The complex type _SE_S (corresponding to soap-encoded struct S) refers to field with type S._SE_field_ArrayOfint. There is no schema type _S._SE_field_ArrayOfint. Resolution: The soap-encoded name of S.field should be _S._SE_field_ArrayOfint as shown in the following excerpt. Date: Thu, 27 Apr 2006 13:01:50 -0500 From: Tom Rutt Reply-To: tom@coastin.com User-Agent: Mozilla Thunderbird 1.0.7 (Windows/20050923) X-Accept-Language: en-us, en To: corbawsdl-rtf@omg.org Subject: Proposed Resolution for corbawsdl rtf Issue 8991 Here is proposed resolution for issue 8991. Please provide any comments on this list. ------ Issue 8991: Section: 1.2.7.6 (CorbaToWsdl) Click here for this issue's archive. Nature: Enhancement Severity: Minor Summary: In Corba to WSDL/SOAP Interworking Spec: In section 1.2.7.6 page 1-13, the implicit IDL declaration of the following struct S { long field[10]; }; generates a complex type _SE_S.field_ArrayOfint for the soap-encoded ::S::field. The complex type _SE_S (corresponding to soap-encoded struct S) refers to field with type S._SE_field_ArrayOfint. There is no schema type _S._SE_field_ArrayOfint. Resolution: The soap-encoded name of S.field should be _S._SE_field_ArrayOfint as shown in the following excerpt. Proposed Resolution: Agreed to fix example text, Struct S is a type which must have _SE_ prefix for soap encoded version of mapping. Revised Text: In 1.2.7.6 Cme="field" type="S._SE_field_ArrayOfint" . To: . name="field" type="_SE_S.field_ArrayOfint" . -- ---------------------------------------------------- Tom Rutt email: tom@coastin.com; trutt@us.fujitsu.com Tel: +1 732 801 5744 Fax: +1 732 774 5133 hange: