Search code examples
xmlcsvsoapjmeterbeanshell

JMeter - Remove empty elements in SOAP request


I am using CSV Data Set Config to fill SOAP/XML variables to request in JMeter. My problem is, when some variables are empty, then i get error on validation caused by this so I need to get rid of those.

There is very similar topic, well described (Jmeter remove empty strings at a SOAP/xml reqeust), unfortunately the solution is not working for me, iam getting:

meter.util.BeanShellInterpreter: Error invoking bsh method: eval Sourced file: inline evaluation of: ``String data = sampler.getXmlData(); data = data.replaceAll("",""); . . . '' : Typed variable declaration : Error in method invocation: Method getXmlData() not found in class'org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy'


Solution

  • The referenced answer assumed SOAP/XML-RPC Request, you're using HTTP Request so request data needs to be manipulated a little bit differently.

    Change the line:

    String data = sampler.getXmlData();
    

    to:

    String data = sampler.getArguments().getArgument(0).getValue();
    

    Again I encourage you to get yourself familiarised with How to Use BeanShell: JMeter's Favorite Built-in Component guide.