groovy markup java.lang.Exception:没有名为issue的方法

时间:2015-07-23 09:35:43

标签: groovy markupbuilder

美好的一天。

我正在研究这个时髦的脚本

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)

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

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

提前谢谢!
克里斯

1 个答案:

答案 0 :(得分:0)

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

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

我得到了我期望的输出。

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

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

谢谢! -Chris