2013-11-09 3 views
0

Я пытаюсь вызвать класс Java с помощью Groovy сценария в SoapUIВызов Java класс в SoapUI Groovy

Мой Java Класс

public class LogTest { 
    public void sayHello(){ 
     System.out.println("Hello"); 
    } 
} 

Groovy скрипт

import LogTest; 

new LogTest().sayHello() 

I помещает LogTest.class in ...SmartBear\SoapUI-4.6.1\bin\ext Путь и перезагрузка SoapUI

Но все же я следую Ошибка в SoapUI

:ERROR:org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: 
Script5.groovy: 1: unable to resolve class LogTest 
@ line 1, column 1. 
    import LogTest; 
^
org.codehaus.groovy.syntax.SyntaxException: unable to resolve class LogTest 
@ line 1, column 1. 
    at org.codehaus.groovy.ast.ClassCodeVisitorSupport.addError(ClassCodeVisitorSupport.java:148) 
    at org.codehaus.groovy.control.ResolveVisitor.visitClass(ResolveVisitor.java:1240) 
    at org.codehaus.groovy.control.ResolveVisitor.startResolving(ResolveVisitor.java:148) 
    at org.codehaus.groovy.control.CompilationUnit$8.call(CompilationUnit.java:601) 
    at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:839) 
    at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:544) 
    at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:493) 
    at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:306) 
    at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:287) 
    at groovy.lang.GroovyShell.parseClass(GroovyShell.java:731) 
    at groovy.lang.GroovyShell.parse(GroovyShell.java:743) 
    at groovy.lang.GroovyShell.parse(GroovyShell.java:770) 
    at groovy.lang.GroovyShell.parse(GroovyShell.java:761) 
    at com.eviware.soapui.support.scripting.groovy.SoapUIGroovyScriptEngine.compile(SoapUIGroovyScriptEngine.java:148) 
    at com.eviware.soapui.support.scripting.groovy.SoapUIGroovyScriptEngine.run(SoapUIGroovyScriptEngine.java:93) 
    at com.eviware.soapui.impl.wsdl.teststeps.WsdlGroovyScriptTestStep.run(WsdlGroovyScriptTestStep.java:149) 
    at com.eviware.soapui.impl.wsdl.support.AbstractTestCaseRunner.runTestStep(AbstractTestCaseRunner.java:239) 
    at com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.runCurrentTestStep(WsdlTestCaseRunner.java:48) 
    at com.eviware.soapui.impl.wsdl.support.AbstractTestCaseRunner.internalRun(AbstractTestCaseRunner.java:148) 
    at com.eviware.soapui.impl.wsdl.support.AbstractTestCaseRunner.internalRun(AbstractTestCaseRunner.java:43) 
    at com.eviware.soapui.impl.wsdl.support.AbstractTestRunner.run(AbstractTestRunner.java:135) 
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) 
    at java.util.concurrent.FutureTask.run(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 

Что может быть возможной первопричиной

Приветствия

ответ

0
  1. Создайте файл фляги, содержащий код (LogTest)

  2. Поместите этот файл банку в/bin/ext.

Это позволит вам позвонить вашему коду из сценария Groovy.

+0

Я создал SoapJava.jar файл, используя LogTest.class и поместить в папку внутр. Тем не менее, я получаю сообщение об ошибке: org.codehaus.groovy.control.MultipleCompilationErrorsException: сбой при запуске: Script6.groovy: 1: не удалось разрешить класс SoapJava @ строка 1, столбец 1. import SoapJava^' – SMPH

+0

вы перезапустили SOAP- UI? Это может быть необходимо. – EJK

+0

Да, я сделал это до запуска теста. Что-то не так с сценарием, как я звонил? – SMPH

0

Вы смогли решить эту проблему? Если бы не я столкнулся с тем же сценарием, и вот как я его исправил.

Я имел банку файл (HelloWorldTest.jar) со следующей информацией:

package helloworldtest; 

public class HWT { 

    public static String Testing() { 
     return "Hello World!"; 
    } 

} 

Обратите внимание, что мое имя файла и имя пакета различны. Убедитесь, что при импорте в Groovy вы используете имя пакета.

я использовал:

import helloworldtest.HWT; 

log.info HWT.Testing(); 

Результат будет выглядеть так:

Thu Mar 06 16:26:01 PST 2014:INFO:Hello World! 
Смежные вопросы