I wonder if this is somehow related to:
https://issues.apache.org/jira/browse/CXF-2415
(mostly just thinking)
Dan
On Thu September 3 2009 1:20:02 pm Yu L wrote:
> 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
>
--
Daniel Kulp
[email protected]
http://www.dankulp.com/blog