0

再会。

我正在研究这个 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)

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

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

提前致谢!
克里斯

4

1 回答 1

0

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

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

我得到了我期望的输出。

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

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

谢谢!-克里斯

于 2015-07-24T03:41:52.993 回答