Forum Discussion

SmartSoapUI's avatar
SmartSoapUI
Occasional Contributor
6 years ago

Unexpected token in Groovy Scripting.

My agenda is to create a greeting() method inside the HelloWorld class using Eclipse and want to use the same method in Soap UI open source by importing that jar file.

 

Steps I've followed:

1. Created simple program in Java (This is the only class present in the Java Project)


 

 

2. Exported the complete Java Project as runnable jar and placed */bin/ext folder and restarted Soap UI

3.  Below is the code from Soap UI Groovy editor.

 

4. When I try to the program from Soap UI, getting the following error.

 

Is there any step that I missed? Would be grateful if anyone could help :)

  • JHunt's avatar
    JHunt
    Community Hero

    Your log.info statement is inside the Raaki class, but not inside a method.

     

    Did you mean to put it after the end of the class ( } ) or inside the constructor?

     

    (By the way, images of code are less convenient for people to respond to... please use a code block and paste the code.)

    • SmartSoapUI's avatar
      SmartSoapUI
      Occasional Contributor

      Thank you JHunt for the quick response :) 

      I corrected that mistake but now getting "Unable to resolve error".

      Below is my code in Soap UI

       

       

      import com.raaki.*;
      
      class Raaki{
      	
      	def context;
      	def log;
      	def testRunner;
      	
      	def Raaki(log,context,testRunner){
      		this.log=log;
      		this.context=context;
      		this.testRunner=testRunner;
      	}
      	def obj=new HelloWorld();
      	def str=obj.greeting("Rk");
      
      	def method(){
      		log.info (str);
      	}
      }
      context.setProperty("Raaki",new Raaki(log,context,testRunner))

       

      Error:

       

      org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: Script33.groovy: 14: unable to resolve class HelloWorld @ line 14, 
      column 10. def obj=new HelloWorld(); ^ org.codehaus.groovy.syntax.SyntaxException: unable to resolve class HelloWorld @ line 14, column 10. at
       org.codehaus.groovy.ast.ClassCodeVisitorSupport.addError(ClassCodeVisitorSupport.java:149) at 
       org.codehaus.groovy.control.ResolveVisitor.resolveOrFail(ResolveVisitor.java:264) at 
      org.codehaus.groovy.control.ResolveVisitor.resolveOrFail(ResolveVisitor.java:274) at
      org.codehaus.groovy.control.ResolveVisitor.transformConstructorCallExpression(ResolveVisitor.java:1049) at
      org.codehaus.groovy.control.ResolveVisitor.transform(ResolveVisitor.java:708) at
      org.codehaus.groovy.ast.ClassCodeExpressionTransformer.visitField(ClassCodeExpressionTransformer.java:68) at
      org.codehaus.groovy.control.ResolveVisitor.visitField(ResolveVisitor.java:215) at
      org.codehaus.groovy.ast.ClassNode.visitContents(ClassNode.java:1078) at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitClass(ClassCodeVisitorSupport.java:53) at org.codehaus.groovy.control.ResolveVisitor.visitClass(ResolveVisitor.java:1263) at org.codehaus.groovy.control.ResolveVisitor.startResolving(ResolveVisitor.java:178) at org.codehaus.groovy.control.CompilationUnit$11.call(CompilationUnit.java:651) at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:931) at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:593) at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:542) at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:298) at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:268) at groovy.lang.GroovyShell.parseClass(GroovyShell.java:694) at groovy.lang.GroovyShell.parse(GroovyShell.java:706) at groovy.lang.GroovyShell.parse(GroovyShell.java:742) at groovy.lang.GroovyShell.parse(GroovyShell.java:733) at com.eviware.soapui.support.scripting.groovy.SoapUIGroovyScriptEngine.compile(SoapUIGroovyScriptEngine.java:136) at com.eviware.soapui.support.scripting.groovy.SoapUIGroovyScriptEngine.run(SoapUIGroovyScriptEngine.java:87) at com.eviware.soapui.impl.wsdl.teststeps.WsdlGroovyScriptTestStep.run(WsdlGroovyScriptTestStep.java:141) at com.eviware.soapui.impl.wsdl.panels.teststeps.GroovyScriptStepDesktopPanel$RunAction$1.run(GroovyScriptStepDesktopPanel.java:250) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) 1 error

       

      • JHunt's avatar
        JHunt
        Community Hero

        Try importing HelloWorld from com.raaki.demo package. At the moment you are only importing from com.raaki package.