Forum Discussion

ITAbteilung's avatar
ITAbteilung
Contributor
14 years ago

external Scriptfolder and wargenerator

Hi,

I use the feature of the external Script-folder in SoapUI. Like you explain in your tutorials, I set the path in the SoapUI-Preferences. In the Script-Folder I have some subdirectories that contain .groovy files. It works fine!
Now I want to deploy my Mockups on a Webserver (Tomcat) using your "wargenerator" script. It provides the "-c" parameter to define the external Script-Folder. The command line looks like this:
wargenerator.sh -w true -d ./TomcatInstance/webapps/SICONTACTMAN/ -c ./SoapMocks/externalScripts/ ./SoapMocks/contactManagement-soapui-project.xml
Now there are some error:

1)
 16:36:19,316 ERROR [JarPackager] java.io.FileNotFoundException: ./SoapMocks/externalScripts/Tools (Is a directory)
Isn't it possible to use subdirectories anymore?

2) When I put my .groovy files directly into the Script-Folder, they are copied to the webapps dir
 16:36:19,316 INFO  [JarPackager] Coping files from /app/norman/norman12/Mocks/sim01/./SoapMocks/externalScripts to /app/norman/norman12/Mocks/sim01/./TomcatInstance/webapps/SICONTACTMAN/WEB-INF/scripts
but it is not possible to access the classes in these scripts. When I try to access the class "FileHandler" (defined in "FileHandler.groovy"), I get

16:48:37,186 ERROR [SoapUI] An error occured [No such property: FileHandler for class: Script1], see error log for details
java.lang.Exception: No such property: FileHandler for class: Script1
at com.eviware.soapui.impl.wsdl.mock.WsdlMockResponse.evaluateScript(WsdlMockResponse.java:359)
at com.eviware.soapui.impl.wsdl.mock.WsdlMockResponse.execute(WsdlMockResponse.java:264)
at com.eviware.soapui.impl.wsdl.mock.WsdlMockOperation.dispatchRequest(WsdlMockOperation.java:259)
at com.eviware.soapui.impl.wsdl.mock.WsdlMockRunner.dispatchPostRequest(WsdlMockRunner.java:290)
at com.eviware.soapui.impl.wsdl.mock.WsdlMockRunner.dispatchRequest(WsdlMockRunner.java:375)
at com.eviware.soapui.mockaswar.MockAsWarServlet$MockServletSoapUICore.dispatchRequest(MockAsWarServlet.java:245)
at com.eviware.soapui.mockaswar.MockAsWarServlet.service(MockAsWarServlet.java:183)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:595)
Caused by: groovy.lang.MissingPropertyException: No such property: FileHandler for class: Script1
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:50)
at org.codehaus.groovy.runtime.callsite.PogoGetPropertySite.getProperty(PogoGetPropertySite.java:49)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGroovyObjectGetProperty(AbstractCallSite.java:231)
at Script1.run(Script1.groovy:14)
at com.eviware.soapui.support.scripting.groovy.SoapUIGroovyScriptEngine.run(SoapUIGroovyScriptEngine.java:96)
at com.eviware.soapui.impl.wsdl.mock.WsdlMockResponse.evaluateScript(WsdlMockResponse.java:355)
... 19 more


How does it work?

Thanks in advance
and thanks for all my other questions that have been answered quickly and competently,
cheers Patrick

13 Replies