Forum Discussion
omatzura
18 years agoSuper Contributor
Hi Desmond,
ok, here goes (this is for soapUI Pro only):
The extension goes into a file called DemoRequestFilter.groovy in the soapUI Pro\bin\scripts folder:
As you can see the filter removes all elements containing "--remove--".
Put the following into a file called demo-listeners.xml in the bin\listeners folder:
Good Luck!
regards,
/Ole
eviware.com
ok, here goes (this is for soapUI Pro only):
The extension goes into a file called DemoRequestFilter.groovy in the soapUI Pro\bin\scripts folder:
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.model.iface.Request
import com.eviware.soapui.model.iface.Response
import com.eviware.soapui.model.iface.SubmitContext
public class DemoRequestFilter implements RequestFilter
{
public void afterRequest( SubmitContext context, Response response )
{}
public void filterRequest( SubmitContext context, Request 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--</(\\1)>", "" )
context.setProperty( BaseHttpRequestTransport.REQUEST_CONTENT, content )
}
}
}
As you can see the filter removes all elements containing "--remove--".
Put the following into a file called demo-listeners.xml in the bin\listeners folder:
<?xml version="1.0" encoding="UTF-8"?>
<tns:soapui-listeners xmlns:tns="http://eviware.com/soapui/config">
<tns:listener id="DemoRequestFilter"
listenerClass="com.eviware.soapui.support.scripting.listeners.ScriptRequestFilter"
groovyClass="soapui.demo.DemoRequestFilter"
listenerInterface="com.eviware.soapui.impl.wsdl.submit.RequestFilter"/>
</tns:soapui-listeners>
Good Luck!
regards,
/Ole
eviware.com