【问题标题】:MultipleCompilationErrorsException in running Groovy script运行 Groovy 脚本时出现 MultipleCompilationErrorsException
【发布时间】:2017-07-06 08:29:49
【问题描述】:

我正在尝试使用带有getDomNodes 方法的XmlHolder 类以XML 格式访问我的请求的所有节点,当我尝试它时出现此错误。

谁能解释一下这是什么意思?

我的源代码:

import com.eviware.soapui.support.XmlHolder

log.info "hello !! welcome to " 
def holder = new XmlHolder(context.expand('${logIn - Request 1#request}') 
def allnodes = holder.getDomNodes("//LoginParameters_1")

我得到的错误:

org.codehaus.groovy.control.MultipleCompilationErrorsException: 启动失败: Script15.groovy: 6: 意外令牌: def @ line 6, column 1. def allnodes = holder.getDomNodes("//LoginParameters_1") throws org.apache .xmlbeans.XmlException ^ org.codehaus.groovy.syntax.SyntaxException:意外令牌:def @ line 6, column 1. at org.codehaus.groovy.antlr.AntlrParserPlugin.transformCSTIntoAST(AntlrParserPlugin.java:140) at org.codehaus。 groovy.antlr.AntlrParserPlugin.parseCST(AntlrParserPlugin.java:108) at org.codehaus.groovy.control.SourceUnit.parse(SourceUnit.java:236) at org.codehaus.groovy.control.CompilationUnit$1.call(CompilationUnit.java :162) 在 org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:912) 在 org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:574) 在 org.codehaus.groovy.control。 CompilationUnit.processPhaseOperations(CompilationUnit.java:550)...


  import com.eviware.soapui.support.XmlHolder import          com.eviware.soapui.support.xml.XmlUtils          
  log.info "hello !! welcome to " xmlu= new XmlUtils() 
  holder= new XmlHolder(context.expand('${logIn - Request 1#request}'))
  i=0 
  for (nodes in holder.getDomNodes("//wsos:logIn")) {       if(xmlu.getNodeValue(nodes[i])=="?") 
   xmlu.setNodeValue(nodes[i],"") 
     i++; 
  }

给我以下错误: groovy.lang.MissingMethodException:没有方法签名:org.apache.xmlbeans.impl.store.Xobj$ElementXobj.getAt() 适用于参数类型:(java.lang.Integer) 值:[0] 可能的解决方案:getAt (java.lang.String), item(int), putAt(java.lang.String, java.lang.Object), wait(), grep(), getClass() 第 16 行错误

【问题讨论】:

    标签: soapui


    【解决方案1】:

    org.codehaus.groovy.syntax.SyntaxException 与代码中的错误语法有关,在您的具体情况下,问题是缺少右括号:

    缺少 ) 以关闭 XmlHolder 声明:

    def holder = new XmlHolder(context.expand('${logIn - Request 1#request}')
    

    必须是:

    def holder = new XmlHolder(context.expand('${logIn - Request 1#request}'))
                                                                             ^ missing close
    

    【讨论】:

    • @kavitha 很高兴为您提供帮助。如果答案解决了您的问题,请考虑accept it
    • 肯定..会做..可以帮助我进一步
    • import com.eviware.soapui.support.XmlHolder import com.eviware.soapui.support.xml.XmlUtils log.info "你好!!欢迎来到 " xmlu= new XmlUtils() holder= new XmlHolder (context.expand('${logIn - Request 1#request}')) i=0 for (holder.getDomNodes("//wsos:logIn")) { if(xmlu.getNodeValue(nodes[i]) =="?") xmlu.setNodeValue(nodes[i],"") i++; } 给我以下错误:
    • @kavitha 如果您有其他问题,请用您的新问题创建一个新问题并添加所有必需的详细信息,这样您就有更多机会获得答案。
    • 真的应该再发一个帖子。去掉 i++ 之后的那个分号
    猜你喜欢
    • 2013-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-25
    • 2020-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多