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
