0

我正在使用 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)
4

2 回答 2

2

尝试:

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

看看API。它期望args是 aList或 a Object[]

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

于 2014-02-25T19:03:44.807 回答
1

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

于 2014-02-25T18:53:00.373 回答