groovy 标记 java.lang.Exception: 没有名为问题的方法

groovy markup java.lang.Exception: No method named issue

美好的一天。

我正在编写这个 groovy 脚本

import groovy.xml.MarkupBuilder;
import groovy.xml.*;

def writer = new StringWriter();
def xmlResponse = new MarkupBuilder(writer);
def index = 0;

xmlResponse.CalculatePayoutFigureResponse() {
    Identifier([UniqueID:'CalculatedLoanRepayment-1'])
}
String response =  writer.toString();
return XmlUtil.serialize(response);

每次调用它时,我都会收到 ff 错误:


    SEVERE: java.lang.Exception: No method named 'Identifier' found for arguments [[UniqueID:CalculatedLoanRepayment-1]]
java.lang.Exception: No method named 'Identifier' found for arguments [[UniqueID:CalculatedLoanRepayment-1]]
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
        at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:80)
        at org.codehaus.groovy.reflection.CachedConstructor.doConstructorInvoke(CachedConstructor.java:74)
        at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrap.callConstructor(ConstructorSite.java:84)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:247)
</pre>

有人熟悉这个吗?你能给我指出正确的方向吗?

我一直在寻找解决方案,但无济于事。我构建 XML 的方式有误吗?我正在使用 groovy 2.4.4。

在此先致谢!
克里斯

对代码进行了一些调整后,我能够完成这项工作。我在尝试添加的每个元素之前都使用了 MarkupBuilder 对象。代码变成了这样:

xmlResponse.CalculatePayoutFigureResponse() {
    xmlResponse.Identifier(UniqueID:'CalculatedLoanRepayment-1')
}

我得到了预期的输出。

<CalculatePayoutFigureResponse>
   <Identifier UniqueID='CalculatedLoanRepayment-1' />
</CalculatePayoutFigureResponse>

不知道为什么这个解决方案有效以及是什么导致了我最初遇到的问题。

谢谢! -克里斯