Groovy Integer无法强制转换为Object []

时间:2014-02-25 18:51:14

标签: groovy xml-rpc xmlrpcclient

我正在使用SoapUI中的groovy脚本,我需要对服务器进行XMLRPC调用。我正在使用groovy.net.xmlrpc.XMLRPCServerProxy,invokeMethod需要一个参数作为对象。我试图使用的示例需要一个整数作为参数,现在我已经像疯子一样投射这个整数,但总是不断得到:

  

抓住:java.lang.ClassCastException:java.lang.Integer无法强制转换   到[Ljava.lang.Object; java.lang.ClassCastException:java.lang.Integer   无法转换为[Ljava.lang.Object;在   xmlrpctest.run(xmlrpctest.groovy:17)

import groovy.net.xmlrpc.XMLRPCServerProxy

def base_url = 'http://www.cookcomputing.com/xmlrpcsamples/RPC2.ashx'
def serverProxy = new XMLRPCServerProxy(base_url)
def num = 1;
def response = serverProxy.invokeMethod('examples.getStateName', (Object)num)

2 个答案:

答案 0 :(得分:2)

尝试:

def response = serverProxy.invokeMethod('examples.getStateName', [num])

查看API。它希望argsListObject[]

请记住,当您使用def num = 1时,类型始终是基元的包装器对象(java.lang.Integer)。

答案 1 :(得分:1)

您正在尝试将标量转换为数组,前缀[L表示该对象是java.lang.Object的数组