如何使用GroovyWS发送复杂对象的数组

时间:2011-07-05 10:23:36

标签: soap groovy groovyws

我即将调用在C#中创建的Web服务,它接受一个参数

KmlSystemVariable [] sysVariables

如何使用GroovyWS传递类似的参数?它不需要任何值,可以是一个空数组。 看起来完整的类名是Consorte.Pulse.Data.KmlSystemVariable

我按照GroovyWS and complex requests中的描述启用了日志记录,以获取KmlSystemVariable的命名空间,看起来我可以创建一个KmlSystemVariable:

proxy.create("org.datacontract.schemas._2004._07.consorte_pulse.KmlSystemVariable")

但是如何创建一个KmlSystemVariable数组?

1 个答案:

答案 0 :(得分:1)

只需将代理对象包装到Groovy列表中并将其用作参数就足够了。 GroovyWS将在幕后为您进行从List到SOAP数组的转换。

示例:

def ksv1 = proxy.create("org.datacontract.schemas._2004._07.consorte_pulse.KmlSystemVariable")
def ksv2 = ...
def ksv3 = ...
def list = [ksv1, ksv2, ksv3]
proxy.<some ws method>(list)