Hey,

I am using CXF DynamicClientFactory from Groovy to call a web service
developed with apache Axis2. The method has this signature:

Pair[] executeRunbook(String token, Pair[] params)

Pair is a complex object defined as:

public class Pair {
        private String name;
        private String value;
       
        public String getName()
        {
                return name;
        }
       
        public void setName(String n)
        {
                name = n;
        }
       
        public String getValue()
        {
                return value;
        }
       
        public void setValue(String v)
        {
                value = v;
        }
       
        public String toString()
        {
                return "(" + name + "," + value + ")";
        }
}
 
When executeRunbook() method was called from Groovy script, i.e. " results =
client.invoke( "executeRunbook", token, list1); ", its return value ,
"results", was not an array of Pair objects as defined by its method
signature, instead it always had a value which was the first Pair element of
the array.

This was log output for about call:

2009-09-01 18:16:39,290 DEBUG [Thread-49]
(sun.reflect.NativeMethodAccessorImpl:?) - ++++++++++++ results =
com.xpn.xwiki.plugin.resolve.xsd.p...@1b6903f

 
It seems CXF dynamic client was not able to handle an array of complex
object as return value from a web service method call.

Is anybody aware of the similar problem with CXF dynamic client? Is there
any workaround? Thanks in advance.

Attached are WSDL file and Groovy script to show how the call was made.

Yu 
http://www.nabble.com/file/p25280407/WebserviceListener.xml
WebserviceListener.xml  http://www.nabble.com/file/p25280407/DCFGroovy
DCFGroovy 


-- 
View this message in context: 
http://www.nabble.com/CXF-dynamic-client-can-not-handle-array-of-complex-objects-as-return-value--tp25280407p25280407.html
Sent from the cxf-user mailing list archive at Nabble.com.

Reply via email to