Java 1,8 Groovy Версия 2.4.7groovy.lang.MissingMethodException: Нет подписи метода: java.lang.String.name() применяется для типов аргументов:() значения
Я передаю XML-к переменная называется rollbackxmlResp, я пытаюсь разобрать и получить ее значение.
Xmlcontents из rollbackXmlResp
:
<?xml version=\"1.0\" encoding=\"EUC-JP\"?>
<Root>
<data>
<easy_id>12214356</easy_id>
<unique_id>53706741</unique_id>
<rollback_all_point>100</rollback_all_point>
<rollback_term_point>10</rollback_term_point>
<rollback_lapse_point>20</rollback_lapse_point>
<res_time>2014-05-01 10:29:52</res_time>
<result_code>0</result_code>
</data>
<confirmation_key>ea7784d7d1d80cf94a4066ac48fa3088</confirmation_key>
</Root>
Groovy код
public static Map<String, ?> processRollbackResponse(String rollbackXmlResp, String requestTime){
Map rootMap = new LinkedHashMap();
def responseXml = new XmlParser().parseText(rollbackXmlResp);
responseXml.children().each { --> line no 172
def errorCodesList = new ArrayList<String>()
it.depthFirst().each { --> line no 174
switch(it.name()){ ----> failing here . line no175
}
}
}
return rootMap
}
Я получаю это исключение
groovy.lang.MissingMethodException: No signature of method: java.lang.String.name() is applicable for argument types:() values: []
Possible solutions: take(int), any(), any(groovy.lang.Closure), wait(), size(), dump()
at co.xx.app.point.util.Random.processRollbackResponse_closure2$_closure6(Random.groovy:175)
at groovy.lang.Closure.call(Closure.java:414)
at groovy.lang.Closure.call(Closure.java:430)
at co.xx.app.point.util.Random.processRollbackResponse_closure2(Random.groovy:174)
at groovy.lang.Closure.call(Closure.java:414)
at groovy.lang.Closure.call(Closure.java:430)
at co.xx.app.point.util.xx.processRollbackResponse(xx.groovy:172)
at co.xx.app.point.util.xxSpock.processRollbackSuccessResponse(xxSpock.groovy:246)
Пожалуйста, помогите мне решить эту проблему.
Какое значение вам нужно? – Rao