【问题标题】:Groovy Integer can not be cast to Object[]Groovy Integer 不能转换为 Object[]
【发布时间】:2014-02-25 18:51:14
【问题描述】:

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

【问题讨论】:

    标签: groovy xml-rpc xmlrpcclient


    【解决方案1】:

    试试:

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

    看看API。它期望argsListObject[]

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-10-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-06-24
        相关资源
        最近更新 更多