If someone give an idea on this that would be great, since it is kind of
urgent.

Thanks

On Wed, Feb 1, 2012 at 11:13 PM, Nirodha Pramod <[email protected]> wrote:

> Hi,
>
> I have a scenario where I read the soap request from a file and I need to
> replace some variables in the soap request with the values in a CSV file.
> Since Jmeter does not support mapping CSV values to a soap request on a
> file I had to use a Beanshell preprocessor also. I have given the script
> below. Everything works perfect except that the ---
> soapSampler.setXmlData(soapRequest); ---- line at the bottom. I was
> debugging the script with a print() line after each line and I found out
> that the soap request mapped with the values in the CSV corresponding to
> each thread, but the problem is the new soap requst does not get attached
> the sampler, before it is sent. It sends the raw request in the file,
> instead.  Please have a look, Have I done anything wrong?
>
>
> import org.apache.jmeter.protocol.http.sampler.SoapSampler;
> import java.io.*;
>
> String paramString = props.getProperty("csvread.variabes");
> String []arr = paramString.split(",");
> ArrayList params= new ArrayList(Arrays.asList(arr));
> vars.putObject("paramsArr", params);
>
>
>
> SoapSampler soapSampler = (SoapSampler) sampler;
> BufferedReader xmlReader = new BufferedReader(new InputStreamReader(new
> FileInputStream(soapSampler.getXmlFile()),
> java.nio.charset.Charset.forName("UTF-8")));
> StringBuffer xmlData = new StringBuffer();
> String line;
> while( (line = xmlReader.readLine()) != null) {
> xmlData.append(line).append('\n'); }
> String soapRequest = xmlData.toString();
> ArrayList parameters = vars.getObject("paramsArr");
>
> for(int i=0; i < parameters.size(); i++)
> {
>     soapRequest = soapRequest.replaceFirst("#" + parameters.get(i) + "#" ,
> vars.get(parameters.get(i)) );
>  }
> //print("XML set: " + soapRequest);
> *soapSampler.setXmlData(soapRequest);*
> print("XML set: " + soapSampler.getXMLdata());
>
>
> --
> *Nirodha Gallage*
> Software Engineer, QA.
> WSO2 Inc.: http://wso2.com/
> Email: [email protected]   Mobile: +94716429078
>
>


-- 
*Nirodha Gallage*
Software Engineer, QA.
WSO2 Inc.: http://wso2.com/
Email: [email protected]   Mobile: +94716429078

Reply via email to