[Mono-bugs] [Bug 644827] New: WSDL not correctly handling multidimensional arrays(jagged arrays)

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Fri Oct 8 01:25:40 EDT 2010


https://bugzilla.novell.com/show_bug.cgi?id=644827

https://bugzilla.novell.com/show_bug.cgi?id=644827#c0


           Summary: WSDL not correctly handling multidimensional
                    arrays(jagged arrays)
    Classification: Mono
           Product: Mono: Tools
           Version: 2.8.x
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: Major
          Priority: P5 - None
         Component: monodis
        AssignedTo: mono-bugs at lists.ximian.com
        ReportedBy: greg.zapp at gmail.com
         QAContact: mono-bugs at lists.ximian.com
          Found By: ---
           Blocker: ---


User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.10)
Gecko/20100914 Firefox/3.6.10

Creating a stub out of the Zeus(zxtm) Pool.wsdl is producing methods that
return string when they should be returning multidimensional string arrays. 
Microsofts wsdl.exe generates the correct code:

[System.Web.Services.Protocols.SoapRpcMethodAttribute("http://soap.zeus.com/zxtm/1.0/Pool/getNodes",
RequestNamespace="http://soap.zeus.com/zxtm/1.0/Pool/",
ResponseNamespace="http://soap.zeus.com/zxtm/1.0/Pool/")]
    [return: System.Xml.Serialization.SoapElementAttribute("nodes")]
    public string[][] getNodes(string[] names) {
        object[] results = this.Invoke("getNodes", new object[] {
                    names});
        return ((string[][])(results[0]));
    }


Mono wsdl and wsdl2 generate incorrect code:

[System.Web.Services.Protocols.SoapRpcMethodAttribute("http://soap.zeus.com/zxtm/1.0/Pool/getNodes",
RequestNamespace="http://soap.zeus.com/zxtm/1.0/Pool/",
ResponseNamespace="http://soap.zeus.com/zxtm/1.0/Pool/")]
    [return: System.Xml.Serialization.SoapElement("nodes")]
    public string getNodes(string[] names) {
        object[] results = this.Invoke("getNodes", new object[] {
                    names});
        return ((string)(results[0]));
    }


Reproducible: Always

Steps to Reproduce:
1. Download the Pool.wsdl zeus wsdl
2. run wsdl on it
3. Cry when you get cast errors no matter how you try to utilize methods that
return jagged arrays. ;(

-- 
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the mono-bugs mailing list