美好的一天。
我正在研究这个时髦的脚本
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。
提前谢谢!
克里斯
答案 0 :(得分:0)
在对代码进行一些调整后,我能够完成这项工作。我在尝试添加的每个元素之前使用了MarkupBuilder对象。代码变成这样:
xmlResponse.CalculatePayoutFigureResponse() {
xmlResponse.Identifier(UniqueID:'CalculatedLoanRepayment-1')
}
我得到了我期望的输出。
<CalculatePayoutFigureResponse>
<Identifier UniqueID='CalculatedLoanRepayment-1' />
</CalculatePayoutFigureResponse>
不知道为什么这个解决方案有效以及导致我最初遇到的问题的原因。
谢谢! -Chris