On 20/06/2008, Khan Navaz <[EMAIL PROTECTED]> wrote:
> *BeanShell:*
> String file =
> Path+"/data/abcService/common/deep_foldered_images_in_zip.zip";
> byte[] byteArray;
> byte[] byteString;
>
> try {
> byteArray = IOUtils.toByteArray(new FileInputStream(file));
> } catch (IOException e){
> e.printStackTrace();
> }
>
> vars.putObject("byteString",byteArray);
>
> *SOAP Request:*
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:sec="http://schemas.xmlsoap.org/ws/2002/07/secext">
> <soapenv:Header>
> .........
> </soapenv:Header>
> <soapenv:Body>
> <add>
> <binaryData><![CDATA[${byteString}]]></binaryData>
Variable references can only be strings.
You'll need to use a beanshell function to recover the data:
vars.getObject("byteString")
> </add>
> </soapenv:Body>
> </soapenv:Envelope>
>
> *C:\home\y\logs\jmeter\jmeter.log*
> 2008/06/19 15:34:13 ERROR - jmeter.threads.JMeterThread:
> java.lang.ClassCastException: [B cannot be cast to java.lang.String
> at org.apache.jmeter.threads.JMeterVariables.get(JMeterVariables.java:98)
> at
> org.apache.jmeter.engine.util.SimpleVariable.toString(SimpleVariable.java:53)
> at
>
> org.apache.jmeter.engine.util.CompoundVariable.execute(CompoundVariable.java:133)
> at
>
> org.apache.jmeter.engine.util.CompoundVariable.execute(CompoundVariable.java:97)
> at
>
> org.apache.jmeter.testelement.property.FunctionProperty.getStringValue(FunctionProperty.java:85)
> at
>
> org.apache.jmeter.testelement.AbstractTestElement.getPropertyAsString(AbstractTestElement.java:200)
> at
>
> org.apache.jmeter.protocol.http.sampler.SoapSampler.getXmlData(SoapSampler.java:66)
> at
>
> org.apache.jmeter.protocol.http.sampler.SoapSampler$2.getContentLength(SoapSampler.java:202)
> at org.apache.commons.httpclient.methods.EntityEnclosingMethod.getRequestC
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]