我正在使用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)
答案 0 :(得分:2)
尝试:
def response = serverProxy.invokeMethod('examples.getStateName', [num])
查看API。它希望args
为List
或Object[]
。
请记住,当您使用def num = 1
时,类型始终是基元的包装器对象(java.lang.Integer
)。
答案 1 :(得分:1)
您正在尝试将标量转换为数组,前缀[L表示该对象是java.lang.Object的数组