Contributions
Re: Interpreting Spaces as against null in String input
The error is my service respondimg with invalid code '--remove--'...which means its not replacing it... However I noticed the following in the small SoapUI-Pro window.. Configuring log4j from [jar:file:/D:/Program%20Files/eviware/soapUI-Pro-2.0.2/li b/soapui-2.0.2.jar!/soapui-log4j.xml] 16:48:26,505 INFO [DefaultSoapUICore] initialized soapui-settings from [D:\Prog ram Files\eviware\soapUI-Pro-2.0.2\bin\soapui-settings.xml] 16:48:26,557 INFO [SoapUIProGroovyScriptEngineFactory] Initializing scripts fol der [D:\Program Files\eviware\soapUI-Pro-2.0.2\bin\scripts] 16:48:26,926 INFO [SoapUIProGroovyScriptEngineFactory] 5 classes loaded 16:48:26,928 INFO [DefaultSoapUICore] Adding listeners from [D:\Program Files\e viware\soapUI-Pro-2.0.2\bin\listeners\demo-listeners.xml] Error initializing Listener: java.lang.RuntimeException: Listener interface: com .eviware.soapui.impl.wsdl.WsdlRequest must be an interface 16:48:27,537 INFO [WorkspaceImpl] Loading workspace from [D:\Users\Desmond\defa ult-soapui-workspace.xml] 16:48:28,027 INFO [WsdlProject] Loaded project from [file:/F:/%23%23%23%20Conne ction%20Data/Testing/TimeSlices/QA%20Supplied/Product%20TimeSlice%20Component_Un itType-soapui-project.xml] 16:48:29,573 INFO [DefaultSoapUICore] Adding actions from [D:\Program Files\evi ware\soapUI-Pro-2.0.2\bin\actions\demo-actions.xml] Exception in thread "main" java.lang.IllegalArgumentException: No enum const cla ss com.eviware.soapui.lic.LicenseType.professional at java.lang.Enum.valueOf(Unknown Source) at com.eviware.soapui.lic.LicenseType.valueOf(SourceFile:11) at com.eviware.soapui.lic.LicenseData.getType(SourceFile:148) at com.eviware.soapui.SoapUIPro.checkLicense(SourceFile:175) at com.eviware.soapui.SoapUIPro.main(SourceFile:132)1KViews0likes0CommentsRe: Interpreting Spaces as against null in String input
Oooops...I tried changing in the Listener the Listener class... listenerClass="com.eviware.soapui.support.scripting.listeners.ScriptRequestFilter" groovyClass="soapui.demo.DemoRequestFilter" listenerInterface="com.eviware.soapui.impl.wsdl.WsdlRequest"/> No errors but rejects --remove-- as an invalid code... Cheers, Dezzz1KViews0likes0CommentsRe: Interpreting Spaces as against null in String input
Hi Ole, unfortunately there still seems to be a problem.... First here is my code in the scripts listenerClass="com.eviware.soapui.support.scripting.listeners.ScriptRequestFilter" groovyClass="soapui.demo.DemoRequestFilter" listenerInterface="com.eviware.soapui.impl.wsdl.submit.RequestFilter"/> ============================================== package soapui.demo import com.eviware.soapui.SoapUI import com.eviware.soapui.impl.wsdl.submit.transports.http.BaseHttpRequestTransport import com.eviware.soapui.impl.wsdl.submit.RequestFilter import com.eviware.soapui.impl.wsdl.WsdlRequest; import com.eviware.soapui.model.iface.Request import com.eviware.soapui.model.iface.Response import com.eviware.soapui.model.iface.SubmitContext public abstract class DemoRequestFilter implements RequestFilter { public void afterRequest( SubmitContext context, Response response ) {} public void filterRequest( SubmitContext context, WsdlRequest wsdlRequest ) { String content = (String) context.getProperty( BaseHttpRequestTransport.REQUEST_CONTENT ) if( content == null ) { System.err.println( "Missing request content in context, skipping demofilter" ) } else { System.out.println( "running demofilter" ) content = content.replaceAll( "<(.+)>--remove--", "" ) context.setProperty( BaseHttpRequestTransport.REQUEST_CONTENT, content ) } } } ================================================== I took it one step at a time and for each Request submitted I get 2 errors returned....the actual request with the '--remove--' doesn;t seem to be any more different that the previous errors Cheers, Dezzz. ================================================== 2008-10-07 13:31:35,049 ERROR [errorlog] java.lang.InstantiationException java.lang.InstantiationException at sun.reflect.InstantiationExceptionConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at java.lang.Class.newInstance0(Unknown Source) at java.lang.Class.newInstance(Unknown Source) at com.eviware.soapui.support.scripting.listeners.AbstractScriptListener.syncClass(SourceFile:32) at com.eviware.soapui.support.scripting.listeners.ScriptRequestFilter.filterRequest(SourceFile:31) at com.eviware.soapui.impl.wsdl.submit.transports.http.HttpClientRequestTransport.sendRequest(HttpClientRequestTransport.java:120) at com.eviware.soapui.impl.wsdl.WsdlSubmit.run(WsdlSubmit.java:118) at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) 2008-10-07 13:31:46,772 ERROR [errorlog] java.lang.InstantiationException java.lang.InstantiationException at sun.reflect.InstantiationExceptionConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at java.lang.Class.newInstance0(Unknown Source) at java.lang.Class.newInstance(Unknown Source) at com.eviware.soapui.support.scripting.listeners.AbstractScriptListener.syncClass(SourceFile:32) at com.eviware.soapui.support.scripting.listeners.ScriptRequestFilter.afterRequest(SourceFile:19) at com.eviware.soapui.impl.wsdl.submit.transports.http.HttpClientRequestTransport.sendRequest(HttpClientRequestTransport.java:170) at com.eviware.soapui.impl.wsdl.WsdlSubmit.run(WsdlSubmit.java:118) at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source)1KViews0likes0CommentsRe: Interpreting Spaces as against null in String input
Hi Ole...I tried amending the code but wasn't sure WHERE you meant me to amend it... The method to me means.... public void filterRequest( SubmitContext context, WsdlRequest wsdlRequest ) { String content = (String) context.getProperty( BaseHttpRequestTransport.REQUEST_CONTENT ) if( content == null ) { System.err.println( "Missing request content in context, skipping demofilter" ) } else { System.out.println( "running demofilter" ) content = content.replaceAll( "<(.+)>--remove--", "" ) context.setProperty( BaseHttpRequestTransport.REQUEST_CONTENT, content ) } } If So....the error now is 2008-10-06 11:52:46,409 INFO [DefaultSoapUICore] initialized soapui-settings from [D:\Program Files\eviware\soapUI-Pro-2.0.2\bin\soapui-settings.xml] 2008-10-06 11:52:46,540 INFO [SoapUIProGroovyScriptEngineFactory] Initializing scripts folder [D:\Program Files\eviware\soapUI-Pro-2.0.2\bin\scripts] 2008-10-06 11:52:47,053 ERROR [SoapUI] An error occured [startup failed, D:\Program Files\eviware\soapUI-Pro-2.0.2\bin\scripts\DemoRequestFilter.groovy: 16: unable to resolve class WsdlRequest @ line 16, column 52. quest( SubmitContext context, WsdlReques ^ 1 error ], see error log for details 2008-10-06 11:52:47,055 ERROR [errorlog] org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed, D:\Program Files\eviware\soapUI-Pro-2.0.2\bin\scripts\DemoRequestFilter.groovy: 16: unable to resolve class WsdlRequest @ line 16, column 52. quest( SubmitContext context, WsdlReques ^ 1 error org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed, D:\Program Files\eviware\soapUI-Pro-2.0.2\bin\scripts\DemoRequestFilter.groovy: 16: unable to resolve class WsdlRequest @ line 16, column 52. quest( SubmitContext context, WsdlReques ^ 1 error Cheers, Dezzz1KViews0likes0CommentsRe: Interpreting Spaces as against null in String input
Hi Ole.. I closed down SoapUI AFTER CLOISNG all projects, deleted the soapui logs and restarted SoapUI First the soapui.log 2008-10-03 17:21:24,263 INFO [DefaultSoapUICore] initialized soapui-settings from [D:\Program Files\eviware\soapUI-Pro-2.0.2\bin\soapui-settings.xml] 2008-10-03 17:21:24,315 INFO [SoapUIProGroovyScriptEngineFactory] Initializing scripts folder [D:\Program Files\eviware\soapUI-Pro-2.0.2\bin\scripts] 2008-10-03 17:21:24,652 ERROR [SoapUI] An error occured [startup failed, D:\Program Files\eviware\soapUI-Pro-2.0.2\bin\scripts\DemoRequestFilter.groovy: 10: Can't have an abstract method in a non-abstract class. The class 'soapui.demo.DemoRequestFilter' must be declared abstract or the method 'void filterRequest(com.eviware.soapui.model.iface.SubmitContext, com.eviware.soapui.impl.wsdl.WsdlRequest)' must be implemented. @ line 10, column 8. public class DemoRequestFilter implements RequestFilter ^ 1 error ], see error log for details 2008-10-03 17:21:24,654 ERROR [errorlog] org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed, D:\Program Files\eviware\soapUI-Pro-2.0.2\bin\scripts\DemoRequestFilter.groovy: 10: Can't have an abstract method in a non-abstract class. The class 'soapui.demo.DemoRequestFilter' must be declared abstract or the method 'void filterRequest(com.eviware.soapui.model.iface.SubmitContext, com.eviware.soapui.impl.wsdl.WsdlRequest)' must be implemented. @ line 10, column 8. public class DemoRequestFilter implements RequestFilter ^ 1 error org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed, D:\Program Files\eviware\soapUI-Pro-2.0.2\bin\scripts\DemoRequestFilter.groovy: 10: Can't have an abstract method in a non-abstract class. The class 'soapui.demo.DemoRequestFilter' must be declared abstract or the method 'void filterRequest(com.eviware.soapui.model.iface.SubmitContext, com.eviware.soapui.impl.wsdl.WsdlRequest)' must be implemented. @ line 10, column 8. public class DemoRequestFilter implements RequestFilter ^ 1 error at org.codehaus.groovy.control.ErrorCollector.failIfErrors(ErrorCollector.java:296) at org.codehaus.groovy.control.CompilationUnit.applyToPrimaryClassNodes(CompilationUnit.java:912) at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:436) at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:271) at com.eviware.soapui.support.scripting.groovy.SoapUIGroovyClassLoader.syncExternalClasses(SourceFile:112) at com.eviware.soapui.support.scripting.groovy.SoapUIGroovyClassLoader. (SourceFile:40) at com.eviware.soapui.support.scripting.groovy.SoapUIProGroovyScriptEngineFactory. (SourceFile:24) at com.eviware.soapui.SoapUIPro$SoapUIProCore.getExtensionClassLoader(SourceFile:518) at com.eviware.soapui.DefaultSoapUICore.init(DefaultSoapUICore.java:84) at com.eviware.soapui.SoapUIPro$SoapUIProCore. (SourceFile:510) at com.eviware.soapui.SoapUIPro.a(SourceFile:151) at com.eviware.soapui.SoapUIPro.main(SourceFile:130) 2008-10-03 17:21:24,698 INFO [SoapUIProGroovyScriptEngineFactory] 5 classes loaded 2008-10-03 17:21:24,700 INFO [DefaultSoapUICore] Adding listeners from [D:\Program Files\eviware\soapUI-Pro-2.0.2\bin\listeners\demo-listeners.xml] 2008-10-03 17:21:24,713 INFO [DefaultSoapUICore] Adding listener [class com.eviware.soapui.support.scripting.listeners.ScriptRequestFilter] 2008-10-03 17:21:25,383 INFO [WorkspaceImpl] Loading workspace from [D:\Users\Desmond\default-soapui-workspace.xml] 2008-10-03 17:21:26,269 INFO [WsdlProject] Loaded project from [file:/F:/%23%23%23%20Connection%20Data/Testing/TimeSlices/QA%20Supplied/Product%20Timeslice%20Group_GenericUnitType_Inventory-soapui-project.xml] 2008-10-03 17:21:28,469 INFO [DefaultSoapUICore] Adding actions from [D:\Program Files\eviware\soapUI-Pro-2.0.2\bin\actions\demo-actions.xml] Now the error log 2008-10-03 17:21:24,654 ERROR [errorlog] org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed, D:\Program Files\eviware\soapUI-Pro-2.0.2\bin\scripts\DemoRequestFilter.groovy: 10: Can't have an abstract method in a non-abstract class. The class 'soapui.demo.DemoRequestFilter' must be declared abstract or the method 'void filterRequest(com.eviware.soapui.model.iface.SubmitContext, com.eviware.soapui.impl.wsdl.WsdlRequest)' must be implemented. @ line 10, column 8. public class DemoRequestFilter implements RequestFilter ^ 1 error org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed, D:\Program Files\eviware\soapUI-Pro-2.0.2\bin\scripts\DemoRequestFilter.groovy: 10: Can't have an abstract method in a non-abstract class. The class 'soapui.demo.DemoRequestFilter' must be declared abstract or the method 'void filterRequest(com.eviware.soapui.model.iface.SubmitContext, com.eviware.soapui.impl.wsdl.WsdlRequest)' must be implemented. @ line 10, column 8. public class DemoRequestFilter implements RequestFilter ^ 1 error at org.codehaus.groovy.control.ErrorCollector.failIfErrors(ErrorCollector.java:296) at org.codehaus.groovy.control.CompilationUnit.applyToPrimaryClassNodes(CompilationUnit.java:912) at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:436) at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:271) at com.eviware.soapui.support.scripting.groovy.SoapUIGroovyClassLoader.syncExternalClasses(SourceFile:112) at com.eviware.soapui.support.scripting.groovy.SoapUIGroovyClassLoader. (SourceFile:40) at com.eviware.soapui.support.scripting.groovy.SoapUIProGroovyScriptEngineFactory. (SourceFile:24) at com.eviware.soapui.SoapUIPro$SoapUIProCore.getExtensionClassLoader(SourceFile:518) at com.eviware.soapui.DefaultSoapUICore.init(DefaultSoapUICore.java:84) at com.eviware.soapui.SoapUIPro$SoapUIProCore. (SourceFile:510) at com.eviware.soapui.SoapUIPro.a(SourceFile:151) at com.eviware.soapui.SoapUIPro.main(SourceFile:130)2.2KViews0likes0CommentsRe: Interpreting Spaces as against null in String input
Just noticed in the SoapUI Erro log 2008-10-02 19:24:00,816 ERROR [errorlog] java.lang.ClassNotFoundException: soapui.demo.DemoRequestFilter java.lang.ClassNotFoundException: soapui.demo.DemoRequestFilter at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClassInternal(Unknown Source) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at com.eviware.soapui.support.scripting.listeners.AbstractScriptListener.syncClass(SourceFile:32) at com.eviware.soapui.support.scripting.listeners.ScriptRequestFilter.afterRequest(SourceFile:19) at com.eviware.soapui.impl.wsdl.submit.transports.http.HttpClientRequestTransport.sendRequest(HttpClientRequestTransport.java:170) at com.eviware.soapui.impl.wsdl.WsdlSubmit.run(WsdlSubmit.java:118) at com.eviware.soapui.impl.wsdl.WsdlSubmit.submitRequest(WsdlSubmit.java:78) at com.eviware.soapui.impl.wsdl.WsdlRequest.submit(WsdlRequest.java:387) at com.eviware.soapui.impl.wsdl.teststeps.WsdlTestRequestStep.run(WsdlTestRequestStep.java:276) at com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.run(WsdlTestCaseRunner.java:185) at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source)2.2KViews0likes0CommentsRe: Interpreting Spaces as against null in String input
Hi OLe...sorry I didn't pick this reply up at the time... I implemented the two files...but nothing has been changed on the outgoing request..iy still has '--remove--'....do I need to specify something in the request to utilize them - I imagine at the Listener end first Cheers, Dezzz.2.2KViews0likes0CommentsRe: Creating Propertiues at the Project level...
OK...Many thabks OLe...much appreciated...Looks great... SO...all the way up the tree is as follows... testRunner.testCase.testSuite.project.setPropertyValue("FirstName", "Desmond" ) testRunner.testCase.testSuite.setPropertyValue( "LastName", "Cassidy") testRunner.testCase.setPropertyValue( "MiddleName", "Peter") Now to set it in a DIfferent Project or TestSUite or TestCase than the 'Tree' i am in... Cheers, Dezzz.1KViews0likes0CommentsCreating Propertiues at the Project level...
Hi, Apologies if this is covered in some other place...or more to the point - where in the Groovy Guid eare the basics of Property creation specified. I would like to dynamically create several named properties at either 1. The Project Level 2. The Suite Level (THere doesn;t seem to be the possiblility of creating Global Properties - not that I can see anyway). So, in One Groovy Script I would like something like... import java.text.*; SimpleDateFormat df1 = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat df2 = new SimpleDateFormat("HH:mm:ss.S"); String TodayPlus14 = df1.format( new Date() +14;) + "T" + df2.format( new Date() +14; ); String TodayPlus21 = df1.format( new Date() +21;) + "T" + df2.format( new Date() +21; ); ...and now create (and I guess a check to see if the property is already defined - as in a Re-Reun!) and load properties like TodayPlus14, TodayPlus21 (OK..the ame name but doesn;t have to be !). ...into either the Project , Test Suite or indeed Global level... Not being a java programmer...all this seems a little obtuse to me... Any help appreciated... Cheers, Dezzz.4KViews0likes7Comments